From 0e1d33272ea2888478cafa18a52d37964b68a7d1 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:40:54 +0200 Subject: [PATCH 001/186] chore: Update plugin `source-hackernews` version to v1.0.0 (#6592) Updates the `source-hackernews` plugin latest version to v1.0.0 --- website/versions/source-hackernews.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 website/versions/source-hackernews.json diff --git a/website/versions/source-hackernews.json b/website/versions/source-hackernews.json new file mode 100644 index 00000000000000..c57b2f202b3b31 --- /dev/null +++ b/website/versions/source-hackernews.json @@ -0,0 +1 @@ +{ "latest": "plugins-source-hackernews-v1.0.0" } From f064313d9bf084a40331a5c6d3b70e3b4cd81c62 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:43:45 +0200 Subject: [PATCH 002/186] chore: Update plugin `destination-bigquery` version to v2.0.4 (#6591) Updates the `destination-bigquery` plugin latest version to v2.0.4 --- website/versions/destination-bigquery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-bigquery.json b/website/versions/destination-bigquery.json index 7f9c32efcee065..2d2c5ce01c7cbb 100644 --- a/website/versions/destination-bigquery.json +++ b/website/versions/destination-bigquery.json @@ -1 +1 @@ -{ "latest": "plugins-destination-bigquery-v2.0.3" } +{ "latest": "plugins-destination-bigquery-v2.0.4" } From 0be2edb06013b2d71ca6ad88dd04631a5f932087 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:47:59 +0200 Subject: [PATCH 003/186] chore: Update plugin `source-gandi` version to v1.1.5 (#6593) Updates the `source-gandi` plugin latest version to v1.1.5 --- website/versions/source-gandi.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-gandi.json b/website/versions/source-gandi.json index 9b4ee30983c43c..174bf1949c8bab 100644 --- a/website/versions/source-gandi.json +++ b/website/versions/source-gandi.json @@ -1 +1 @@ -{ "latest": "plugins-source-gandi-v1.1.4" } +{ "latest": "plugins-source-gandi-v1.1.5" } From 78dfa5816679bc2dd85d3546d94212a10f11903d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:53:48 +0200 Subject: [PATCH 004/186] chore: Update plugin `source-terraform` version to v1.3.5 (#6595) Updates the `source-terraform` plugin latest version to v1.3.5 --- website/versions/source-terraform.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-terraform.json b/website/versions/source-terraform.json index ddebd115787f23..de1c41198205a5 100644 --- a/website/versions/source-terraform.json +++ b/website/versions/source-terraform.json @@ -1 +1 @@ -{ "latest": "plugins-source-terraform-v1.3.4" } +{ "latest": "plugins-source-terraform-v1.3.5" } From cde365ae3d9d0612eb6227ec42bcf76804478d9f Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:58:12 +0200 Subject: [PATCH 005/186] chore: Update plugin `source-pagerduty` version to v1.2.0 (#6596) Updates the `source-pagerduty` plugin latest version to v1.2.0 --- website/versions/source-pagerduty.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-pagerduty.json b/website/versions/source-pagerduty.json index cae4abaa83dc14..b8d19762772291 100644 --- a/website/versions/source-pagerduty.json +++ b/website/versions/source-pagerduty.json @@ -1 +1 @@ -{ "latest": "plugins-source-pagerduty-v1.1.2" } +{ "latest": "plugins-source-pagerduty-v1.2.0" } From d7c742679159e86c99fb27ab2e3e36b082586549 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:04:22 +0200 Subject: [PATCH 006/186] chore: Update plugin `source-okta` version to v2.1.0 (#6597) Updates the `source-okta` plugin latest version to v2.1.0 --- website/versions/source-okta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-okta.json b/website/versions/source-okta.json index 1111453bc18c41..55cb7852b5f403 100644 --- a/website/versions/source-okta.json +++ b/website/versions/source-okta.json @@ -1 +1 @@ -{ "latest": "plugins-source-okta-v2.0.2" } +{ "latest": "plugins-source-okta-v2.1.0" } From 23dd2fa2a01e1aa531ee0d155da5aa7ff5dbf2aa Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:12:20 +0200 Subject: [PATCH 007/186] chore(main): Release plugins-destination-kafka v1.0.1 (#6261) :robot: I have created a release *beep* *boop* --- ## [1.0.1](https://github.com/cloudquery/cloudquery/compare/plugins-destination-kafka-v1.0.0...plugins-destination-kafka-v1.0.1) (2023-01-10) ### Bug Fixes * **deps:** Update module github.com/cloudquery/filetypes to v1.0.1 ([#6264](https://github.com/cloudquery/cloudquery/issues/6264)) ([da3a1f0](https://github.com/cloudquery/cloudquery/commit/da3a1f0135370e3086bdaed357588955cb0094e8)) * **deps:** Update module github.com/cloudquery/filetypes to v1.0.2 ([#6340](https://github.com/cloudquery/cloudquery/issues/6340)) ([d0d867b](https://github.com/cloudquery/cloudquery/commit/d0d867b0cd6c8b2968133d62e99b3abc498e9a17)) * **deps:** Update module github.com/cloudquery/filetypes to v1.0.3 ([#6523](https://github.com/cloudquery/cloudquery/issues/6523)) ([5378f3b](https://github.com/cloudquery/cloudquery/commit/5378f3be6d9d0ee3eb899244e1c2800326477a53)) * **deps:** Update module github.com/cloudquery/filetypes to v1.0.4 ([#6565](https://github.com/cloudquery/cloudquery/issues/6565)) ([80c7c06](https://github.com/cloudquery/cloudquery/commit/80c7c069d2d078d2635707dfbb000221d788e354)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/thoas/go-funk to v0.9.3 ([#6259](https://github.com/cloudquery/cloudquery/issues/6259)) ([998e30f](https://github.com/cloudquery/cloudquery/commit/998e30f44bdc84a6ed23db25d7396c6ede75a839)) * **deps:** Update plugin-sdk to v1.21.0 for destinations ([#6419](https://github.com/cloudquery/cloudquery/issues/6419)) ([f3b989f](https://github.com/cloudquery/cloudquery/commit/f3b989f7cbe335481dc01ad2a56cf7eff48e01d5)) --- 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 | 5 +++-- plugins/destination/kafka/CHANGELOG.md | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 34ed6294d99860..b47617acca8d5b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -70,7 +70,8 @@ "plugins/destination/azblob+FILLER": "0.0.0", "plugins/destination/neo4j": "1.0.2", "plugins/destination/neo4j+FILLER": "0.0.0", - "plugins/destination/kafka": "1.0.0", + "plugins/destination/kafka": "1.0.1", "plugins/destination/kafka+FILLER": "0.0.0", - "plugins/source/hackernews": "1.0.0" + "plugins/source/hackernews": "1.0.0", + "plugins/source/hackernews+FILLER": "0.0.0" } diff --git a/plugins/destination/kafka/CHANGELOG.md b/plugins/destination/kafka/CHANGELOG.md index 42b63ccd9e22c8..cb22a95b9eeb11 100644 --- a/plugins/destination/kafka/CHANGELOG.md +++ b/plugins/destination/kafka/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [1.0.1](https://github.com/cloudquery/cloudquery/compare/plugins-destination-kafka-v1.0.0...plugins-destination-kafka-v1.0.1) (2023-01-10) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/filetypes to v1.0.1 ([#6264](https://github.com/cloudquery/cloudquery/issues/6264)) ([da3a1f0](https://github.com/cloudquery/cloudquery/commit/da3a1f0135370e3086bdaed357588955cb0094e8)) +* **deps:** Update module github.com/cloudquery/filetypes to v1.0.2 ([#6340](https://github.com/cloudquery/cloudquery/issues/6340)) ([d0d867b](https://github.com/cloudquery/cloudquery/commit/d0d867b0cd6c8b2968133d62e99b3abc498e9a17)) +* **deps:** Update module github.com/cloudquery/filetypes to v1.0.3 ([#6523](https://github.com/cloudquery/cloudquery/issues/6523)) ([5378f3b](https://github.com/cloudquery/cloudquery/commit/5378f3be6d9d0ee3eb899244e1c2800326477a53)) +* **deps:** Update module github.com/cloudquery/filetypes to v1.0.4 ([#6565](https://github.com/cloudquery/cloudquery/issues/6565)) ([80c7c06](https://github.com/cloudquery/cloudquery/commit/80c7c069d2d078d2635707dfbb000221d788e354)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/thoas/go-funk to v0.9.3 ([#6259](https://github.com/cloudquery/cloudquery/issues/6259)) ([998e30f](https://github.com/cloudquery/cloudquery/commit/998e30f44bdc84a6ed23db25d7396c6ede75a839)) +* **deps:** Update plugin-sdk to v1.21.0 for destinations ([#6419](https://github.com/cloudquery/cloudquery/issues/6419)) ([f3b989f](https://github.com/cloudquery/cloudquery/commit/f3b989f7cbe335481dc01ad2a56cf7eff48e01d5)) + ## 1.0.0 (2023-01-02) From 43879defb550cbf7a11965bbaa4407bbf075f61b Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:18:23 +0200 Subject: [PATCH 008/186] chore(main): Release plugins-source-gcp v7.1.0 (#6598) :robot: I have created a release *beep* *boop* --- ## [7.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gcp-v7.0.0...plugins-source-gcp-v7.1.0) (2023-01-10) ### Features * **gcp-resources:** Add Workflows ([#6594](https://github.com/cloudquery/cloudquery/issues/6594)) ([bc16ee5](https://github.com/cloudquery/cloudquery/commit/bc16ee5dbef3e48f37028e881c003123442049f2)) --- 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/gcp/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b47617acca8d5b..2b44ff9eaf23e1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -9,7 +9,7 @@ "plugins/source/cloudflare+FILLER": "0.0.0", "plugins/source/digitalocean": "4.0.2", "plugins/source/digitalocean+FILLER": "0.0.0", - "plugins/source/gcp": "7.0.0", + "plugins/source/gcp": "7.1.0", "plugins/source/gcp+FILLER": "0.0.0", "plugins/source/github": "2.0.0", "plugins/source/github+FILLER": "0.0.0", diff --git a/plugins/source/gcp/CHANGELOG.md b/plugins/source/gcp/CHANGELOG.md index 70f6865dbde2c8..eb618ffe37cb28 100644 --- a/plugins/source/gcp/CHANGELOG.md +++ b/plugins/source/gcp/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this provider 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). +## [7.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gcp-v7.0.0...plugins-source-gcp-v7.1.0) (2023-01-10) + + +### Features + +* **gcp-resources:** Add Workflows ([#6594](https://github.com/cloudquery/cloudquery/issues/6594)) ([bc16ee5](https://github.com/cloudquery/cloudquery/commit/bc16ee5dbef3e48f37028e881c003123442049f2)) + ## [7.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gcp-v6.1.2...plugins-source-gcp-v7.0.0) (2023-01-10) From 6d1240e014164369b8c738aafb3690997c104a84 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:21:33 +0200 Subject: [PATCH 009/186] chore: Update plugin `destination-s3` version to v1.0.3 (#6599) Updates the `destination-s3` plugin latest version to v1.0.3 --- website/versions/destination-s3.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-s3.json b/website/versions/destination-s3.json index 6b914c2d14de3f..338520829e542b 100644 --- a/website/versions/destination-s3.json +++ b/website/versions/destination-s3.json @@ -1 +1 @@ -{ "latest": "plugins-destination-s3-v1.0.2" } +{ "latest": "plugins-destination-s3-v1.0.3" } From 9ce2ac2bad0a2567c0387ee85f8af4af11329f86 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:25:23 +0200 Subject: [PATCH 010/186] chore: Update plugin `destination-gcs` version to v1.0.3 (#6601) Updates the `destination-gcs` plugin latest version to v1.0.3 --- website/versions/destination-gcs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-gcs.json b/website/versions/destination-gcs.json index f5228d548eea75..ba4394be9e7b20 100644 --- a/website/versions/destination-gcs.json +++ b/website/versions/destination-gcs.json @@ -1 +1 @@ -{ "latest": "plugins-destination-gcs-v1.0.2" } +{ "latest": "plugins-destination-gcs-v1.0.3" } From 07ef7a4675afb8a63d60ebca41da574c010d7192 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:29:14 +0200 Subject: [PATCH 011/186] chore: Update plugin `destination-file` version to v1.0.3 (#6602) Updates the `destination-file` plugin latest version to v1.0.3 --- website/versions/destination-file.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-file.json b/website/versions/destination-file.json index 132ff4585d56de..2511aa5265423f 100644 --- a/website/versions/destination-file.json +++ b/website/versions/destination-file.json @@ -1 +1 @@ -{ "latest": "plugins-destination-file-v1.0.2" } +{ "latest": "plugins-destination-file-v1.0.3" } From 3431e0832a4b5acb1413dadcfe4025fbbc4d2e54 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:32:42 +0200 Subject: [PATCH 012/186] chore: Update plugin `source-heroku` version to v3.1.5 (#6603) Updates the `source-heroku` plugin latest version to v3.1.5 --- website/versions/source-heroku.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-heroku.json b/website/versions/source-heroku.json index d2559b99216687..464f1b6565a5f2 100644 --- a/website/versions/source-heroku.json +++ b/website/versions/source-heroku.json @@ -1 +1 @@ -{ "latest": "plugins-source-heroku-v3.1.4" } +{ "latest": "plugins-source-heroku-v3.1.5" } From fb17cc5788de45b2db3a35cf1a54c294e671e0e2 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:38:25 +0200 Subject: [PATCH 013/186] chore: Update plugin `destination-azblob` version to v1.0.2 (#6604) Updates the `destination-azblob` plugin latest version to v1.0.2 --- website/versions/destination-azblob.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-azblob.json b/website/versions/destination-azblob.json index 1479994684f0f7..c12fe7ea09f195 100644 --- a/website/versions/destination-azblob.json +++ b/website/versions/destination-azblob.json @@ -1 +1 @@ -{ "latest": "plugins-destination-azblob-v1.0.1" } +{ "latest": "plugins-destination-azblob-v1.0.2" } From 194f6187de9e02efa37daba560aa5dcf67d24d3e Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:42:11 +0200 Subject: [PATCH 014/186] chore: Update plugin `destination-test` version to v1.3.14 (#6605) Updates the `destination-test` plugin latest version to v1.3.14 --- website/versions/destination-test.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-test.json b/website/versions/destination-test.json index 9deb828315a6f2..d00b02eb75f250 100644 --- a/website/versions/destination-test.json +++ b/website/versions/destination-test.json @@ -1 +1 @@ -{ "latest": "plugins-destination-test-v1.3.13" } +{ "latest": "plugins-destination-test-v1.3.14" } From 8843b163c4f7b93107ccbdcf2a6cfec1d9595cdc Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:46:31 +0200 Subject: [PATCH 015/186] chore: Update plugin `source-test` version to v1.3.28 (#6606) Updates the `source-test` plugin latest version to v1.3.28 --- website/versions/source-test.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-test.json b/website/versions/source-test.json index 04333f75134e46..7310c5d21b2f3d 100644 --- a/website/versions/source-test.json +++ b/website/versions/source-test.json @@ -1 +1 @@ -{ "latest": "plugins-source-test-v1.3.27" } +{ "latest": "plugins-source-test-v1.3.28" } From eaa5b5f92ebbd632316c2d7e1f7a03e59942bb46 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:51:54 +0200 Subject: [PATCH 016/186] chore(main): Release plugins-source-slack v1.1.0 (#6288) :robot: I have created a release *beep* *boop* --- ## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-slack-v1.0.2...plugins-source-slack-v1.1.0) (2023-01-10) ### Features * **slack:** Migrate codegen to transformations ([#6471](https://github.com/cloudquery/cloudquery/issues/6471)) ([5fb3f72](https://github.com/cloudquery/cloudquery/commit/5fb3f7218826378d9ee725e5f6339d5f5c385401)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) --- 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/slack/CHANGELOG.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2b44ff9eaf23e1..66807134360804 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -43,7 +43,7 @@ "plugins/source/tailscale+FILLER": "0.0.0", "plugins/source/vercel": "1.0.4", "plugins/source/vercel+FILLER": "0.0.0", - "plugins/source/slack": "1.0.2", + "plugins/source/slack": "1.1.0", "plugins/source/slack+FILLER": "0.0.0", "plugins/source/crowdstrike": "1.0.2", "plugins/source/crowdstrike+FILLER": "0.0.0", diff --git a/plugins/source/slack/CHANGELOG.md b/plugins/source/slack/CHANGELOG.md index 7115820e1a2fd3..f5fd49073ead31 100644 --- a/plugins/source/slack/CHANGELOG.md +++ b/plugins/source/slack/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-slack-v1.0.2...plugins-source-slack-v1.1.0) (2023-01-10) + + +### Features + +* **slack:** Migrate codegen to transformations ([#6471](https://github.com/cloudquery/cloudquery/issues/6471)) ([5fb3f72](https://github.com/cloudquery/cloudquery/commit/5fb3f7218826378d9ee725e5f6339d5f5c385401)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) + ## [1.0.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-slack-v1.0.1...plugins-source-slack-v1.0.2) (2023-01-03) From cf90da1465eed1adaa4418fd13601482593a0f70 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:55:15 +0200 Subject: [PATCH 017/186] chore(main): Release plugins-source-cloudflare v3.1.0 (#6292) :robot: I have created a release *beep* *boop* --- ## [3.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-cloudflare-v3.0.0...plugins-source-cloudflare-v3.1.0) (2023-01-10) ### Features * **cloudflare:** Remove codegen, move to transformation ([#6420](https://github.com/cloudquery/cloudquery/issues/6420)) ([881f5f3](https://github.com/cloudquery/cloudquery/commit/881f5f358d9ffe7cb4529d06b7782c101a259881)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) --- 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/cloudflare/CHANGELOG.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 66807134360804..04b5ec5d968970 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -5,7 +5,7 @@ "plugins/source/aws+FILLER": "0.0.0", "plugins/source/azure": "3.2.0", "plugins/source/azure+FILLER": "0.0.0", - "plugins/source/cloudflare": "3.0.0", + "plugins/source/cloudflare": "3.1.0", "plugins/source/cloudflare+FILLER": "0.0.0", "plugins/source/digitalocean": "4.0.2", "plugins/source/digitalocean+FILLER": "0.0.0", diff --git a/plugins/source/cloudflare/CHANGELOG.md b/plugins/source/cloudflare/CHANGELOG.md index 704e3bc404c731..926a248930d946 100644 --- a/plugins/source/cloudflare/CHANGELOG.md +++ b/plugins/source/cloudflare/CHANGELOG.md @@ -5,6 +5,25 @@ All notable changes to this provider 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). +## [3.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-cloudflare-v3.0.0...plugins-source-cloudflare-v3.1.0) (2023-01-10) + + +### Features + +* **cloudflare:** Remove codegen, move to transformation ([#6420](https://github.com/cloudquery/cloudquery/issues/6420)) ([881f5f3](https://github.com/cloudquery/cloudquery/commit/881f5f358d9ffe7cb4529d06b7782c101a259881)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) + ## [3.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-cloudflare-v2.3.3...plugins-source-cloudflare-v3.0.0) (2023-01-03) From ac04e7d997f76b21b67536ecacc867b73ce9b301 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 19:57:09 +0200 Subject: [PATCH 018/186] chore(main): Release plugins-source-crowdstrike v1.1.0 (#6286) :robot: I have created a release *beep* *boop* --- ## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-crowdstrike-v1.0.2...plugins-source-crowdstrike-v1.1.0) (2023-01-10) ### Features * **crowdstrike:** Migrate codegen to transformations ([#6423](https://github.com/cloudquery/cloudquery/issues/6423)) ([750cc6f](https://github.com/cloudquery/cloudquery/commit/750cc6f87e9627c2a4a654a6e33da33350743a30)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) --- 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/crowdstrike/CHANGELOG.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 04b5ec5d968970..164914f22fd293 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -45,7 +45,7 @@ "plugins/source/vercel+FILLER": "0.0.0", "plugins/source/slack": "1.1.0", "plugins/source/slack+FILLER": "0.0.0", - "plugins/source/crowdstrike": "1.0.2", + "plugins/source/crowdstrike": "1.1.0", "plugins/source/crowdstrike+FILLER": "0.0.0", "plugins/source/pagerduty": "1.2.0", "plugins/destination/mongodb": "1.0.4", diff --git a/plugins/source/crowdstrike/CHANGELOG.md b/plugins/source/crowdstrike/CHANGELOG.md index 2603acf5b853b7..fc49ae7c4009db 100644 --- a/plugins/source/crowdstrike/CHANGELOG.md +++ b/plugins/source/crowdstrike/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-crowdstrike-v1.0.2...plugins-source-crowdstrike-v1.1.0) (2023-01-10) + + +### Features + +* **crowdstrike:** Migrate codegen to transformations ([#6423](https://github.com/cloudquery/cloudquery/issues/6423)) ([750cc6f](https://github.com/cloudquery/cloudquery/commit/750cc6f87e9627c2a4a654a6e33da33350743a30)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) + ## [1.0.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-crowdstrike-v1.0.1...plugins-source-crowdstrike-v1.0.2) (2023-01-03) From 2b9499f5dd55667bc662295d958efb3e9ea3c901 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 20:00:35 +0200 Subject: [PATCH 019/186] chore(main): Release plugins-source-github v2.1.0 (#6293) :robot: I have created a release *beep* *boop* --- ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v2.0.0...plugins-source-github-v2.1.0) (2023-01-10) ### Features * **github:** Migrate codegen to transformations ([#6428](https://github.com/cloudquery/cloudquery/issues/6428)) ([71c84fc](https://github.com/cloudquery/cloudquery/commit/71c84fcee0ae1496f16d290b605bda81316f3087)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) --- 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 | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 164914f22fd293..aacf28bb58b15e 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": "7.1.0", "plugins/source/gcp+FILLER": "0.0.0", - "plugins/source/github": "2.0.0", + "plugins/source/github": "2.1.0", "plugins/source/github+FILLER": "0.0.0", "plugins/source/heroku": "3.1.5", "plugins/source/heroku+FILLER": "0.0.0", diff --git a/plugins/source/github/CHANGELOG.md b/plugins/source/github/CHANGELOG.md index 3b35f57180c213..2e31da6c4f2c2a 100644 --- a/plugins/source/github/CHANGELOG.md +++ b/plugins/source/github/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v2.0.0...plugins-source-github-v2.1.0) (2023-01-10) + + +### Features + +* **github:** Migrate codegen to transformations ([#6428](https://github.com/cloudquery/cloudquery/issues/6428)) ([71c84fc](https://github.com/cloudquery/cloudquery/commit/71c84fcee0ae1496f16d290b605bda81316f3087)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([#6553](https://github.com/cloudquery/cloudquery/issues/6553)) ([392b848](https://github.com/cloudquery/cloudquery/commit/392b848b3124f9cf28f6234fdb9a43d671069879)) + ## [2.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v1.4.2...plugins-source-github-v2.0.0) (2023-01-03) From d8d266f4a881e56b77783650fbae23c96e3d807c Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 20:08:10 +0200 Subject: [PATCH 020/186] chore: Update plugin `source-snyk` version to v1.1.0 (#6607) Updates the `source-snyk` plugin latest version to v1.1.0 --- website/versions/source-snyk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-snyk.json b/website/versions/source-snyk.json index 8668d8d7c26f1d..2d2506d59022bf 100644 --- a/website/versions/source-snyk.json +++ b/website/versions/source-snyk.json @@ -1 +1 @@ -{ "latest": "plugins-source-snyk-v1.0.1" } +{ "latest": "plugins-source-snyk-v1.1.0" } From 076f71c5c82d0d671b07cd468c8ad109cd4ae907 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 20:08:26 +0200 Subject: [PATCH 021/186] chore: Update CLI version to v2.1.0 (#6627) Updates the CLI latest version to v2.1.0 Co-authored-by: cq-bot --- 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 e22fbace607fe7..f482866b072936 100644 --- a/website/versions/cli.json +++ b/website/versions/cli.json @@ -1 +1 @@ -{ "latest": "cli-v2.0.31" } +{ "latest": "cli-v2.1.0" } From 7338225a382acf80dc0c6e5ce553b7fe6c5a2ad0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 20:12:16 +0200 Subject: [PATCH 022/186] chore(main): Release plugins-source-digitalocean v4.1.0 (#6291) :robot: I have created a release *beep* *boop* --- ## [4.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-digitalocean-v4.0.2...plugins-source-digitalocean-v4.1.0) (2023-01-10) ### Features * **digitalocean:** Migrate codegen to transformations ([#6425](https://github.com/cloudquery/cloudquery/issues/6425)) ([35f1f06](https://github.com/cloudquery/cloudquery/commit/35f1f06c0b794d1c5c0a6264ee81663e89cb6f15)) ### Bug Fixes * **deps:** Update module github.com/aws/aws-sdk-go-v2/config to v1.18.8 ([#6393](https://github.com/cloudquery/cloudquery/issues/6393)) ([ffba44f](https://github.com/cloudquery/cloudquery/commit/ffba44f1318eb401d2b7ce2fa91c155d8925d90d)) * **deps:** Update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.30.0 ([#6504](https://github.com/cloudquery/cloudquery/issues/6504)) ([0091d82](https://github.com/cloudquery/cloudquery/commit/0091d82fb507266d324cdeaf4a66347ee1531313)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **digitalocean:** Remove codegen, upgrade SDK ([#6569](https://github.com/cloudquery/cloudquery/issues/6569)) ([ec29565](https://github.com/cloudquery/cloudquery/commit/ec29565b50a72d38162949d6e01ddb8e7ab54d3b)) --- 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/digitalocean/CHANGELOG.md | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index aacf28bb58b15e..d953d850e4716a 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -7,7 +7,7 @@ "plugins/source/azure+FILLER": "0.0.0", "plugins/source/cloudflare": "3.1.0", "plugins/source/cloudflare+FILLER": "0.0.0", - "plugins/source/digitalocean": "4.0.2", + "plugins/source/digitalocean": "4.1.0", "plugins/source/digitalocean+FILLER": "0.0.0", "plugins/source/gcp": "7.1.0", "plugins/source/gcp+FILLER": "0.0.0", diff --git a/plugins/source/digitalocean/CHANGELOG.md b/plugins/source/digitalocean/CHANGELOG.md index fd38edff3134ed..d9e6cbddff9272 100644 --- a/plugins/source/digitalocean/CHANGELOG.md +++ b/plugins/source/digitalocean/CHANGELOG.md @@ -5,6 +5,27 @@ All notable changes to this provider 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). +## [4.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-digitalocean-v4.0.2...plugins-source-digitalocean-v4.1.0) (2023-01-10) + + +### Features + +* **digitalocean:** Migrate codegen to transformations ([#6425](https://github.com/cloudquery/cloudquery/issues/6425)) ([35f1f06](https://github.com/cloudquery/cloudquery/commit/35f1f06c0b794d1c5c0a6264ee81663e89cb6f15)) + + +### Bug Fixes + +* **deps:** Update module github.com/aws/aws-sdk-go-v2/config to v1.18.8 ([#6393](https://github.com/cloudquery/cloudquery/issues/6393)) ([ffba44f](https://github.com/cloudquery/cloudquery/commit/ffba44f1318eb401d2b7ce2fa91c155d8925d90d)) +* **deps:** Update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.30.0 ([#6504](https://github.com/cloudquery/cloudquery/issues/6504)) ([0091d82](https://github.com/cloudquery/cloudquery/commit/0091d82fb507266d324cdeaf4a66347ee1531313)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **digitalocean:** Remove codegen, upgrade SDK ([#6569](https://github.com/cloudquery/cloudquery/issues/6569)) ([ec29565](https://github.com/cloudquery/cloudquery/commit/ec29565b50a72d38162949d6e01ddb8e7ab54d3b)) + ## [4.0.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-digitalocean-v4.0.1...plugins-source-digitalocean-v4.0.2) (2023-01-03) From 434fe4d15746277e903edd3ce5635fe2323ed413 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Tue, 10 Jan 2023 20:16:18 +0200 Subject: [PATCH 023/186] fix: Correct error message in migration (#6612) #### Summary Same as https://github.com/cloudquery/cloudquery/pull/6609 not from a fork. Fixes the wording in the error, also dropping the column should suffice 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/cmd/testdata/sync-missing-path-error.yml | 4 ++-- cli/cmd/testdata/sync-success.yml | 4 ++-- plugins/source/aws/test/policy_cq_config.yml | 2 +- plugins/source/aws/test/sanity.yml | 2 +- plugins/source/azure/test/policy_cq_config.yml | 2 +- plugins/source/gcp/test/policy_cq_config.yml | 2 +- plugins/source/k8s/test/policy_cq_config.yml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cli/cmd/testdata/sync-missing-path-error.yml b/cli/cmd/testdata/sync-missing-path-error.yml index 35284944224db9..1d29ad2c311188 100644 --- a/cli/cmd/testdata/sync-missing-path-error.yml +++ b/cli/cmd/testdata/sync-missing-path-error.yml @@ -3,9 +3,9 @@ spec: name: "test" path: "cloudquery/test" destinations: [test] - version: "v1.3.27" # latest version of source test plugin + version: "v1.3.28" # latest version of source test plugin --- kind: "destination" spec: name: "test" - version: "v1.3.13" # latest version of destination test plugin + version: "v1.3.14" # latest version of destination test plugin diff --git a/cli/cmd/testdata/sync-success.yml b/cli/cmd/testdata/sync-success.yml index 928503da309e33..9e33a7f136dba7 100644 --- a/cli/cmd/testdata/sync-success.yml +++ b/cli/cmd/testdata/sync-success.yml @@ -3,10 +3,10 @@ spec: name: "test" path: "cloudquery/test" destinations: [test] - version: "v1.3.27" # latest version of source test plugin + version: "v1.3.28" # latest version of source test plugin --- kind: "destination" spec: name: "test" path: "cloudquery/test" - version: "v1.3.13" # latest version of destination test plugin + version: "v1.3.14" # latest version of destination test plugin diff --git a/plugins/source/aws/test/policy_cq_config.yml b/plugins/source/aws/test/policy_cq_config.yml index df64583a2dda3c..3a26bf56b31e64 100644 --- a/plugins/source/aws/test/policy_cq_config.yml +++ b/plugins/source/aws/test/policy_cq_config.yml @@ -10,6 +10,6 @@ kind: destination spec: name: postgresql path: cloudquery/postgresql - version: "v2.0.4" # latest version of postgresql plugin + version: "v2.0.5" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file diff --git a/plugins/source/aws/test/sanity.yml b/plugins/source/aws/test/sanity.yml index b768beacd14b52..9ad1b0e298bb1c 100644 --- a/plugins/source/aws/test/sanity.yml +++ b/plugins/source/aws/test/sanity.yml @@ -10,4 +10,4 @@ kind: destination spec: name: sqlite path: cloudquery/sqlite - version: "v1.1.3" # latest version of sqlite plugin \ No newline at end of file + version: "v1.1.4" # latest version of sqlite plugin \ No newline at end of file diff --git a/plugins/source/azure/test/policy_cq_config.yml b/plugins/source/azure/test/policy_cq_config.yml index 8ed7dba49b46f5..dcf926b20bbbd3 100644 --- a/plugins/source/azure/test/policy_cq_config.yml +++ b/plugins/source/azure/test/policy_cq_config.yml @@ -10,6 +10,6 @@ kind: destination spec: name: postgresql path: cloudquery/postgresql - version: "v2.0.4" # latest version of postgresql plugin + version: "v2.0.5" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file diff --git a/plugins/source/gcp/test/policy_cq_config.yml b/plugins/source/gcp/test/policy_cq_config.yml index d4992bece2eac1..2515c5c7289d02 100644 --- a/plugins/source/gcp/test/policy_cq_config.yml +++ b/plugins/source/gcp/test/policy_cq_config.yml @@ -10,6 +10,6 @@ kind: destination spec: name: postgresql path: cloudquery/postgresql - version: "v2.0.4" # latest version of postgresql plugin + version: "v2.0.5" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file diff --git a/plugins/source/k8s/test/policy_cq_config.yml b/plugins/source/k8s/test/policy_cq_config.yml index 2b72597a03cc77..db8b5846bde152 100644 --- a/plugins/source/k8s/test/policy_cq_config.yml +++ b/plugins/source/k8s/test/policy_cq_config.yml @@ -10,6 +10,6 @@ kind: destination spec: name: postgresql path: cloudquery/postgresql - version: "v2.0.4" # latest version of postgresql plugin + version: "v2.0.5" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file From f386496f1679dd1078ab1e2a6d291b19aaf414fb Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:02:52 +0200 Subject: [PATCH 034/186] chore: Update plugin `source-vercel` version to v1.0.4 (#6620) Updates the `source-vercel` plugin latest version to v1.0.4 --- website/versions/source-vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-vercel.json b/website/versions/source-vercel.json index 986de1115bbc62..81b1d108c4cace 100644 --- a/website/versions/source-vercel.json +++ b/website/versions/source-vercel.json @@ -1 +1 @@ -{ "latest": "plugins-source-vercel-v1.0.3" } +{ "latest": "plugins-source-vercel-v1.0.4" } From 9653b69518f32234f79beb06f886b5bd861f24de Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:06:23 +0200 Subject: [PATCH 035/186] chore: Update plugin `destination-snowflake` version to v1.1.5 (#6621) Updates the `destination-snowflake` plugin latest version to v1.1.5 --- website/versions/destination-snowflake.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-snowflake.json b/website/versions/destination-snowflake.json index 73e09754db6366..d8a373e62665cb 100644 --- a/website/versions/destination-snowflake.json +++ b/website/versions/destination-snowflake.json @@ -1 +1 @@ -{ "latest": "plugins-destination-snowflake-v1.1.4" } +{ "latest": "plugins-destination-snowflake-v1.1.5" } From e6b22051e486a5e753305f33eeee1ac352e2aab7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:10:44 +0200 Subject: [PATCH 036/186] chore: Update plugin `source-azuredevops` version to v1.1.0 (#6622) Updates the `source-azuredevops` plugin latest version to v1.1.0 --- website/versions/source-azuredevops.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-azuredevops.json b/website/versions/source-azuredevops.json index 4c194ca3569c9d..2fbf6e5e68c583 100644 --- a/website/versions/source-azuredevops.json +++ b/website/versions/source-azuredevops.json @@ -1 +1 @@ -{ "latest": "plugins-source-azuredevops-v1.0.1" } +{ "latest": "plugins-source-azuredevops-v1.1.0" } From 256e949d89dd778e98175c585ae23ea013fb082d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:13:53 +0200 Subject: [PATCH 037/186] chore: Update plugin `source-datadog` version to v1.1.0 (#6623) Updates the `source-datadog` plugin latest version to v1.1.0 --- website/versions/source-datadog.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-datadog.json b/website/versions/source-datadog.json index eef2cc31c2ed12..3856012ea97882 100644 --- a/website/versions/source-datadog.json +++ b/website/versions/source-datadog.json @@ -1 +1 @@ -{ "latest": "plugins-source-datadog-v1.0.5" } +{ "latest": "plugins-source-datadog-v1.1.0" } From af165cf9c92715022b64fa3ba277f03c509e6f0e Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:18:31 +0200 Subject: [PATCH 038/186] chore: Update plugin `source-azure` version to v3.2.0 (#6624) Updates the `source-azure` plugin latest version to v3.2.0 --- website/versions/source-azure.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-azure.json b/website/versions/source-azure.json index 14b9952a0c72e8..e82989e2fdba8a 100644 --- a/website/versions/source-azure.json +++ b/website/versions/source-azure.json @@ -1 +1 @@ -{ "latest": "plugins-source-azure-v3.1.0" } +{ "latest": "plugins-source-azure-v3.2.0" } From 0432b87a0a2054e295b0891c94660aff72b6f015 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:21:26 +0200 Subject: [PATCH 039/186] chore(main): Release plugins-source-gitlab v2.0.0 (#6616) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release *beep* *boop* --- ## [2.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v1.1.0...plugins-source-gitlab-v2.0.0) (2023-01-10) ### ⚠ BREAKING CHANGES * **deps:** `gitlab_users` columns `last_sign_in_ip, current_sign_in_ip` type changed from `IntArray` to `Inet` ### Features * **gitlab:** Migrate codegen to transformation ([#6429](https://github.com/cloudquery/cloudquery/issues/6429)) ([34d9f1f](https://github.com/cloudquery/cloudquery/commit/34d9f1fa6fb3d6eb0aeaa0a86ad2bfa5b8b08994)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([b821650](https://github.com/cloudquery/cloudquery/commit/b821650a9d4e97aa7eb8fa0fe210c835cea4146b)) --- 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 | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 11373b30940d6e..192b8a4261e3f3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -50,7 +50,7 @@ "plugins/source/pagerduty": "1.2.0", "plugins/destination/mongodb": "1.0.4", "plugins/destination/mongodb+FILLTER": "0.0.0", - "plugins/source/gitlab": "1.1.0", + "plugins/source/gitlab": "2.0.0", "plugins/source/gitlab+FILLER": "0.0.0", "plugins/source/azuredevops": "1.1.0", "plugins/source/azuredevops+FILLER": "0.0.0", diff --git a/plugins/source/gitlab/CHANGELOG.md b/plugins/source/gitlab/CHANGELOG.md index a1b2d862515d86..20ac3e3646c156 100644 --- a/plugins/source/gitlab/CHANGELOG.md +++ b/plugins/source/gitlab/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## [2.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v1.1.0...plugins-source-gitlab-v2.0.0) (2023-01-10) + + +### ⚠ BREAKING CHANGES + +* **deps:** `gitlab_users` columns `last_sign_in_ip, current_sign_in_ip` type changed from `IntArray` to `Inet` + +### Features + +* **gitlab:** Migrate codegen to transformation ([#6429](https://github.com/cloudquery/cloudquery/issues/6429)) ([34d9f1f](https://github.com/cloudquery/cloudquery/commit/34d9f1fa6fb3d6eb0aeaa0a86ad2bfa5b8b08994)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([b821650](https://github.com/cloudquery/cloudquery/commit/b821650a9d4e97aa7eb8fa0fe210c835cea4146b)) + ## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v1.0.1...plugins-source-gitlab-v1.1.0) (2023-01-03) From ca4ad7c8e93081e35aa07178cb0547e57c169507 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:30:46 +0200 Subject: [PATCH 040/186] chore(main): Release plugins-source-k8s v3.0.0 (#6615) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release *beep* *boop* --- ## [3.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v2.5.4...plugins-source-k8s-v3.0.0) (2023-01-10) ### ⚠ BREAKING CHANGES * **deps:** `k8s_certificates_signing_requests` columns `status_certificate, spec_request` type changed from `IntArray` to `ByteArray` ### Features * **k8s:** Migrate codegen to transformations ([#6493](https://github.com/cloudquery/cloudquery/issues/6493)) ([d766e56](https://github.com/cloudquery/cloudquery/commit/d766e56fb8519c378b0ba10cef734032796f9d4d)) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([d8f704e](https://github.com/cloudquery/cloudquery/commit/d8f704e86d51d2edecb66f48301c126a91e199c7)) * **k8s:** Fix a typo in source/k8s/views/resource.sql: cq_table -> _cq_table ([#6415](https://github.com/cloudquery/cloudquery/issues/6415)) ([0d1393c](https://github.com/cloudquery/cloudquery/commit/0d1393cd2c10ac3c9c2eb30779761e1454c94e50)) --- 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 | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 192b8a4261e3f3..68237b4edac5ef 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -15,7 +15,7 @@ "plugins/source/github+FILLER": "0.0.0", "plugins/source/heroku": "3.1.5", "plugins/source/heroku+FILLER": "0.0.0", - "plugins/source/k8s": "2.5.4", + "plugins/source/k8s": "3.0.0", "plugins/source/k8s+FILLER": "0.0.0", "plugins/source/okta": "2.1.0", "plugins/source/okta+FILLER": "0.0.0", diff --git a/plugins/source/k8s/CHANGELOG.md b/plugins/source/k8s/CHANGELOG.md index a95a1bf4ba9858..20c9e3b24813b0 100644 --- a/plugins/source/k8s/CHANGELOG.md +++ b/plugins/source/k8s/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## [3.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v2.5.4...plugins-source-k8s-v3.0.0) (2023-01-10) + + +### ⚠ BREAKING CHANGES + +* **deps:** `k8s_certificates_signing_requests` columns `status_certificate, spec_request` type changed from `IntArray` to `ByteArray` + +### Features + +* **k8s:** Migrate codegen to transformations ([#6493](https://github.com/cloudquery/cloudquery/issues/6493)) ([d766e56](https://github.com/cloudquery/cloudquery/commit/d766e56fb8519c378b0ba10cef734032796f9d4d)) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.17.2 ([#6260](https://github.com/cloudquery/cloudquery/issues/6260)) ([805972a](https://github.com/cloudquery/cloudquery/commit/805972aa67ce54e3358501c6b7ee5d85e5f65cac)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.18.0 ([#6339](https://github.com/cloudquery/cloudquery/issues/6339)) ([158365a](https://github.com/cloudquery/cloudquery/commit/158365a78dfa4389074f716a0f581f18fedc1080)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.19.0 ([#6363](https://github.com/cloudquery/cloudquery/issues/6363)) ([ae6967c](https://github.com/cloudquery/cloudquery/commit/ae6967c22002c554a083f444eb611ac3e6d2698f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.20.0 ([#6376](https://github.com/cloudquery/cloudquery/issues/6376)) ([d6187ec](https://github.com/cloudquery/cloudquery/commit/d6187ec584f13be4fe9362dd393385b19d386113)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.21.0 ([#6382](https://github.com/cloudquery/cloudquery/issues/6382)) ([5baea40](https://github.com/cloudquery/cloudquery/commit/5baea40d2aec4e807db839c928be2e037d572bef)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.22.0 ([#6516](https://github.com/cloudquery/cloudquery/issues/6516)) ([b7e4e73](https://github.com/cloudquery/cloudquery/commit/b7e4e737a5f4d8f254960426ea8ba555d8f9b944)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.23.0 ([#6522](https://github.com/cloudquery/cloudquery/issues/6522)) ([ce24f1d](https://github.com/cloudquery/cloudquery/commit/ce24f1d64394cbb5ab07dcaa4af66c53f77f700f)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.1 ([d8f704e](https://github.com/cloudquery/cloudquery/commit/d8f704e86d51d2edecb66f48301c126a91e199c7)) +* **k8s:** Fix a typo in source/k8s/views/resource.sql: cq_table -> _cq_table ([#6415](https://github.com/cloudquery/cloudquery/issues/6415)) ([0d1393c](https://github.com/cloudquery/cloudquery/commit/0d1393cd2c10ac3c9c2eb30779761e1454c94e50)) + ## [2.5.4](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v2.5.3...plugins-source-k8s-v2.5.4) (2023-01-03) From 3630acd7e3859a80c99937398a54bb6d4e55a983 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:32:54 +0200 Subject: [PATCH 041/186] chore: Update plugin `destination-kafka` version to v1.0.1 (#6633) Updates the `destination-kafka` plugin latest version to v1.0.1 --- website/versions/destination-kafka.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-kafka.json b/website/versions/destination-kafka.json index 2a9219c466e177..810c1dbdbb567f 100644 --- a/website/versions/destination-kafka.json +++ b/website/versions/destination-kafka.json @@ -1 +1 @@ -{ "latest": "plugins-destination-kafka-v1.0.0" } +{ "latest": "plugins-destination-kafka-v1.0.1" } From b4b6f20b79f0904216682ac490dfc951c044af02 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:37:17 +0200 Subject: [PATCH 042/186] chore: Update plugin `source-gcp` version to v7.1.0 (#6636) Updates the `source-gcp` plugin latest version to v7.1.0 --- website/versions/source-gcp.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-gcp.json b/website/versions/source-gcp.json index c911fb4af918e4..d8c7aaab6ed01a 100644 --- a/website/versions/source-gcp.json +++ b/website/versions/source-gcp.json @@ -1 +1 @@ -{ "latest": "plugins-source-gcp-v7.0.0" } +{ "latest": "plugins-source-gcp-v7.1.0" } From b32581f3c20f77ffdbf36bc0e93abc41ba222445 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:40:46 +0200 Subject: [PATCH 043/186] chore: Update plugin `source-slack` version to v1.1.0 (#6639) Updates the `source-slack` plugin latest version to v1.1.0 --- website/versions/source-slack.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-slack.json b/website/versions/source-slack.json index 83722049419d4f..e56f46c4a13eae 100644 --- a/website/versions/source-slack.json +++ b/website/versions/source-slack.json @@ -1 +1 @@ -{ "latest": "plugins-source-slack-v1.0.2" } +{ "latest": "plugins-source-slack-v1.1.0" } From 41707faba7cf0cb6b8bec88c4690ab74a60fb46a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:44:19 +0200 Subject: [PATCH 044/186] chore: Update plugin `source-cloudflare` version to v3.1.0 (#6640) Updates the `source-cloudflare` plugin latest version to v3.1.0 --- website/versions/source-cloudflare.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-cloudflare.json b/website/versions/source-cloudflare.json index 34578ab8e51a88..1e8c651e0cb33f 100644 --- a/website/versions/source-cloudflare.json +++ b/website/versions/source-cloudflare.json @@ -1 +1 @@ -{ "latest": "plugins-source-cloudflare-v3.0.0" } +{ "latest": "plugins-source-cloudflare-v3.1.0" } From e7f17f62aabb5c4ff65e5b809aade172cb6e98e0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:52:15 +0200 Subject: [PATCH 045/186] chore: Update plugin `source-crowdstrike` version to v1.1.0 (#6641) Updates the `source-crowdstrike` plugin latest version to v1.1.0 --- website/versions/source-crowdstrike.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-crowdstrike.json b/website/versions/source-crowdstrike.json index 0670ab888a2267..32bdd68f458030 100644 --- a/website/versions/source-crowdstrike.json +++ b/website/versions/source-crowdstrike.json @@ -1 +1 @@ -{ "latest": "plugins-source-crowdstrike-v1.0.2" } +{ "latest": "plugins-source-crowdstrike-v1.1.0" } From 466d0b2a94583db1052bf83766d50257d1cfcf5e Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 21:58:19 +0200 Subject: [PATCH 046/186] chore: Update plugin `source-github` version to v2.1.0 (#6642) Updates the `source-github` plugin latest version to v2.1.0 --- website/versions/source-github.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-github.json b/website/versions/source-github.json index cac161831590d8..f2676592f06002 100644 --- a/website/versions/source-github.json +++ b/website/versions/source-github.json @@ -1 +1 @@ -{ "latest": "plugins-source-github-v2.0.0" } +{ "latest": "plugins-source-github-v2.1.0" } From a109b25914d139bfcecc0ae06ec0761d5b7d18ce Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:02:44 +0200 Subject: [PATCH 047/186] chore(main): Release plugins-destination-snowflake v1.1.6 (#6646) :robot: I have created a release *beep* *boop* --- ## [1.1.6](https://github.com/cloudquery/cloudquery/compare/plugins-destination-snowflake-v1.1.5...plugins-destination-snowflake-v1.1.6) (2023-01-10) ### Bug Fixes * Correct error message in migration ([#6612](https://github.com/cloudquery/cloudquery/issues/6612)) ([434fe4d](https://github.com/cloudquery/cloudquery/commit/434fe4d15746277e903edd3ce5635fe2323ed413)) --- 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/snowflake/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 68237b4edac5ef..78f636738c6507 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -31,7 +31,7 @@ "plugins/destination/csv+FILLER": "0.0.0", "plugins/destination/sqlite": "1.1.4", "plugins/destination/sqlite+FILLER": "0.0.0", - "plugins/destination/snowflake": "1.1.5", + "plugins/destination/snowflake": "1.1.6", "plugins/destination/snowflake+FILLER": "0.0.0", "plugins/source/gandi": "1.1.5", "plugins/source/gandi+FILLER": "0.0.0", diff --git a/plugins/destination/snowflake/CHANGELOG.md b/plugins/destination/snowflake/CHANGELOG.md index a6f11fe8526611..1da5f49d9773b4 100644 --- a/plugins/destination/snowflake/CHANGELOG.md +++ b/plugins/destination/snowflake/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.1.6](https://github.com/cloudquery/cloudquery/compare/plugins-destination-snowflake-v1.1.5...plugins-destination-snowflake-v1.1.6) (2023-01-10) + + +### Bug Fixes + +* Correct error message in migration ([#6612](https://github.com/cloudquery/cloudquery/issues/6612)) ([434fe4d](https://github.com/cloudquery/cloudquery/commit/434fe4d15746277e903edd3ce5635fe2323ed413)) + ## [1.1.5](https://github.com/cloudquery/cloudquery/compare/plugins-destination-snowflake-v1.1.4...plugins-destination-snowflake-v1.1.5) (2023-01-10) From 1fcae6100d598620aa496e326ea207041a3dc0fd Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:07:47 +0200 Subject: [PATCH 048/186] chore(main): Release plugins-destination-sqlite v1.1.5 (#6647) :robot: I have created a release *beep* *boop* --- ## [1.1.5](https://github.com/cloudquery/cloudquery/compare/plugins-destination-sqlite-v1.1.4...plugins-destination-sqlite-v1.1.5) (2023-01-10) ### Bug Fixes * Correct error message in migration ([#6612](https://github.com/cloudquery/cloudquery/issues/6612)) ([434fe4d](https://github.com/cloudquery/cloudquery/commit/434fe4d15746277e903edd3ce5635fe2323ed413)) --- 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/sqlite/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 78f636738c6507..c7ef1895343d6f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -29,7 +29,7 @@ "plugins/destination/test+FILLER": "0.0.0", "plugins/destination/csv": "1.2.2", "plugins/destination/csv+FILLER": "0.0.0", - "plugins/destination/sqlite": "1.1.4", + "plugins/destination/sqlite": "1.1.5", "plugins/destination/sqlite+FILLER": "0.0.0", "plugins/destination/snowflake": "1.1.6", "plugins/destination/snowflake+FILLER": "0.0.0", diff --git a/plugins/destination/sqlite/CHANGELOG.md b/plugins/destination/sqlite/CHANGELOG.md index 6ba7403bf7123a..24bd7858d44d5c 100644 --- a/plugins/destination/sqlite/CHANGELOG.md +++ b/plugins/destination/sqlite/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.1.5](https://github.com/cloudquery/cloudquery/compare/plugins-destination-sqlite-v1.1.4...plugins-destination-sqlite-v1.1.5) (2023-01-10) + + +### Bug Fixes + +* Correct error message in migration ([#6612](https://github.com/cloudquery/cloudquery/issues/6612)) ([434fe4d](https://github.com/cloudquery/cloudquery/commit/434fe4d15746277e903edd3ce5635fe2323ed413)) + ## [1.1.4](https://github.com/cloudquery/cloudquery/compare/plugins-destination-sqlite-v1.1.3...plugins-destination-sqlite-v1.1.4) (2023-01-10) From fcb524e65352cba06e888900e40b017b569cf24f Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:13:35 +0200 Subject: [PATCH 049/186] chore(main): Release plugins-destination-bigquery v2.1.0 (#6648) :robot: I have created a release *beep* *boop* --- ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.0.4...plugins-destination-bigquery-v2.1.0) (2023-01-10) ### Features * **bigquery:** Add call to action to type change error message ([#6644](https://github.com/cloudquery/cloudquery/issues/6644)) ([9daa552](https://github.com/cloudquery/cloudquery/commit/9daa5522f07b300d63deaeca62b4eb710cb1d5a0)) * **bigquery:** Add table name to auto migrate error messages ([#6638](https://github.com/cloudquery/cloudquery/issues/6638)) ([e5edf0d](https://github.com/cloudquery/cloudquery/commit/e5edf0d284adbcce9c708977c417051c0da5f732)) --- 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/bigquery/CHANGELOG.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index c7ef1895343d6f..d20dabd8b88107 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -37,7 +37,7 @@ "plugins/source/gandi+FILLER": "0.0.0", "plugins/source/datadog": "1.1.0", "plugins/source/datadog+FILLER": "0.0.0", - "plugins/destination/bigquery": "2.0.4", + "plugins/destination/bigquery": "2.1.0", "plugins/destination/bigquery+FILLER": "0.0.0", "plugins/source/tailscale": "1.2.0", "plugins/source/tailscale+FILLER": "0.0.0", diff --git a/plugins/destination/bigquery/CHANGELOG.md b/plugins/destination/bigquery/CHANGELOG.md index 96236be825c144..e351d08e209b83 100644 --- a/plugins/destination/bigquery/CHANGELOG.md +++ b/plugins/destination/bigquery/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.0.4...plugins-destination-bigquery-v2.1.0) (2023-01-10) + + +### Features + +* **bigquery:** Add call to action to type change error message ([#6644](https://github.com/cloudquery/cloudquery/issues/6644)) ([9daa552](https://github.com/cloudquery/cloudquery/commit/9daa5522f07b300d63deaeca62b4eb710cb1d5a0)) +* **bigquery:** Add table name to auto migrate error messages ([#6638](https://github.com/cloudquery/cloudquery/issues/6638)) ([e5edf0d](https://github.com/cloudquery/cloudquery/commit/e5edf0d284adbcce9c708977c417051c0da5f732)) + ## [2.0.4](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.0.3...plugins-destination-bigquery-v2.0.4) (2023-01-10) From e87a3beaa64141e07a7b41a7a6e6c33a470bebb3 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:16:38 +0200 Subject: [PATCH 050/186] chore: Update plugin `source-salesforce` version to v1.0.2 (#6649) Updates the `source-salesforce` plugin latest version to v1.0.2 --- website/versions/source-salesforce.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-salesforce.json b/website/versions/source-salesforce.json index ec2199d728a8cd..983e9f97ef56a6 100644 --- a/website/versions/source-salesforce.json +++ b/website/versions/source-salesforce.json @@ -1 +1 @@ -{ "latest": "plugins-source-salesforce-v1.0.1" } +{ "latest": "plugins-source-salesforce-v1.0.2" } From 5be4c482419e3b4079446bc398cf27580bff8483 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:22:23 +0200 Subject: [PATCH 051/186] chore: Update plugin `source-tailscale` version to v1.2.0 (#6650) Updates the `source-tailscale` plugin latest version to v1.2.0 --- website/versions/source-tailscale.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-tailscale.json b/website/versions/source-tailscale.json index 263723052325e0..0d0d8a206437df 100644 --- a/website/versions/source-tailscale.json +++ b/website/versions/source-tailscale.json @@ -1 +1 @@ -{ "latest": "plugins-source-tailscale-v1.1.0" } +{ "latest": "plugins-source-tailscale-v1.2.0" } From c5a38d5cc37fe021bfd1e5dbf1c1388a09d9d946 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:28:04 +0200 Subject: [PATCH 052/186] chore: Update plugin `source-gitlab` version to v2.0.0 (#6651) Updates the `source-gitlab` plugin latest version to v2.0.0 --- website/versions/source-gitlab.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-gitlab.json b/website/versions/source-gitlab.json index f0bdc920fe5094..c5e7a94872edf0 100644 --- a/website/versions/source-gitlab.json +++ b/website/versions/source-gitlab.json @@ -1 +1 @@ -{ "latest": "plugins-source-gitlab-v1.1.0" } +{ "latest": "plugins-source-gitlab-v2.0.0" } From 6a53fa92f4e6b9097f5759384d07a513db1bdbbb Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:47:50 +0200 Subject: [PATCH 053/186] fix: Update endpoints (#6652) This PR was created by a scheduled workflow to sync endpoint changes --- plugins/source/aws/client/data/partition_service_region.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/source/aws/client/data/partition_service_region.json b/plugins/source/aws/client/data/partition_service_region.json index 6b4e86712b818a..ae168fbf0e490f 100644 --- a/plugins/source/aws/client/data/partition_service_region.json +++ b/plugins/source/aws/client/data/partition_service_region.json @@ -3297,10 +3297,8 @@ "regions": { "af-south-1": {}, "ap-east-1": {}, - "ap-northeast-1": {}, "ap-northeast-2": {}, "ap-northeast-3": {}, - "ap-south-1": {}, "ap-south-2": {}, "ap-southeast-1": {}, "ap-southeast-2": {}, @@ -5666,6 +5664,7 @@ }, "ssm-sap": { "regions": { + "ap-southeast-2": {}, "us-east-1": {} } }, From 2eb7cf47ebc3a7b18e89bd0dafc77c4d50bef61d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:50:19 +0200 Subject: [PATCH 054/186] chore: Update plugin `source-k8s` version to v3.0.0 (#6653) Updates the `source-k8s` plugin latest version to v3.0.0 --- website/versions/source-k8s.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-k8s.json b/website/versions/source-k8s.json index 87f704692bdce7..14777af8c86945 100644 --- a/website/versions/source-k8s.json +++ b/website/versions/source-k8s.json @@ -1 +1 @@ -{ "latest": "plugins-source-k8s-v2.5.4" } +{ "latest": "plugins-source-k8s-v3.0.0" } From 063d107d1cc3f7f311f7a2427e148693a9981300 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:54:32 +0200 Subject: [PATCH 055/186] chore: Update plugin `destination-snowflake` version to v1.1.6 (#6654) Updates the `destination-snowflake` plugin latest version to v1.1.6 --- website/versions/destination-snowflake.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-snowflake.json b/website/versions/destination-snowflake.json index d8a373e62665cb..ee2ace39734135 100644 --- a/website/versions/destination-snowflake.json +++ b/website/versions/destination-snowflake.json @@ -1 +1 @@ -{ "latest": "plugins-destination-snowflake-v1.1.5" } +{ "latest": "plugins-destination-snowflake-v1.1.6" } From 20360b737700e3bddc1bc90a2bbd9a4dd8ac6f4d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:58:04 +0200 Subject: [PATCH 056/186] chore: Update plugin `destination-sqlite` version to v1.1.5 (#6655) Updates the `destination-sqlite` plugin latest version to v1.1.5 --- website/versions/destination-sqlite.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-sqlite.json b/website/versions/destination-sqlite.json index 262bd1997e9839..6bd10ef8f5610b 100644 --- a/website/versions/destination-sqlite.json +++ b/website/versions/destination-sqlite.json @@ -1 +1 @@ -{ "latest": "plugins-destination-sqlite-v1.1.4" } +{ "latest": "plugins-destination-sqlite-v1.1.5" } From f0af563470f88b16d01d8cf731be9c1dcbe98c8a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 23:02:32 +0200 Subject: [PATCH 057/186] chore: Update plugin `destination-bigquery` version to v2.1.0 (#6656) Updates the `destination-bigquery` plugin latest version to v2.1.0 --- website/versions/destination-bigquery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/destination-bigquery.json b/website/versions/destination-bigquery.json index 2d2c5ce01c7cbb..772f80b4f0009d 100644 --- a/website/versions/destination-bigquery.json +++ b/website/versions/destination-bigquery.json @@ -1 +1 @@ -{ "latest": "plugins-destination-bigquery-v2.0.4" } +{ "latest": "plugins-destination-bigquery-v2.1.0" } From 0af54d80511d6e28e2405cfdd348f9268234b608 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 10 Jan 2023 23:21:30 +0200 Subject: [PATCH 058/186] chore(deps): Update dependency cloudquery/cloudquery to v1.1.5 (#6658) 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/cloudquery](https://togithub.com/cloudquery/cloudquery) | patch | `v1.1.4` -> `v1.1.5` | --- ### Release Notes
cloudquery/cloudquery ### [`v1.1.5`](https://togithub.com/cloudquery/cloudquery/releases/tag/plugins-destination-sqlite-v1.1.5) [Compare Source](https://togithub.com/cloudquery/cloudquery/compare/plugins-destination-sqlite-v1.1.4...plugins-destination-sqlite-v1.1.5) ##### Bug Fixes - Correct error message in migration ([#​6612](https://togithub.com/cloudquery/cloudquery/issues/6612)) ([434fe4d](https://togithub.com/cloudquery/cloudquery/commit/434fe4d15746277e903edd3ce5635fe2323ed413))
--- ### 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/aws/test/sanity.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/source/aws/test/sanity.yml b/plugins/source/aws/test/sanity.yml index 9ad1b0e298bb1c..7eddf9f002731f 100644 --- a/plugins/source/aws/test/sanity.yml +++ b/plugins/source/aws/test/sanity.yml @@ -10,4 +10,4 @@ kind: destination spec: name: sqlite path: cloudquery/sqlite - version: "v1.1.4" # latest version of sqlite plugin \ No newline at end of file + version: "v1.1.5" # latest version of sqlite plugin \ No newline at end of file From 5c3f93b024af1f89c752c49e3b9d661e21614329 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Wed, 11 Jan 2023 00:03:52 +0200 Subject: [PATCH 059/186] chore(gcp): Add missing changelog entry (#6637) #### Summary `v6.0.0` changelog is missing a breaking change entry. This fixes it and I also updated the [release](https://github.com/cloudquery/cloudquery/releases/tag/plugins-source-gcp-v6.0.0) #### Summary --- plugins/source/gcp/docs/tables/README.md | 4 ++ ...anner_scan_config_scan_run_crawled_urls.md | 23 ++++++ ...tyscanner_scan_config_scan_run_findings.md | 37 ++++++++++ ...ebsecurityscanner_scan_config_scan_runs.md | 34 +++++++++ .../gcp_websecurityscanner_scan_configs.md | 33 +++++++++ plugins/source/gcp/go.mod | 1 + plugins/source/gcp/go.sum | 2 + plugins/source/gcp/resources/plugin/tables.go | 2 + .../websecurityscanner/crawled_urls.go | 52 ++++++++++++++ .../websecurityscanner/crawled_urls_fetch.go | 37 ++++++++++ .../services/websecurityscanner/findings.go | 36 ++++++++++ .../websecurityscanner/findings_fetch.go | 66 +++++++++++++++++ .../websecurityscanner/scan_configs.go | 39 ++++++++++ .../websecurityscanner/scan_configs_fetch.go | 36 ++++++++++ .../scan_configs_mock_test.go | 71 +++++++++++++++++++ .../services/websecurityscanner/scan_runs.go | 41 +++++++++++ .../websecurityscanner/scan_runs_fetch.go | 37 ++++++++++ .../pages/docs/plugins/sources/gcp/tables.md | 4 ++ 18 files changed, 555 insertions(+) create mode 100644 plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md create mode 100644 plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md create mode 100644 plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md create mode 100644 plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/crawled_urls.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/crawled_urls_fetch.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/findings.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/findings_fetch.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/scan_configs.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/scan_configs_fetch.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/scan_configs_mock_test.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/scan_runs.go create mode 100644 plugins/source/gcp/resources/services/websecurityscanner/scan_runs_fetch.go diff --git a/plugins/source/gcp/docs/tables/README.md b/plugins/source/gcp/docs/tables/README.md index c298f41e3316d5..86d505cf5ea0b3 100644 --- a/plugins/source/gcp/docs/tables/README.md +++ b/plugins/source/gcp/docs/tables/README.md @@ -137,4 +137,8 @@ - [gcp_sql_users](gcp_sql_users.md) - [gcp_storage_buckets](gcp_storage_buckets.md) - [gcp_storage_bucket_policies](gcp_storage_bucket_policies.md) +- [gcp_websecurityscanner_scan_configs](gcp_websecurityscanner_scan_configs.md) + - [gcp_websecurityscanner_scan_config_scan_runs](gcp_websecurityscanner_scan_config_scan_runs.md) + - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) + - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) - [gcp_workflows_workflows](gcp_workflows_workflows.md) \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md new file mode 100644 index 00000000000000..58ce622239d2e9 --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md @@ -0,0 +1,23 @@ +# Table: gcp_websecurityscanner_scan_config_scan_run_crawled_urls + +https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns.crawledUrls/list#CrawledUrl + +The composite primary key for this table is (**project_id**, **scan_run_name**, **http_method**, **url**). + +## Relations + +This table depends on [gcp_websecurityscanner_scan_config_scan_runs](gcp_websecurityscanner_scan_config_scan_runs.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|scan_run_name (PK)|String| +|http_method (PK)|String| +|url (PK)|String| +|body|String| \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md new file mode 100644 index 00000000000000..a18c8b79231d56 --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md @@ -0,0 +1,37 @@ +# Table: gcp_websecurityscanner_scan_config_scan_run_findings + +https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns.findings + +The composite primary key for this table is (**project_id**, **name**). + +## Relations + +This table depends on [gcp_websecurityscanner_scan_config_scan_runs](gcp_websecurityscanner_scan_config_scan_runs.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|finding_type|String| +|severity|String| +|http_method|String| +|fuzzed_url|String| +|body|String| +|description|String| +|reproduction_url|String| +|frame_url|String| +|final_url|String| +|tracking_id|String| +|form|JSON| +|outdated_library|JSON| +|violating_resource|JSON| +|vulnerable_headers|JSON| +|vulnerable_parameters|JSON| +|xss|JSON| +|xxe|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md new file mode 100644 index 00000000000000..09e8ed367c4d72 --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md @@ -0,0 +1,34 @@ +# Table: gcp_websecurityscanner_scan_config_scan_runs + +https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns + +The composite primary key for this table is (**project_id**, **name**). + +## Relations + +This table depends on [gcp_websecurityscanner_scan_configs](gcp_websecurityscanner_scan_configs.md). + +The following tables depend on gcp_websecurityscanner_scan_config_scan_runs: + - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) + - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|execution_state|String| +|result_state|String| +|start_time|Timestamp| +|end_time|Timestamp| +|urls_crawled_count|Int| +|urls_tested_count|Int| +|has_vulnerabilities|Bool| +|progress_percent|Int| +|error_trace|JSON| +|warning_traces|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md new file mode 100644 index 00000000000000..48298f36227fcb --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md @@ -0,0 +1,33 @@ +# Table: gcp_websecurityscanner_scan_configs + +https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs#resource:-scanconfig + +The composite primary key for this table is (**project_id**, **name**). + +## Relations + +The following tables depend on gcp_websecurityscanner_scan_configs: + - [gcp_websecurityscanner_scan_config_scan_runs](gcp_websecurityscanner_scan_config_scan_runs.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|display_name|String| +|max_qps|Int| +|starting_urls|StringArray| +|authentication|JSON| +|user_agent|String| +|blacklist_patterns|StringArray| +|schedule|JSON| +|export_to_security_command_center|String| +|risk_level|String| +|managed_scan|Bool| +|static_ip_scan|Bool| +|ignore_http_status_errors|Bool| \ No newline at end of file diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index d43d1b6f7ae2f6..ce69697cec9161 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -34,6 +34,7 @@ require ( cloud.google.com/go/secretmanager v1.9.0 cloud.google.com/go/serviceusage v1.4.0 cloud.google.com/go/storage v1.28.0 + cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 github.com/cloudquery/plugin-sdk v1.24.1 github.com/golang/mock v1.6.0 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index dd12cad326df31..5436ed0fab3c3e 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -96,6 +96,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.28.0 h1:DLrIZ6xkeZX6K70fU/boWx5INJumt6f+nwwWSHXzzGY= cloud.google.com/go/storage v1.28.0/go.mod h1:qlgZML35PXA3zoEnIkiPLY4/TOkUleufRlu6qmcf7sI= +cloud.google.com/go/websecurityscanner v1.4.0 h1:y7yIFg/h/mO+5Y5aCOtVAnpGUOgqCH5rXQ2Oc8Oq2+g= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/workflows v1.9.0 h1:7Chpin9p50NTU8Tb7qk+I11U/IwVXmDhEoSsdccvInE= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= diff --git a/plugins/source/gcp/resources/plugin/tables.go b/plugins/source/gcp/resources/plugin/tables.go index 3dff93533becff..61e6704416adc5 100644 --- a/plugins/source/gcp/resources/plugin/tables.go +++ b/plugins/source/gcp/resources/plugin/tables.go @@ -35,6 +35,7 @@ import ( "github.com/cloudquery/plugins/source/gcp/resources/services/serviceusage" "github.com/cloudquery/plugins/source/gcp/resources/services/sql" "github.com/cloudquery/plugins/source/gcp/resources/services/storage" + "github.com/cloudquery/plugins/source/gcp/resources/services/websecurityscanner" "github.com/cloudquery/plugins/source/gcp/resources/services/workflows" ) @@ -129,6 +130,7 @@ func PluginAutoGeneratedTables() []*schema.Table { serviceusage.Services(), sql.Instances(), storage.Buckets(), + websecurityscanner.ScanConfigs(), workflows.Workflows(), } } diff --git a/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls.go b/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls.go new file mode 100644 index 00000000000000..1084e0f86c36c6 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls.go @@ -0,0 +1,52 @@ +package websecurityscanner + +import ( + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func CrawledUrls() *schema.Table { + return &schema.Table{ + Name: "gcp_websecurityscanner_scan_config_scan_run_crawled_urls", + Description: `https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns.crawledUrls/list#CrawledUrl`, + Resolver: fetchCrawledUrls, + Multiplex: client.ProjectMultiplexEnabledServices("websecurityscanner.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.CrawledUrl{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "scan_run_name", + Type: schema.TypeString, + Resolver: schema.ParentColumnResolver("name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "http_method", + Type: schema.TypeString, + Resolver: schema.PathResolver("HttpMethod"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "url", + Type: schema.TypeString, + Resolver: schema.PathResolver("Url"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls_fetch.go b/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls_fetch.go new file mode 100644 index 00000000000000..4fe63fd2f944ea --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/crawled_urls_fetch.go @@ -0,0 +1,37 @@ +package websecurityscanner + +import ( + "context" + + websecurityscanner "cloud.google.com/go/websecurityscanner/apiv1" + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchCrawledUrls(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + parentItem := parent.Item.(*pb.ScanRun) + + gcpClient, err := websecurityscanner.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListCrawledUrls(ctx, &pb.ListCrawledUrlsRequest{ + Parent: parentItem.Name, + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/findings.go b/plugins/source/gcp/resources/services/websecurityscanner/findings.go new file mode 100644 index 00000000000000..c241fb4e4f4981 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/findings.go @@ -0,0 +1,36 @@ +package websecurityscanner + +import ( + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func Findings() *schema.Table { + return &schema.Table{ + Name: "gcp_websecurityscanner_scan_config_scan_run_findings", + Description: `https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns.findings`, + Resolver: fetchFindings, + Multiplex: client.ProjectMultiplexEnabledServices("websecurityscanner.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.Finding{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/findings_fetch.go b/plugins/source/gcp/resources/services/websecurityscanner/findings_fetch.go new file mode 100644 index 00000000000000..406c7708c4a3c6 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/findings_fetch.go @@ -0,0 +1,66 @@ +package websecurityscanner + +import ( + "context" + "fmt" + + websecurityscanner "cloud.google.com/go/websecurityscanner/apiv1" + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" +) + +func fetchFindings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + parentItem := parent.Item.(*pb.ScanRun) + + gcpClient, err := websecurityscanner.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + findingTypes, err := getFindingTypes(ctx, gcpClient, parentItem.Name, c.CallOptions...) + if err != nil { + return err + } + + for _, findingType := range findingTypes { + it := gcpClient.ListFindings(ctx, &pb.ListFindingsRequest{ + Parent: parentItem.Name, + Filter: fmt.Sprintf(`"finding_type="%s"`, findingType), + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + } + + return nil +} + +func getFindingTypes(ctx context.Context, gcpClient *websecurityscanner.Client, parentId string, callOptions ...gax.CallOption) ([]string, error) { + response, err := gcpClient.ListFindingTypeStats(ctx, &pb.ListFindingTypeStatsRequest{ + Parent: parentId, + }, callOptions...) + + if err != nil { + return nil, err + } + + findingTypes := make([]string, len(response.FindingTypeStats)) + + for _, typestat := range response.FindingTypeStats { + findingTypes = append(findingTypes, typestat.FindingType) + } + + return findingTypes, nil +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/scan_configs.go b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs.go new file mode 100644 index 00000000000000..94fb70c5aa0bd6 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs.go @@ -0,0 +1,39 @@ +package websecurityscanner + +import ( + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func ScanConfigs() *schema.Table { + return &schema.Table{ + Name: "gcp_websecurityscanner_scan_configs", + Description: `https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs#resource:-scanconfig`, + Resolver: fetchScanConfigs, + Multiplex: client.ProjectMultiplexEnabledServices("websecurityscanner.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.ScanConfig{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + Relations: []*schema.Table{ + ScanRuns(), + }, + } +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_fetch.go b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_fetch.go new file mode 100644 index 00000000000000..024c3017b08849 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_fetch.go @@ -0,0 +1,36 @@ +package websecurityscanner + +import ( + "context" + + websecurityscanner "cloud.google.com/go/websecurityscanner/apiv1" + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchScanConfigs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + + gcpClient, err := websecurityscanner.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListScanConfigs(ctx, &pb.ListScanConfigsRequest{ + Parent: "projects/" + c.ProjectId, + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_mock_test.go b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_mock_test.go new file mode 100644 index 00000000000000..42bb653d37aac7 --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/scan_configs_mock_test.go @@ -0,0 +1,71 @@ +package websecurityscanner + +import ( + "context" + "fmt" + "testing" + + "github.com/cloudquery/plugin-sdk/faker" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/grpc" + + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" +) + +func createServer(gsrv *grpc.Server) error { + fakeServer := &fakeServer{} + pb.RegisterWebSecurityScannerServer(gsrv, fakeServer) + return nil +} + +type fakeServer struct { + pb.UnimplementedWebSecurityScannerServer +} + +func (*fakeServer) ListScanConfigs(context.Context, *pb.ListScanConfigsRequest) (*pb.ListScanConfigsResponse, error) { + resp := pb.ListScanConfigsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func (*fakeServer) ListFindings(context.Context, *pb.ListFindingsRequest) (*pb.ListFindingsResponse, error) { + resp := pb.ListFindingsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func (*fakeServer) ListScanRuns(context.Context, *pb.ListScanRunsRequest) (*pb.ListScanRunsResponse, error) { + resp := pb.ListScanRunsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func (*fakeServer) ListCrawledUrls(context.Context, *pb.ListCrawledUrlsRequest) (*pb.ListCrawledUrlsResponse, error) { + resp := pb.ListCrawledUrlsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func (*fakeServer) ListFindingTypeStats(context.Context, *pb.ListFindingTypeStatsRequest) (*pb.ListFindingTypeStatsResponse, error) { + resp := pb.ListFindingTypeStatsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + return &resp, nil +} + +func TestInstances(t *testing.T) { + client.MockTestGrpcHelper(t, ScanConfigs(), createServer, client.TestOptions{}) +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/scan_runs.go b/plugins/source/gcp/resources/services/websecurityscanner/scan_runs.go new file mode 100644 index 00000000000000..fd360c76eb86ac --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/scan_runs.go @@ -0,0 +1,41 @@ +package websecurityscanner + +import ( + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func ScanRuns() *schema.Table { + return &schema.Table{ + Name: "gcp_websecurityscanner_scan_config_scan_runs", + Description: `https://cloud.google.com/security-command-center/docs/reference/web-security-scanner/rest/v1/projects.scanConfigs.scanRuns`, + Resolver: fetchScanRuns, + Multiplex: client.ProjectMultiplexEnabledServices("websecurityscanner.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.ScanRun{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + + Relations: []*schema.Table{ + Findings(), + CrawledUrls(), + }, + } +} diff --git a/plugins/source/gcp/resources/services/websecurityscanner/scan_runs_fetch.go b/plugins/source/gcp/resources/services/websecurityscanner/scan_runs_fetch.go new file mode 100644 index 00000000000000..94862a90aee47a --- /dev/null +++ b/plugins/source/gcp/resources/services/websecurityscanner/scan_runs_fetch.go @@ -0,0 +1,37 @@ +package websecurityscanner + +import ( + "context" + + websecurityscanner "cloud.google.com/go/websecurityscanner/apiv1" + pb "cloud.google.com/go/websecurityscanner/apiv1/websecurityscannerpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchScanRuns(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + parentItem := parent.Item.(*pb.ScanConfig) + + gcpClient, err := websecurityscanner.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListScanRuns(ctx, &pb.ListScanRunsRequest{ + Parent: parentItem.Name, + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/website/pages/docs/plugins/sources/gcp/tables.md b/website/pages/docs/plugins/sources/gcp/tables.md index cc99c98422dd41..2b5de89cbd14c9 100644 --- a/website/pages/docs/plugins/sources/gcp/tables.md +++ b/website/pages/docs/plugins/sources/gcp/tables.md @@ -137,4 +137,8 @@ - [gcp_sql_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_sql_users.md) - [gcp_storage_buckets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_storage_buckets.md) - [gcp_storage_bucket_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_storage_bucket_policies.md) +- [gcp_websecurityscanner_scan_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md) + - [gcp_websecurityscanner_scan_config_scan_runs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md) + - [gcp_websecurityscanner_scan_config_scan_run_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md) + - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) - [gcp_workflows_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_workflows_workflows.md) \ No newline at end of file From b68dc350487194de6d5600663a147cca21123c82 Mon Sep 17 00:00:00 2001 From: bbernays Date: Wed, 11 Jan 2023 07:54:55 -0500 Subject: [PATCH 074/186] feat(aws): Add support for xray resource policy (#4833) #### Summary 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/azblob/go.mod | 2 +- plugins/destination/azblob/go.sum | 4 ++-- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 4 ++-- plugins/destination/gcs/go.mod | 2 +- plugins/destination/gcs/go.sum | 4 ++-- plugins/destination/kafka/go.mod | 2 +- plugins/destination/kafka/go.sum | 4 ++-- plugins/destination/s3/go.mod | 2 +- plugins/destination/s3/go.sum | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index d6450ef68800de..07e16cf82f2f67 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 - github.com/cloudquery/filetypes v1.0.4 + github.com/cloudquery/filetypes v1.0.5 github.com/cloudquery/plugin-sdk v1.24.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index d13ae563812baf..01a2cee82aeec7 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -50,8 +50,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.4 h1:m7yAXxwdKH3JgvXJHaylTZhjN22WfkPk+kY84MxK0bE= -github.com/cloudquery/filetypes v1.0.4/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= +github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= +github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 48fe7b259cb22c..496dfe12e1f4d1 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/file go 1.19 require ( - github.com/cloudquery/filetypes v1.0.4 + github.com/cloudquery/filetypes v1.0.5 github.com/cloudquery/plugin-sdk v1.24.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 6a349605e55322..971d2feac2a08d 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.4 h1:m7yAXxwdKH3JgvXJHaylTZhjN22WfkPk+kY84MxK0bE= -github.com/cloudquery/filetypes v1.0.4/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= +github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= +github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index d11f9d900e2981..3d8baf8e2ffae3 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 - github.com/cloudquery/filetypes v1.0.4 + github.com/cloudquery/filetypes v1.0.5 github.com/cloudquery/plugin-sdk v1.24.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 1b1d8a1b8123f8..9860b6fbbb9ef3 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -51,8 +51,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.4 h1:m7yAXxwdKH3JgvXJHaylTZhjN22WfkPk+kY84MxK0bE= -github.com/cloudquery/filetypes v1.0.4/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= +github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= +github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 300647da9d82fe..479baf164429c4 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 - github.com/cloudquery/filetypes v1.0.4 + github.com/cloudquery/filetypes v1.0.5 github.com/cloudquery/plugin-sdk v1.24.1 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index 4ea2548fb1add4..cbad739cca3149 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -43,8 +43,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.4 h1:m7yAXxwdKH3JgvXJHaylTZhjN22WfkPk+kY84MxK0bE= -github.com/cloudquery/filetypes v1.0.4/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= +github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= +github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 678b76f38ff3f9..836cea32459a6e 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 - github.com/cloudquery/filetypes v1.0.4 + github.com/cloudquery/filetypes v1.0.5 github.com/cloudquery/plugin-sdk v1.24.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index 1e04ef4f92334f..d61aaa29cad019 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.4 h1:m7yAXxwdKH3JgvXJHaylTZhjN22WfkPk+kY84MxK0bE= -github.com/cloudquery/filetypes v1.0.4/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= +github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= +github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= From fe6044022865be5bc02acfb69cd51b494def2877 Mon Sep 17 00:00:00 2001 From: bbernays Date: Wed, 11 Jan 2023 08:32:34 -0500 Subject: [PATCH 076/186] doc(gcp): Update Contributing Docs (#6047) #### Summary 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 | 4 ++-- plugins/destination/azblob/go.mod | 2 +- plugins/destination/azblob/go.sum | 4 ++-- plugins/destination/bigquery/go.mod | 2 +- plugins/destination/bigquery/go.sum | 4 ++-- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 4 ++-- plugins/destination/gcs/go.mod | 2 +- plugins/destination/gcs/go.sum | 4 ++-- plugins/destination/kafka/go.mod | 2 +- plugins/destination/kafka/go.sum | 4 ++-- plugins/destination/mongodb/go.mod | 2 +- plugins/destination/mongodb/go.sum | 4 ++-- plugins/destination/neo4j/go.mod | 2 +- plugins/destination/neo4j/go.sum | 4 ++-- plugins/destination/postgresql/go.mod | 2 +- plugins/destination/postgresql/go.sum | 4 ++-- plugins/destination/s3/go.mod | 2 +- plugins/destination/s3/go.sum | 4 ++-- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 ++-- plugins/destination/sqlite/go.mod | 2 +- plugins/destination/sqlite/go.sum | 4 ++-- plugins/destination/test/go.mod | 2 +- plugins/destination/test/go.sum | 4 ++-- plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- plugins/source/azure/go.mod | 2 +- plugins/source/azure/go.sum | 4 ++-- plugins/source/azuredevops/go.mod | 2 +- plugins/source/azuredevops/go.sum | 4 ++-- plugins/source/cloudflare/go.mod | 2 +- plugins/source/cloudflare/go.sum | 4 ++-- plugins/source/crowdstrike/go.mod | 2 +- plugins/source/crowdstrike/go.sum | 4 ++-- plugins/source/datadog/go.mod | 2 +- plugins/source/datadog/go.sum | 4 ++-- plugins/source/digitalocean/go.mod | 2 +- plugins/source/digitalocean/go.sum | 4 ++-- plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- plugins/source/gandi/go.mod | 2 +- plugins/source/gandi/go.sum | 4 ++-- plugins/source/gcp/go.mod | 2 +- plugins/source/gcp/go.sum | 4 ++-- plugins/source/github/go.mod | 2 +- plugins/source/github/go.sum | 4 ++-- plugins/source/gitlab/go.mod | 2 +- plugins/source/gitlab/go.sum | 4 ++-- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 ++-- plugins/source/heroku/go.mod | 2 +- plugins/source/heroku/go.sum | 4 ++-- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 6 ++---- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 4 ++-- plugins/source/pagerduty/go.mod | 2 +- plugins/source/pagerduty/go.sum | 4 ++-- plugins/source/salesforce/go.mod | 2 +- plugins/source/salesforce/go.sum | 4 ++-- plugins/source/shopify/go.mod | 2 +- plugins/source/shopify/go.sum | 4 ++-- plugins/source/slack/go.mod | 2 +- plugins/source/slack/go.sum | 4 ++-- plugins/source/snyk/go.mod | 2 +- plugins/source/snyk/go.sum | 4 ++-- plugins/source/tailscale/go.mod | 2 +- plugins/source/tailscale/go.sum | 4 ++-- plugins/source/terraform/go.mod | 2 +- plugins/source/terraform/go.sum | 4 ++-- plugins/source/test/go.mod | 2 +- plugins/source/test/go.sum | 4 ++-- plugins/source/vercel/go.mod | 2 +- plugins/source/vercel/go.sum | 4 ++-- 76 files changed, 114 insertions(+), 116 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index 934e5558a0e6a6..a5a85be4742588 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/cli go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/getsentry/sentry-go v0.16.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/cli/go.sum b/cli/go.sum index 5101cecbe8f9d1..13dba9b9f1d111 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -1,8 +1,8 @@ github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/avast/retry-go/v4 v4.3.1/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index 07e16cf82f2f67..b3893d22288010 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -6,7 +6,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index 01a2cee82aeec7..f20ee93c7d696d 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -52,8 +52,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index 56df802d879074..e74fb66fe45a8b 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/bigquery v1.44.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 golang.org/x/sync v0.1.0 google.golang.org/api v0.103.0 diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index 3daec12ea5a1ef..190a0ffeb565ba 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 496dfe12e1f4d1..06301f76c02896 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 971d2feac2a08d..0ec20c33cc6551 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index 3d8baf8e2ffae3..8e0d7085589bc8 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 9860b6fbbb9ef3..49151ac031a15a 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 479baf164429c4..ddd0061b2fb780 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index cbad739cca3149..729e8b3d0d99d6 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -45,8 +45,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index f64f1034db142e..64d64dc538a521 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mongodb go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 go.mongodb.org/mongo-driver v1.11.1 ) diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index 765f70f1ba9b6e..fb8a20ab54866b 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 6188024cd5f965..329e6ad06661f6 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/neo4j go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/neo4j/neo4j-go-driver/v5 v5.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index 3610166e3050fd..4d7af91eddf6ff 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index 76ef917de601c4..f040c78f561ba0 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/postgresql go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/jackc/pgx-zerolog v0.0.0-20220923130014-7856b90a65ae github.com/jackc/pgx/v5 v5.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index b5c694e67dac55..b64433ce7d01ac 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 836cea32459a6e..94c1aa24acaef5 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index d61aaa29cad019..03630e9f33c501 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -80,8 +80,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index bc27ced10839d6..3393b5db39bc31 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.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 github.com/snowflakedb/gosnowflake v1.6.16 ) diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index 783c6216e8f898..dd5115e63e13f0 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -103,8 +103,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index 5fd047ddac65b6..b81b1447785e9a 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/sqlite go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index 28a19c21fcea96..d06e98e659f5c8 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index 29525acca6f460..470c20541bf3e1 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index ce244f243952ec..a8db4ecdbe1b2a 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index d2ebcd10016c96..e32ed6da2a2f7d 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -99,7 +99,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.15.3 github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 09b763cd2049a3..55b4d506134895 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -272,8 +272,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azure/go.mod b/plugins/source/azure/go.mod index de9ab65a67ed05..7e8c583bda45fe 100644 --- a/plugins/source/azure/go.mod +++ b/plugins/source/azure/go.mod @@ -96,7 +96,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsesu/armwindowsesu v0.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads v0.2.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gorilla/mux v1.8.0 github.com/iancoleman/strcase v0.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azure/go.sum b/plugins/source/azure/go.sum index 6c5dfdce62dfe9..80d6920711c032 100644 --- a/plugins/source/azure/go.sum +++ b/plugins/source/azure/go.sum @@ -231,8 +231,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azuredevops/go.mod b/plugins/source/azuredevops/go.mod index defcdf63f2b8f3..753738f73a4d2f 100644 --- a/plugins/source/azuredevops/go.mod +++ b/plugins/source/azuredevops/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/azuredevops go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/microsoft/azure-devops-go-api/azuredevops/v6 v6.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azuredevops/go.sum b/plugins/source/azuredevops/go.sum index 943d76120fda32..3f5e80cddea27e 100644 --- a/plugins/source/azuredevops/go.sum +++ b/plugins/source/azuredevops/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index af61ddecb47c8d..790be9229380e6 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudflare/cloudflare-go v0.57.1 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/thoas/go-funk v0.9.3 diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index 19e3e0ffa696a2..9ed4044cf86bc6 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.57.1 h1:c9OhL/WusagBirP+CIJeCqS7OjT9kiWjtJv4lwxp3ZM= github.com/cloudflare/cloudflare-go v0.57.1/go.mod h1:cD8AqNMMaL1A0Sj9XKo3Xu9ZVHwHqgXJofb1ya210GQ= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/crowdstrike/go.mod b/plugins/source/crowdstrike/go.mod index 74b7a04e9c5da1..790f2c50fcb23d 100644 --- a/plugins/source/crowdstrike/go.mod +++ b/plugins/source/crowdstrike/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/crowdstrike go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/crowdstrike/gofalcon v0.2.32 github.com/go-openapi/runtime v0.25.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/crowdstrike/go.sum b/plugins/source/crowdstrike/go.sum index e5bebcf96dddcb..466218935132f1 100644 --- a/plugins/source/crowdstrike/go.sum +++ b/plugins/source/crowdstrike/go.sum @@ -74,8 +74,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index 78c4cae905ac6b..84f55c636b9f0e 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/DataDog/datadog-api-client-go/v2 v2.6.1 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index f7c960a3b35c78..4937293a5e60e3 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index b65fb16ec92e90..ce6b76471bb736 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/smithy-go v1.13.5 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/digitalocean/godo v1.93.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index d66332c5714615..dd50679701bf48 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -77,8 +77,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index ff363675b2c376..99cd5d28fe0b5b 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/codegen v0.1.1 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index 0190ce04d40bd5..0bf8b6b22db828 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.1.1 h1:zIPNMeNAlUdLwP4gpb8BsfOfAxyLYOBxBNSG+nZpSx4= github.com/cloudquery/codegen v0.1.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gandi/go.mod b/plugins/source/gandi/go.mod index dc2da48d6eb83f..1547c441a5c46f 100644 --- a/plugins/source/gandi/go.mod +++ b/plugins/source/gandi/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gandi go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/go-gandi/go-gandi v0.5.1-0.20221118201059-f69b292fa399 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/gandi/go.sum b/plugins/source/gandi/go.sum index 38406711ddbf35..014f02d90745ff 100644 --- a/plugins/source/gandi/go.sum +++ b/plugins/source/gandi/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index ce69697cec9161..e8d28cfd56358f 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -36,7 +36,7 @@ require ( cloud.google.com/go/storage v1.28.0 cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/googleapis/gax-go/v2 v2.7.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index 5436ed0fab3c3e..4147fbfc27a0de 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -114,8 +114,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index ad2db256fd5153..489f61a5090651 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/github go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/google/go-github/v48 v48.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index e4d34c7279aa68..c099f7e2720010 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index e3ada81485f7d2..195d653fe60ac6 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gitlab go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/xanzy/go-gitlab v0.74.0 diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index 57d4363f02625c..1f9ee28e79ee95 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index 15bf9021e21347..a403f9bc4a7e08 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/hackernews go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index eeaecac02066fa..78038fb21d4072 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/heroku/go.mod b/plugins/source/heroku/go.mod index a4cd381964d0f3..65e848177beb71 100644 --- a/plugins/source/heroku/go.mod +++ b/plugins/source/heroku/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/heroku go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/go-cmp v0.5.9 github.com/googleapis/gax-go/v2 v2.7.0 github.com/heroku/heroku-go/v5 v5.5.0 diff --git a/plugins/source/heroku/go.sum b/plugins/source/heroku/go.sum index 1849902cc09297..1322c0bf8e1b62 100644 --- a/plugins/source/heroku/go.sum +++ b/plugins/source/heroku/go.sum @@ -49,8 +49,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index d84a244704dd57..4793f1fb898c3d 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.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/google/gnostic v0.6.9 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index 8faa144bda1197..5ed4781bc19005 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -44,10 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.23.0 h1:pjgxQdozJ9fgD1v7r+d4YQR73bhC0t7fjT52C5HTpkg= -github.com/cloudquery/plugin-sdk v1.23.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index 4840689484e788..7892f196c6fe9b 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/okta go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gorilla/mux v1.8.0 github.com/okta/okta-sdk-golang/v3 v3.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 401f4b9b81085b..abedff47b76879 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index fe291f2e4724f5..02362c49c818e8 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/PagerDuty/go-pagerduty v1.6.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 gopkg.in/yaml.v3 v3.0.1 diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 55772e80b52e72..979cd2d3105c8b 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/salesforce/go.mod b/plugins/source/salesforce/go.mod index a38a4512976aa4..b49ee6d5641461 100644 --- a/plugins/source/salesforce/go.mod +++ b/plugins/source/salesforce/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/salesforce go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/salesforce/go.sum b/plugins/source/salesforce/go.sum index cce7dfdcbaab29..d6207d6b50446a 100644 --- a/plugins/source/salesforce/go.sum +++ b/plugins/source/salesforce/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/shopify/go.mod b/plugins/source/shopify/go.mod index 7a95bd603a789f..270b31ebf4eaec 100644 --- a/plugins/source/shopify/go.mod +++ b/plugins/source/shopify/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/shopify go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 golang.org/x/time v0.3.0 diff --git a/plugins/source/shopify/go.sum b/plugins/source/shopify/go.sum index febe033b98a4f4..f1f223beaad12e 100644 --- a/plugins/source/shopify/go.sum +++ b/plugins/source/shopify/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/slack/go.mod b/plugins/source/slack/go.mod index be52c01f443125..12f821f86b2a33 100644 --- a/plugins/source/slack/go.mod +++ b/plugins/source/slack/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/slack go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/slack-go/slack v0.12.1 diff --git a/plugins/source/slack/go.sum b/plugins/source/slack/go.sum index 7087514d9456ec..90b582cbf78230 100644 --- a/plugins/source/slack/go.sum +++ b/plugins/source/slack/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/snyk/go.mod b/plugins/source/snyk/go.mod index 405c41e75da82a..91a7a4360588c2 100644 --- a/plugins/source/snyk/go.mod +++ b/plugins/source/snyk/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/snyk go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/google/uuid v1.3.0 github.com/julienschmidt/httprouter v1.3.0 github.com/pavel-snyk/snyk-sdk-go v0.4.1 diff --git a/plugins/source/snyk/go.sum b/plugins/source/snyk/go.sum index cda9adc2bfb34b..b47ee615623595 100644 --- a/plugins/source/snyk/go.sum +++ b/plugins/source/snyk/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cloudquery/snyk-sdk-go v0.1.0 h1:lJ/3EhLwUAdcR/sukSA+EzAnRE1jRRxm8ewLESCNW5Q= github.com/cloudquery/snyk-sdk-go v0.1.0/go.mod h1:LRL1TRuuM925gnyGp54WtS9p8S4yJMd0oS4JpLg+n7Y= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/source/tailscale/go.mod b/plugins/source/tailscale/go.mod index bd8eed4fad92a2..b2ad2ff895d975 100644 --- a/plugins/source/tailscale/go.mod +++ b/plugins/source/tailscale/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/tailscale go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/tailscale/tailscale-client-go v1.8.0 diff --git a/plugins/source/tailscale/go.sum b/plugins/source/tailscale/go.sum index 681dfcc559a1b5..5ababe933044cc 100644 --- a/plugins/source/tailscale/go.sum +++ b/plugins/source/tailscale/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/terraform/go.mod b/plugins/source/terraform/go.mod index 5fce2a0ef27c13..f838705f1f0c17 100644 --- a/plugins/source/terraform/go.mod +++ b/plugins/source/terraform/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/terraform/go.sum b/plugins/source/terraform/go.sum index c590320f9d6c23..0b32bced4f1310 100644 --- a/plugins/source/terraform/go.sum +++ b/plugins/source/terraform/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index 239158731b29e6..1f01e3df7a1501 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index ce244f243952ec..a8db4ecdbe1b2a 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/vercel/go.mod b/plugins/source/vercel/go.mod index 9b8f7c48a2200d..a01c6fb1b10e86 100644 --- a/plugins/source/vercel/go.mod +++ b/plugins/source/vercel/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/vercel go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.1 + github.com/cloudquery/plugin-sdk v1.24.2 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/vercel/go.sum b/plugins/source/vercel/go.sum index 1d2f239d710f71..fca1c11045cbe3 100644 --- a/plugins/source/vercel/go.sum +++ b/plugins/source/vercel/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.1 h1:h5ZMsnkveav0Hl8M9GcA/19uaOItMRDpTOsx8SyKE3k= -github.com/cloudquery/plugin-sdk v1.24.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= +github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= From 5414deb295e6df5d9c7a9020ed111c439416d8ea Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Wed, 11 Jan 2023 18:17:05 +0200 Subject: [PATCH 088/186] chore(main): Release plugins-source-hackernews v1.1.1 (#6699) :robot: I have created a release *beep* *boop* --- ## [1.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v1.1.0...plugins-source-hackernews-v1.1.1) (2023-01-11) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) --- 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 | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4c7abaa36185d0..3ddbe8d320b56f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -73,6 +73,6 @@ "plugins/destination/neo4j+FILLER": "0.0.0", "plugins/destination/kafka": "1.0.2", "plugins/destination/kafka+FILLER": "0.0.0", - "plugins/source/hackernews": "1.1.0", + "plugins/source/hackernews": "1.1.1", "plugins/source/hackernews+FILLER": "0.0.0" } diff --git a/plugins/source/hackernews/CHANGELOG.md b/plugins/source/hackernews/CHANGELOG.md index 22951dd4bba6ed..27279d89a71159 100644 --- a/plugins/source/hackernews/CHANGELOG.md +++ b/plugins/source/hackernews/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v1.1.0...plugins-source-hackernews-v1.1.1) (2023-01-11) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) + ## [1.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v1.0.0...plugins-source-hackernews-v1.1.0) (2023-01-10) From 01a1e4c8d348c4411275b517790351aeaf8a645a Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Wed, 11 Jan 2023 16:28:08 +0000 Subject: [PATCH 089/186] feat: Log info message when namespace not registered for subscription (#6705) - Closes https://github.com/cloudquery/cloudquery/issues/6696 --- plugins/source/azure/client/client.go | 2 ++ plugins/source/azure/client/multiplexer.go | 8 +++++- plugins/source/azure/client/namespaces.go | 2 -- .../codegen0/internal/azparser/parser.go | 4 +++ plugins/source/azure/codegen0/main.go | 2 +- .../azure/codegen0/templates/list.go.tpl | 2 +- .../azure/codegen0/templates/recipe.go.tpl | 25 ------------------- plugins/source/azure/docs/tables/README.md | 2 +- .../source/azure/resources/plugin/plugin.go | 2 ++ .../source/azure/resources/plugin/tables.go | 2 -- .../advisor/recommendation_metadata.go | 2 +- .../services/advisor/recommendations.go | 2 +- .../services/advisor/suppressions.go | 2 +- .../services/analysisservices/servers.go | 2 +- .../services/apimanagement/service.go | 2 +- .../appcomplianceautomation/reports.go | 2 +- .../appconfiguration/configuration_stores.go | 2 +- .../applicationinsights/components.go | 2 +- .../services/applicationinsights/web_tests.go | 2 +- .../services/appservice/certificate_orders.go | 2 +- .../services/appservice/certificates.go | 2 +- .../services/appservice/deleted_web_apps.go | 2 +- .../resources/services/appservice/domains.go | 2 +- .../services/appservice/environments.go | 2 +- .../resources/services/appservice/plans.go | 2 +- .../services/appservice/recommendations.go | 2 +- .../appservice/resource_health_metadata.go | 2 +- .../services/appservice/static_sites.go | 2 +- .../services/appservice/top_level_domains.go | 2 +- .../resources/services/appservice/web_apps.go | 2 +- .../authorization/classic_administrators.go | 2 +- .../provider_operations_metadata.go | 2 +- .../authorization/role_assignments.go | 2 +- .../authorization/role_definitions.go | 2 +- .../resources/services/automation/account.go | 2 +- .../azurearcdata/postgres_instances.go | 2 +- .../azurearcdata/sql_managed_instances.go | 2 +- .../azurearcdata/sql_server_instances.go | 2 +- .../azuredata/sql_server_registrations.go | 2 +- .../azure/resources/services/batch/account.go | 2 +- .../resources/services/billing/accounts.go | 2 +- .../services/billing/enrollment_accounts.go | 2 +- .../resources/services/billing/periods.go | 2 +- .../resources/services/botservice/bots.go | 2 +- .../resources/services/cdn/edge_nodes.go | 2 +- .../services/cdn/managed_rule_sets.go | 2 +- .../azure/resources/services/cdn/profiles.go | 2 +- .../services/cognitiveservices/accounts.go | 2 +- .../cognitiveservices/deleted_accounts.go | 2 +- .../services/compute/cloud_services.go | 2 +- .../services/compute/disk_accesses.go | 2 +- .../services/compute/disk_encryption_sets.go | 2 +- .../azure/resources/services/compute/disks.go | 2 +- .../resources/services/compute/galleries.go | 2 +- .../resources/services/compute/images.go | 2 +- .../compute/restore_point_collections.go | 2 +- .../azure/resources/services/compute/skus.go | 2 +- .../resources/services/compute/snapshots.go | 2 +- .../compute/virtual_machine_scale_sets.go | 2 +- .../services/compute/virtual_machines.go | 2 +- .../confluent/marketplace_agreements.go | 2 +- .../services/connectedvmware/clusters.go | 2 +- .../services/connectedvmware/datastores.go | 2 +- .../services/connectedvmware/hosts.go | 2 +- .../connectedvmware/resource_pools.go | 2 +- .../services/connectedvmware/v_centers.go | 2 +- .../virtual_machine_templates.go | 2 +- .../connectedvmware/virtual_machines.go | 2 +- .../connectedvmware/virtual_networks.go | 2 +- .../containerinstance/container_groups.go | 2 +- .../services/containerregistry/registries.go | 2 +- .../containerservice/managed_clusters.go | 2 +- .../services/containerservice/snapshots.go | 2 +- .../services/cosmos/database_accounts.go | 2 +- .../resources/services/cosmos/locations.go | 2 +- .../cosmos/restorable_database_accounts.go | 2 +- .../services/costmanagement/views.go | 2 +- .../services/customerinsights/hubs.go | 2 +- .../resources/services/dashboard/grafana.go | 2 +- .../azure/resources/services/databox/jobs.go | 2 +- .../datadog/marketplace_agreements.go | 2 +- .../resources/services/datadog/monitors.go | 2 +- .../services/datafactory/factories.go | 4 +-- .../services/datalakeanalytics/accounts.go | 2 +- .../services/datalakestore/accounts.go | 2 +- .../services/datamigration/services.go | 2 +- .../desktopvirtualization/host_pools.go | 2 +- .../resources/services/devhub/workflow.go | 2 +- .../devops/pipeline_template_definitions.go | 2 +- .../azure/resources/services/dns/zones.go | 2 +- .../dnsresolver/dns_forwarding_rulesets.go | 2 +- .../services/dnsresolver/dns_resolvers.go | 2 +- .../resources/services/elastic/monitors.go | 2 +- .../services/engagementfabric/accounts.go | 2 +- .../services/eventgrid/topic_types.go | 2 +- .../resources/services/eventhub/namespaces.go | 2 +- .../services/frontdoor/front_doors.go | 2 +- .../services/frontdoor/managed_rule_sets.go | 2 +- .../frontdoor/network_experiment_profiles.go | 2 +- .../services/hanaonazure/sap_monitors.go | 2 +- .../resources/services/hdinsight/clusters.go | 2 +- .../resources/services/healthbot/bots.go | 2 +- .../services/healthcareapis/services.go | 2 +- .../hybridcompute/private_link_scopes.go | 2 +- .../hybriddatamanager/data_managers.go | 2 +- .../keyvault/keyvault_managed_hsms.go | 2 +- .../resources/services/kusto/clusters.go | 2 +- .../resources/services/logic/workflows.go | 2 +- .../services/maintenance/configurations.go | 2 +- .../public_maintenance_configurations.go | 2 +- .../resources/services/mariadb/servers.go | 2 +- .../services/marketplace/private_store.go | 2 +- .../services/monitor/log_profiles.go | 2 +- .../services/monitor/private_link_scopes.go | 2 +- .../monitor/tenant_activity_log_alerts.go | 2 +- .../services/monitor/tenant_activity_logs.go | 2 +- .../azure/resources/services/mysql/servers.go | 2 +- .../services/mysqlflexibleservers/servers.go | 2 +- .../services/network/application_gateways.go | 2 +- .../network/application_security_groups.go | 2 +- .../network/azure_firewall_fqdn_tags.go | 2 +- .../services/network/azure_firewalls.go | 2 +- .../services/network/bastion_hosts.go | 2 +- .../network/bgp_service_communities.go | 2 +- .../services/network/custom_ip_prefixes.go | 2 +- .../services/network/ddos_protection_plans.go | 2 +- .../services/network/dscp_configuration.go | 2 +- .../network/express_route_circuits.go | 2 +- .../network/express_route_gateways.go | 2 +- .../services/network/express_route_ports.go | 2 +- .../network/express_route_ports_locations.go | 2 +- .../express_route_service_providers.go | 2 +- .../services/network/firewall_policies.go | 2 +- .../resources/services/network/interfaces.go | 2 +- .../services/network/ip_allocations.go | 2 +- .../resources/services/network/ip_groups.go | 2 +- .../services/network/load_balancers.go | 2 +- .../services/network/nat_gateways.go | 2 +- .../resources/services/network/profiles.go | 2 +- .../services/network/public_ip_addresses.go | 2 +- .../services/network/public_ip_prefixes.go | 2 +- .../services/network/route_filters.go | 2 +- .../services/network/route_tables.go | 2 +- .../services/network/security_groups.go | 2 +- .../network/security_partner_providers.go | 2 +- .../network/service_endpoint_policies.go | 2 +- ...ubscription_network_manager_connections.go | 2 +- .../services/network/virtual_appliances.go | 2 +- .../services/network/virtual_hubs.go | 2 +- .../services/network/virtual_network_taps.go | 2 +- .../services/network/virtual_networks.go | 2 +- .../services/network/virtual_routers.go | 2 +- .../services/network/virtual_wans.go | 2 +- .../services/network/vpn_gateways.go | 2 +- .../network/vpn_server_configurations.go | 2 +- .../resources/services/network/vpn_sites.go | 2 +- .../resources/services/network/watchers.go | 2 +- .../web_application_firewall_policies.go | 2 +- ...zure_traffic_collectors_by_subscription.go | 2 +- .../resources/services/nginx/deployments.go | 2 +- .../services/notificationhubs/namespaces.go | 2 +- .../services/operationalinsights/clusters.go | 2 +- .../operationalinsights/workspaces.go | 2 +- .../services/peering/service_countries.go | 2 +- .../services/peering/service_locations.go | 2 +- .../services/peering/service_providers.go | 2 +- .../resources/services/policy/assignments.go | 2 +- .../services/policy/data_policy_manifests.go | 2 +- .../resources/services/policy/definitions.go | 2 +- .../resources/services/policy/exemptions.go | 2 +- .../services/policy/set_definitions.go | 2 +- .../list_tenant_configuration_violations.go | 2 +- .../services/portal/tenant_configurations.go | 2 +- .../resources/services/postgresql/servers.go | 2 +- .../postgresqlflexibleservers/servers.go | 2 +- .../services/postgresqlhsc/server_groups.go | 2 +- .../services/powerbidedicated/capacities.go | 2 +- .../services/privatedns/private_zones.go | 2 +- .../providerhub/provider_registrations.go | 2 +- .../redhatopenshift/open_shift_clusters.go | 2 +- .../azure/resources/services/redis/caches.go | 2 +- .../resources/services/relay/namespaces.go | 2 +- .../services/reservations/reservation.go | 2 +- .../reservations/reservation_order.go | 2 +- .../resources/services/saas/resources.go | 2 +- .../resources/services/search/services.go | 2 +- .../resources/services/security/alerts.go | 2 +- .../security/alerts_suppression_rules.go | 2 +- .../services/security/allowed_connections.go | 2 +- .../services/security/applications.go | 2 +- .../services/security/assessments_metadata.go | 2 +- .../security/auto_provisioning_settings.go | 2 +- .../services/security/automations.go | 2 +- .../resources/services/security/connectors.go | 2 +- .../security/discovered_security_solutions.go | 2 +- .../security/external_security_solutions.go | 2 +- .../services/security/governance_rule.go | 2 +- .../security/jit_network_access_policies.go | 2 +- .../resources/services/security/locations.go | 2 +- .../resources/services/security/pricings.go | 2 +- .../regulatory_compliance_standards.go | 2 +- .../secure_score_control_definitions.go | 2 +- .../security/secure_score_controls.go | 2 +- .../services/security/secure_scores.go | 2 +- .../resources/services/security/solutions.go | 2 +- .../resources/services/security/tasks.go | 2 +- .../resources/services/security/topology.go | 2 +- .../services/security/workspace_settings.go | 2 +- .../services/servicebus/namespaces.go | 2 +- .../resources/services/sql/instance_pools.go | 2 +- .../services/sql/managed_instances.go | 2 +- .../azure/resources/services/sql/servers.go | 2 +- .../services/sql/virtual_clusters.go | 2 +- .../services/sqlvirtualmachine/groups.go | 2 +- .../sqlvirtualmachine/sql_virtual_machines.go | 2 +- .../resources/services/storage/accounts.go | 2 +- .../resources/services/storagecache/caches.go | 2 +- .../streamanalytics/streaming_jobs.go | 2 +- .../resources/services/support/services.go | 2 +- .../resources/services/support/tickets.go | 2 +- .../services/synapse/private_link_hubs.go | 2 +- .../resources/services/synapse/workspaces.go | 2 +- .../windowsesu/multiple_activation_keys.go | 2 +- .../resources/services/windowsiot/services.go | 2 +- .../resources/services/workloads/monitors.go | 2 +- .../docs/plugins/sources/azure/tables.md | 2 +- 226 files changed, 235 insertions(+), 250 deletions(-) delete mode 100644 plugins/source/azure/codegen0/templates/recipe.go.tpl diff --git a/plugins/source/azure/client/client.go b/plugins/source/azure/client/client.go index 8762dd68d52c94..7bf09786a66ff8 100644 --- a/plugins/source/azure/client/client.go +++ b/plugins/source/azure/client/client.go @@ -17,6 +17,7 @@ import ( "github.com/rs/zerolog" ) +const Namespacemicrosoft_datafactory = "microsoft.datafactory" const Namespacemicrosoft_dbformariadb = "microsoft.dbformariadb" const Namespacemicrosoft_keyvault = "microsoft.keyvault" const Namespacemicrosoft_cache = "microsoft.cache" @@ -26,6 +27,7 @@ const Namespacemicrosoft_costmanagement = "microsoft.costmanagement" const Namespacemicrosoft_storage = "microsoft.storage" var otherNamespaces = []string{ + Namespacemicrosoft_datafactory, Namespacemicrosoft_dbformariadb, Namespacemicrosoft_keyvault, Namespacemicrosoft_cache, diff --git a/plugins/source/azure/client/multiplexer.go b/plugins/source/azure/client/multiplexer.go index e71c347b5c3581..adf434276331b4 100644 --- a/plugins/source/azure/client/multiplexer.go +++ b/plugins/source/azure/client/multiplexer.go @@ -16,13 +16,19 @@ func SingleSubscriptionMultiplex(meta schema.ClientMeta) []schema.ClientMeta { } } -func SubscriptionMultiplexRegisteredNamespace(namespace string) func(schema.ClientMeta) []schema.ClientMeta { +func SubscriptionMultiplexRegisteredNamespace(table, namespace string) func(schema.ClientMeta) []schema.ClientMeta { return func(meta schema.ClientMeta) []schema.ClientMeta { client := meta.(*Client) var c = make([]schema.ClientMeta, 0) for _, subId := range client.subscriptions { if _, ok := client.registeredNamespaces[subId][namespace]; ok { c = append(c, client.withSubscription(subId)) + } else { + client.Logger().Info(). + Str("subscription_id", subId). + Str("namespace", namespace). + Str("table", table). + Msg("Skipping namespace, not registered for subscription") } } return c diff --git a/plugins/source/azure/client/namespaces.go b/plugins/source/azure/client/namespaces.go index cf9ccc99f14b63..2bd2849fcf7860 100644 --- a/plugins/source/azure/client/namespaces.go +++ b/plugins/source/azure/client/namespaces.go @@ -27,7 +27,6 @@ const Namespacemicrosoft_customerinsights = "microsoft.customerinsights" const Namespacemicrosoft_dashboard = "microsoft.dashboard" const Namespacemicrosoft_databox = "microsoft.databox" const Namespacemicrosoft_datadog = "microsoft.datadog" -const Namespacemicrosoft_datafactory = "microsoft.datafactory" const Namespacemicrosoft_datalakeanalytics = "microsoft.datalakeanalytics" const Namespacemicrosoft_datalakestore = "microsoft.datalakestore" const Namespacemicrosoft_datamigration = "microsoft.datamigration" @@ -104,7 +103,6 @@ var autoGeneratedNamespaces = []string{ Namespacemicrosoft_dashboard, Namespacemicrosoft_databox, Namespacemicrosoft_datadog, - Namespacemicrosoft_datafactory, Namespacemicrosoft_datalakeanalytics, Namespacemicrosoft_datalakestore, Namespacemicrosoft_datamigration, diff --git a/plugins/source/azure/codegen0/internal/azparser/parser.go b/plugins/source/azure/codegen0/internal/azparser/parser.go index 535dd02522c0c6..dc925a31cd3c0e 100644 --- a/plugins/source/azure/codegen0/internal/azparser/parser.go +++ b/plugins/source/azure/codegen0/internal/azparser/parser.go @@ -102,6 +102,10 @@ var newFuncToSkipPerPackage = map[string]map[string]bool{ "NewAccountsClient": true, "NewDeletedAccountsClient": true, }, + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory": { + // requires renaming etag + "NewFactoriesClient": true, + }, } var reNewClient = regexp.MustCompile(`New[a-zA-Z]+Client`) diff --git a/plugins/source/azure/codegen0/main.go b/plugins/source/azure/codegen0/main.go index 3646b0bb8d6d58..49e8d8021cff45 100644 --- a/plugins/source/azure/codegen0/main.go +++ b/plugins/source/azure/codegen0/main.go @@ -108,7 +108,7 @@ func generateNamespaces(namespaces map[string]string) error { "ToCamel": strcase.ToCamel, }).ParseFS(templateFS, "templates/namespaces.go.tpl") if err != nil { - return fmt.Errorf("failed to parse recipe.go.tpl: %w", err) + return fmt.Errorf("failed to parse namespaces.go.tpl: %w", err) } var buff bytes.Buffer diff --git a/plugins/source/azure/codegen0/templates/list.go.tpl b/plugins/source/azure/codegen0/templates/list.go.tpl index cb1a8b80dfa3ab..818354c99b5671 100644 --- a/plugins/source/azure/codegen0/templates/list.go.tpl +++ b/plugins/source/azure/codegen0/templates/list.go.tpl @@ -13,7 +13,7 @@ func {{.Name | ToCamel}}() *schema.Table { return &schema.Table{ Name: "azure_{{.PackageName}}_{{.Name}}", Resolver: fetch{{.Name | ToCamel}}, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespace{{.NamespaceConst}}), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_{{.PackageName}}_{{.Name}}", client.Namespace{{.NamespaceConst}}), Transform: transformers.TransformWithStruct(&{{.BaseImportPath}}.{{.ResponseValueStruct}}{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/codegen0/templates/recipe.go.tpl b/plugins/source/azure/codegen0/templates/recipe.go.tpl deleted file mode 100644 index 0f2dda15fc21bd..00000000000000 --- a/plugins/source/azure/codegen0/templates/recipe.go.tpl +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by codegen; DO NOT EDIT. -package recipes - -import "{{.Import}}" - -func {{.BaseName | ToCamel}}() []*Table { - tables := []*Table{ - {{- range .Tables}} - { - NewFunc: {{$.BaseName}}.{{.NewFuncName}}, - PkgPath: "{{$.Import}}", - URL: "{{.URL}}", - Namespace: "{{.Namespace}}", - Multiplex: `{{.Multiplex}}`, - Pager: `{{.Pager}}`, - ResponseStruct: "{{.ResponseStruct}}", - }, - {{- end}} - } - return tables -} - -func init() { - Tables = append(Tables, {{.BaseName | ToCamel}}()) -} \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/README.md b/plugins/source/azure/docs/tables/README.md index ca3c62e5ce9ad6..b355bfe4316775 100644 --- a/plugins/source/azure/docs/tables/README.md +++ b/plugins/source/azure/docs/tables/README.md @@ -68,7 +68,6 @@ - [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) @@ -213,6 +212,7 @@ - [azure_cosmos_sql_databases](azure_cosmos_sql_databases.md) - [azure_costmanagement_views](azure_costmanagement_views.md) - [azure_costmanagement_view_queries](azure_costmanagement_view_queries.md) +- [azure_datafactory_factories](azure_datafactory_factories.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) diff --git a/plugins/source/azure/resources/plugin/plugin.go b/plugins/source/azure/resources/plugin/plugin.go index e4ffc0bd91095d..fa1f06088a4fd0 100644 --- a/plugins/source/azure/resources/plugin/plugin.go +++ b/plugins/source/azure/resources/plugin/plugin.go @@ -7,6 +7,7 @@ import ( "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/compute" "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/datafactory" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/keyvault" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/logic" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/mariadb" @@ -36,6 +37,7 @@ var customTables = []*schema.Table{ compute.SKUs(), cosmos.DatabaseAccounts(), costmanagement.Views(), + datafactory.Factories(), keyvault.Keyvault(), keyvault.KeyvaultManagedHsms(), logic.Workflows(), diff --git a/plugins/source/azure/resources/plugin/tables.go b/plugins/source/azure/resources/plugin/tables.go index 787435a0a33fdd..1925719b116747 100644 --- a/plugins/source/azure/resources/plugin/tables.go +++ b/plugins/source/azure/resources/plugin/tables.go @@ -29,7 +29,6 @@ import ( "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" @@ -154,7 +153,6 @@ func generatedTables() []*schema.Table { databox.Jobs(), datadog.MarketplaceAgreements(), datadog.Monitors(), - datafactory.Factories(), datalakeanalytics.Accounts(), datalakestore.Accounts(), datamigration.Services(), diff --git a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go b/plugins/source/azure/resources/services/advisor/recommendation_metadata.go index 392deaee7a5964..001a345535ed6c 100644 --- a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go +++ b/plugins/source/azure/resources/services/advisor/recommendation_metadata.go @@ -13,7 +13,7 @@ func RecommendationMetadata() *schema.Table { return &schema.Table{ Name: "azure_advisor_recommendation_metadata", Resolver: fetchRecommendationMetadata, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_advisor), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_advisor_recommendation_metadata", client.Namespacemicrosoft_advisor), Transform: transformers.TransformWithStruct(&armadvisor.MetadataEntity{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/advisor/recommendations.go b/plugins/source/azure/resources/services/advisor/recommendations.go index 3feee63f9bd278..25246474966caf 100644 --- a/plugins/source/azure/resources/services/advisor/recommendations.go +++ b/plugins/source/azure/resources/services/advisor/recommendations.go @@ -13,7 +13,7 @@ func Recommendations() *schema.Table { return &schema.Table{ Name: "azure_advisor_recommendations", Resolver: fetchRecommendations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_advisor), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_advisor_recommendations", client.Namespacemicrosoft_advisor), Transform: transformers.TransformWithStruct(&armadvisor.ResourceRecommendationBase{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/advisor/suppressions.go b/plugins/source/azure/resources/services/advisor/suppressions.go index 63926f4856d932..168097136e43b3 100644 --- a/plugins/source/azure/resources/services/advisor/suppressions.go +++ b/plugins/source/azure/resources/services/advisor/suppressions.go @@ -13,7 +13,7 @@ func Suppressions() *schema.Table { return &schema.Table{ Name: "azure_advisor_suppressions", Resolver: fetchSuppressions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_advisor), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_advisor_suppressions", client.Namespacemicrosoft_advisor), Transform: transformers.TransformWithStruct(&armadvisor.SuppressionContract{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/analysisservices/servers.go b/plugins/source/azure/resources/services/analysisservices/servers.go index c3d26f7b377608..2da3af81037048 100644 --- a/plugins/source/azure/resources/services/analysisservices/servers.go +++ b/plugins/source/azure/resources/services/analysisservices/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_analysisservices_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_analysisservices), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_analysisservices_servers", client.Namespacemicrosoft_analysisservices), Transform: transformers.TransformWithStruct(&armanalysisservices.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/apimanagement/service.go b/plugins/source/azure/resources/services/apimanagement/service.go index 6c7a0f593c4110..09fa95a02f53a3 100644 --- a/plugins/source/azure/resources/services/apimanagement/service.go +++ b/plugins/source/azure/resources/services/apimanagement/service.go @@ -13,7 +13,7 @@ func Service() *schema.Table { return &schema.Table{ Name: "azure_apimanagement_service", Resolver: fetchService, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_apimanagement), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_apimanagement_service", client.Namespacemicrosoft_apimanagement), Transform: transformers.TransformWithStruct(&armapimanagement.ServiceResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go b/plugins/source/azure/resources/services/appcomplianceautomation/reports.go index 61240b003a0fdf..1fa11a2f8e7ab9 100644 --- a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go +++ b/plugins/source/azure/resources/services/appcomplianceautomation/reports.go @@ -13,7 +13,7 @@ func Reports() *schema.Table { return &schema.Table{ Name: "azure_appcomplianceautomation_reports", Resolver: fetchReports, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_appcomplianceautomation), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appcomplianceautomation_reports", client.Namespacemicrosoft_appcomplianceautomation), Transform: transformers.TransformWithStruct(&armappcomplianceautomation.ReportResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go b/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go index 2fd15dfa270f26..51cbf2222f7dae 100644 --- a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go +++ b/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go @@ -13,7 +13,7 @@ func ConfigurationStores() *schema.Table { return &schema.Table{ Name: "azure_appconfiguration_configuration_stores", Resolver: fetchConfigurationStores, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_appconfiguration), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appconfiguration_configuration_stores", client.Namespacemicrosoft_appconfiguration), Transform: transformers.TransformWithStruct(&armappconfiguration.ConfigurationStore{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/applicationinsights/components.go b/plugins/source/azure/resources/services/applicationinsights/components.go index 41d4bd2eb61620..955d9d7197ecff 100644 --- a/plugins/source/azure/resources/services/applicationinsights/components.go +++ b/plugins/source/azure/resources/services/applicationinsights/components.go @@ -13,7 +13,7 @@ func Components() *schema.Table { return &schema.Table{ Name: "azure_applicationinsights_components", Resolver: fetchComponents, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_applicationinsights_components", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armapplicationinsights.Component{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/applicationinsights/web_tests.go b/plugins/source/azure/resources/services/applicationinsights/web_tests.go index e2e8709c68d533..11728a5c8a0a26 100644 --- a/plugins/source/azure/resources/services/applicationinsights/web_tests.go +++ b/plugins/source/azure/resources/services/applicationinsights/web_tests.go @@ -13,7 +13,7 @@ func WebTests() *schema.Table { return &schema.Table{ Name: "azure_applicationinsights_web_tests", Resolver: fetchWebTests, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_applicationinsights_web_tests", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armapplicationinsights.WebTest{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/certificate_orders.go b/plugins/source/azure/resources/services/appservice/certificate_orders.go index 0087dc3e7a2e25..2d3299496cf692 100644 --- a/plugins/source/azure/resources/services/appservice/certificate_orders.go +++ b/plugins/source/azure/resources/services/appservice/certificate_orders.go @@ -13,7 +13,7 @@ func CertificateOrders() *schema.Table { return &schema.Table{ Name: "azure_appservice_certificate_orders", Resolver: fetchCertificateOrders, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_certificateregistration), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_certificate_orders", client.Namespacemicrosoft_certificateregistration), Transform: transformers.TransformWithStruct(&armappservice.CertificateOrder{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/certificates.go b/plugins/source/azure/resources/services/appservice/certificates.go index 313280f6d80a5c..d8ce5165c4fdf1 100644 --- a/plugins/source/azure/resources/services/appservice/certificates.go +++ b/plugins/source/azure/resources/services/appservice/certificates.go @@ -13,7 +13,7 @@ func Certificates() *schema.Table { return &schema.Table{ Name: "azure_appservice_certificates", Resolver: fetchCertificates, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_certificates", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.AppCertificate{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/deleted_web_apps.go b/plugins/source/azure/resources/services/appservice/deleted_web_apps.go index f616289dea30ff..7ec9b053641e0f 100644 --- a/plugins/source/azure/resources/services/appservice/deleted_web_apps.go +++ b/plugins/source/azure/resources/services/appservice/deleted_web_apps.go @@ -13,7 +13,7 @@ func DeletedWebApps() *schema.Table { return &schema.Table{ Name: "azure_appservice_deleted_web_apps", Resolver: fetchDeletedWebApps, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_deleted_web_apps", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.DeletedSite{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/domains.go b/plugins/source/azure/resources/services/appservice/domains.go index d0204afca05e53..3c19bdf84a285b 100644 --- a/plugins/source/azure/resources/services/appservice/domains.go +++ b/plugins/source/azure/resources/services/appservice/domains.go @@ -13,7 +13,7 @@ func Domains() *schema.Table { return &schema.Table{ Name: "azure_appservice_domains", Resolver: fetchDomains, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_domainregistration), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_domains", client.Namespacemicrosoft_domainregistration), Transform: transformers.TransformWithStruct(&armappservice.Domain{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/environments.go b/plugins/source/azure/resources/services/appservice/environments.go index 999939dfc332c1..f74f24bcad0a83 100644 --- a/plugins/source/azure/resources/services/appservice/environments.go +++ b/plugins/source/azure/resources/services/appservice/environments.go @@ -13,7 +13,7 @@ func Environments() *schema.Table { return &schema.Table{ Name: "azure_appservice_environments", Resolver: fetchEnvironments, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_environments", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.EnvironmentResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/plans.go b/plugins/source/azure/resources/services/appservice/plans.go index 43a107a7f833f8..876ab837464c56 100644 --- a/plugins/source/azure/resources/services/appservice/plans.go +++ b/plugins/source/azure/resources/services/appservice/plans.go @@ -13,7 +13,7 @@ func Plans() *schema.Table { return &schema.Table{ Name: "azure_appservice_plans", Resolver: fetchPlans, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_plans", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.Plan{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/recommendations.go b/plugins/source/azure/resources/services/appservice/recommendations.go index 4d7577e05bb7d9..2d295012c81f69 100644 --- a/plugins/source/azure/resources/services/appservice/recommendations.go +++ b/plugins/source/azure/resources/services/appservice/recommendations.go @@ -13,7 +13,7 @@ func Recommendations() *schema.Table { return &schema.Table{ Name: "azure_appservice_recommendations", Resolver: fetchRecommendations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_recommendations", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.Recommendation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/resource_health_metadata.go b/plugins/source/azure/resources/services/appservice/resource_health_metadata.go index 9c0663580b09b5..e15acf9ea31241 100644 --- a/plugins/source/azure/resources/services/appservice/resource_health_metadata.go +++ b/plugins/source/azure/resources/services/appservice/resource_health_metadata.go @@ -13,7 +13,7 @@ func ResourceHealthMetadata() *schema.Table { return &schema.Table{ Name: "azure_appservice_resource_health_metadata", Resolver: fetchResourceHealthMetadata, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_resource_health_metadata", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.ResourceHealthMetadata{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/static_sites.go b/plugins/source/azure/resources/services/appservice/static_sites.go index 21279ec210562f..bce1c62e21be36 100644 --- a/plugins/source/azure/resources/services/appservice/static_sites.go +++ b/plugins/source/azure/resources/services/appservice/static_sites.go @@ -13,7 +13,7 @@ func StaticSites() *schema.Table { return &schema.Table{ Name: "azure_appservice_static_sites", Resolver: fetchStaticSites, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_static_sites", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.StaticSiteARMResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/top_level_domains.go b/plugins/source/azure/resources/services/appservice/top_level_domains.go index 607249b9175648..773d2ceb85d0a6 100644 --- a/plugins/source/azure/resources/services/appservice/top_level_domains.go +++ b/plugins/source/azure/resources/services/appservice/top_level_domains.go @@ -13,7 +13,7 @@ func TopLevelDomains() *schema.Table { return &schema.Table{ Name: "azure_appservice_top_level_domains", Resolver: fetchTopLevelDomains, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_domainregistration), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_top_level_domains", client.Namespacemicrosoft_domainregistration), Transform: transformers.TransformWithStruct(&armappservice.TopLevelDomain{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/appservice/web_apps.go b/plugins/source/azure/resources/services/appservice/web_apps.go index b24fbce4eda119..5292e970d3d9b1 100644 --- a/plugins/source/azure/resources/services/appservice/web_apps.go +++ b/plugins/source/azure/resources/services/appservice/web_apps.go @@ -13,7 +13,7 @@ func WebApps() *schema.Table { return &schema.Table{ Name: "azure_appservice_web_apps", Resolver: fetchWebApps, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_web), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appservice_web_apps", client.Namespacemicrosoft_web), Transform: transformers.TransformWithStruct(&armappservice.Site{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/authorization/classic_administrators.go b/plugins/source/azure/resources/services/authorization/classic_administrators.go index 4c424d5324eec8..7f77c8ab8520c2 100644 --- a/plugins/source/azure/resources/services/authorization/classic_administrators.go +++ b/plugins/source/azure/resources/services/authorization/classic_administrators.go @@ -13,7 +13,7 @@ func ClassicAdministrators() *schema.Table { return &schema.Table{ Name: "azure_authorization_classic_administrators", Resolver: fetchClassicAdministrators, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_classic_administrators", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armauthorization.ClassicAdministrator{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go b/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go index e8324e20178396..f7057fcef204f4 100644 --- a/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go +++ b/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go @@ -13,7 +13,7 @@ func ProviderOperationsMetadata() *schema.Table { return &schema.Table{ Name: "azure_authorization_provider_operations_metadata", Resolver: fetchProviderOperationsMetadata, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_provider_operations_metadata", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armauthorization.ProviderOperationsMetadata{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/authorization/role_assignments.go b/plugins/source/azure/resources/services/authorization/role_assignments.go index d6bc00b9c7758d..723b5447bc5b7a 100644 --- a/plugins/source/azure/resources/services/authorization/role_assignments.go +++ b/plugins/source/azure/resources/services/authorization/role_assignments.go @@ -13,7 +13,7 @@ func RoleAssignments() *schema.Table { return &schema.Table{ Name: "azure_authorization_role_assignments", Resolver: fetchRoleAssignments, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_role_assignments", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armauthorization.RoleAssignment{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/authorization/role_definitions.go b/plugins/source/azure/resources/services/authorization/role_definitions.go index 45d9569d4e28de..a1a41cdaff44ee 100644 --- a/plugins/source/azure/resources/services/authorization/role_definitions.go +++ b/plugins/source/azure/resources/services/authorization/role_definitions.go @@ -11,7 +11,7 @@ func RoleDefinitions() *schema.Table { return &schema.Table{ Name: "azure_authorization_role_definitions", Resolver: fetchRoleDefinitions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_role_definitions", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armauthorization.RoleDefinition{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/automation/account.go b/plugins/source/azure/resources/services/automation/account.go index c1a85c0c04fd64..bed8558c823f68 100644 --- a/plugins/source/azure/resources/services/automation/account.go +++ b/plugins/source/azure/resources/services/automation/account.go @@ -13,7 +13,7 @@ func Account() *schema.Table { return &schema.Table{ Name: "azure_automation_account", Resolver: fetchAccount, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_automation), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_automation_account", client.Namespacemicrosoft_automation), Transform: transformers.TransformWithStruct(&armautomation.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go b/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go index d67788ea27669c..84bfa4333085fc 100644 --- a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go @@ -13,7 +13,7 @@ func PostgresInstances() *schema.Table { return &schema.Table{ Name: "azure_azurearcdata_postgres_instances", Resolver: fetchPostgresInstances, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_azurearcdata), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_postgres_instances", client.Namespacemicrosoft_azurearcdata), Transform: transformers.TransformWithStruct(&armazurearcdata.PostgresInstance{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go index 87445b62ae4ce7..998e9614d3d1f0 100644 --- a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go @@ -13,7 +13,7 @@ func SqlManagedInstances() *schema.Table { return &schema.Table{ Name: "azure_azurearcdata_sql_managed_instances", Resolver: fetchSqlManagedInstances, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_azurearcdata), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_sql_managed_instances", client.Namespacemicrosoft_azurearcdata), Transform: transformers.TransformWithStruct(&armazurearcdata.SQLManagedInstance{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go index 3304271b93982d..318f1150f414ed 100644 --- a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go @@ -13,7 +13,7 @@ func SqlServerInstances() *schema.Table { return &schema.Table{ Name: "azure_azurearcdata_sql_server_instances", Resolver: fetchSqlServerInstances, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_azurearcdata), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_sql_server_instances", client.Namespacemicrosoft_azurearcdata), Transform: transformers.TransformWithStruct(&armazurearcdata.SQLServerInstance{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/azuredata/sql_server_registrations.go b/plugins/source/azure/resources/services/azuredata/sql_server_registrations.go index f16cb08be8ba31..340e612efde0d1 100644 --- a/plugins/source/azure/resources/services/azuredata/sql_server_registrations.go +++ b/plugins/source/azure/resources/services/azuredata/sql_server_registrations.go @@ -13,7 +13,7 @@ func SqlServerRegistrations() *schema.Table { return &schema.Table{ Name: "azure_azuredata_sql_server_registrations", Resolver: fetchSqlServerRegistrations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_azuredata), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azuredata_sql_server_registrations", client.Namespacemicrosoft_azuredata), Transform: transformers.TransformWithStruct(&armazuredata.SQLServerRegistration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/batch/account.go b/plugins/source/azure/resources/services/batch/account.go index 5af43ec193e02b..e276fa00001497 100644 --- a/plugins/source/azure/resources/services/batch/account.go +++ b/plugins/source/azure/resources/services/batch/account.go @@ -13,7 +13,7 @@ func Account() *schema.Table { return &schema.Table{ Name: "azure_batch_account", Resolver: fetchAccount, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_batch), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_batch_account", client.Namespacemicrosoft_batch), Transform: transformers.TransformWithStruct(&armbatch.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/billing/accounts.go b/plugins/source/azure/resources/services/billing/accounts.go index f64086c25c3498..62ef8d60631e6a 100644 --- a/plugins/source/azure/resources/services/billing/accounts.go +++ b/plugins/source/azure/resources/services/billing/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_billing_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_billing), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_billing_accounts", client.Namespacemicrosoft_billing), Transform: transformers.TransformWithStruct(&armbilling.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/billing/enrollment_accounts.go b/plugins/source/azure/resources/services/billing/enrollment_accounts.go index ba768f791ef668..7a465eae92ea26 100644 --- a/plugins/source/azure/resources/services/billing/enrollment_accounts.go +++ b/plugins/source/azure/resources/services/billing/enrollment_accounts.go @@ -13,7 +13,7 @@ func EnrollmentAccounts() *schema.Table { return &schema.Table{ Name: "azure_billing_enrollment_accounts", Resolver: fetchEnrollmentAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_billing), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_billing_enrollment_accounts", client.Namespacemicrosoft_billing), Transform: transformers.TransformWithStruct(&armbilling.EnrollmentAccountSummary{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/billing/periods.go b/plugins/source/azure/resources/services/billing/periods.go index 9b5d627c86c2cd..6cbd0a909012cb 100644 --- a/plugins/source/azure/resources/services/billing/periods.go +++ b/plugins/source/azure/resources/services/billing/periods.go @@ -13,7 +13,7 @@ func Periods() *schema.Table { return &schema.Table{ Name: "azure_billing_periods", Resolver: fetchPeriods, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_billing), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_billing_periods", client.Namespacemicrosoft_billing), Transform: transformers.TransformWithStruct(&armbilling.Period{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/botservice/bots.go b/plugins/source/azure/resources/services/botservice/bots.go index 350d70c15ef45f..c0452ebdffe547 100644 --- a/plugins/source/azure/resources/services/botservice/bots.go +++ b/plugins/source/azure/resources/services/botservice/bots.go @@ -13,7 +13,7 @@ func Bots() *schema.Table { return &schema.Table{ Name: "azure_botservice_bots", Resolver: fetchBots, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_botservice), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_botservice_bots", client.Namespacemicrosoft_botservice), Transform: transformers.TransformWithStruct(&armbotservice.Bot{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cdn/edge_nodes.go b/plugins/source/azure/resources/services/cdn/edge_nodes.go index b2c2abb9da9a3e..713d94aea0be2d 100644 --- a/plugins/source/azure/resources/services/cdn/edge_nodes.go +++ b/plugins/source/azure/resources/services/cdn/edge_nodes.go @@ -13,7 +13,7 @@ func EdgeNodes() *schema.Table { return &schema.Table{ Name: "azure_cdn_edge_nodes", Resolver: fetchEdgeNodes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cdn), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cdn_edge_nodes", client.Namespacemicrosoft_cdn), Transform: transformers.TransformWithStruct(&armcdn.EdgeNode{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go b/plugins/source/azure/resources/services/cdn/managed_rule_sets.go index 75df2c00e1ab7b..9a5c08eff63ab3 100644 --- a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go +++ b/plugins/source/azure/resources/services/cdn/managed_rule_sets.go @@ -13,7 +13,7 @@ func ManagedRuleSets() *schema.Table { return &schema.Table{ Name: "azure_cdn_managed_rule_sets", Resolver: fetchManagedRuleSets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cdn), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cdn_managed_rule_sets", client.Namespacemicrosoft_cdn), Transform: transformers.TransformWithStruct(&armcdn.ManagedRuleSetDefinition{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cdn/profiles.go b/plugins/source/azure/resources/services/cdn/profiles.go index 40801e867dc378..344e4e567381f6 100644 --- a/plugins/source/azure/resources/services/cdn/profiles.go +++ b/plugins/source/azure/resources/services/cdn/profiles.go @@ -13,7 +13,7 @@ func Profiles() *schema.Table { return &schema.Table{ Name: "azure_cdn_profiles", Resolver: fetchProfiles, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cdn), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cdn_profiles", client.Namespacemicrosoft_cdn), Transform: transformers.TransformWithStruct(&armcdn.Profile{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cognitiveservices/accounts.go b/plugins/source/azure/resources/services/cognitiveservices/accounts.go index 40d4e60ce5ab85..de06670b2942e9 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/accounts.go +++ b/plugins/source/azure/resources/services/cognitiveservices/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_cognitiveservices_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cognitiveservices), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_accounts", client.Namespacemicrosoft_cognitiveservices), Transform: transformers.TransformWithStruct(&armcognitiveservices.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go index e8135377ec90cb..39423d08331bd8 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go +++ b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go @@ -13,7 +13,7 @@ func DeletedAccounts() *schema.Table { return &schema.Table{ Name: "azure_cognitiveservices_deleted_accounts", Resolver: fetchDeletedAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cognitiveservices), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_deleted_accounts", client.Namespacemicrosoft_cognitiveservices), Transform: transformers.TransformWithStruct(&armcognitiveservices.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/cloud_services.go b/plugins/source/azure/resources/services/compute/cloud_services.go index bb7c636dcf9562..23a903bef52847 100644 --- a/plugins/source/azure/resources/services/compute/cloud_services.go +++ b/plugins/source/azure/resources/services/compute/cloud_services.go @@ -13,7 +13,7 @@ func CloudServices() *schema.Table { return &schema.Table{ Name: "azure_compute_cloud_services", Resolver: fetchCloudServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_cloud_services", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.CloudService{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/disk_accesses.go b/plugins/source/azure/resources/services/compute/disk_accesses.go index a23c92da7dbf60..fbc1d6ba8a694c 100644 --- a/plugins/source/azure/resources/services/compute/disk_accesses.go +++ b/plugins/source/azure/resources/services/compute/disk_accesses.go @@ -13,7 +13,7 @@ func DiskAccesses() *schema.Table { return &schema.Table{ Name: "azure_compute_disk_accesses", Resolver: fetchDiskAccesses, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_disk_accesses", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.DiskAccess{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/disk_encryption_sets.go b/plugins/source/azure/resources/services/compute/disk_encryption_sets.go index 7a8e1ad45e79fc..7a63c91a3d2bcd 100644 --- a/plugins/source/azure/resources/services/compute/disk_encryption_sets.go +++ b/plugins/source/azure/resources/services/compute/disk_encryption_sets.go @@ -13,7 +13,7 @@ func DiskEncryptionSets() *schema.Table { return &schema.Table{ Name: "azure_compute_disk_encryption_sets", Resolver: fetchDiskEncryptionSets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_disk_encryption_sets", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.DiskEncryptionSet{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/disks.go b/plugins/source/azure/resources/services/compute/disks.go index a419a237030ac2..0786e0067d2323 100644 --- a/plugins/source/azure/resources/services/compute/disks.go +++ b/plugins/source/azure/resources/services/compute/disks.go @@ -13,7 +13,7 @@ func Disks() *schema.Table { return &schema.Table{ Name: "azure_compute_disks", Resolver: fetchDisks, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_disks", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.Disk{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/galleries.go b/plugins/source/azure/resources/services/compute/galleries.go index 94a7c44a0c406b..22169ac1dae914 100644 --- a/plugins/source/azure/resources/services/compute/galleries.go +++ b/plugins/source/azure/resources/services/compute/galleries.go @@ -13,7 +13,7 @@ func Galleries() *schema.Table { return &schema.Table{ Name: "azure_compute_galleries", Resolver: fetchGalleries, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_galleries", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.Gallery{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/images.go b/plugins/source/azure/resources/services/compute/images.go index 4da27ff0c9d60f..3432b518bc4b1e 100644 --- a/plugins/source/azure/resources/services/compute/images.go +++ b/plugins/source/azure/resources/services/compute/images.go @@ -13,7 +13,7 @@ func Images() *schema.Table { return &schema.Table{ Name: "azure_compute_images", Resolver: fetchImages, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_images", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.Image{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/restore_point_collections.go b/plugins/source/azure/resources/services/compute/restore_point_collections.go index 618a8aa818c872..6c1bcc11590a47 100644 --- a/plugins/source/azure/resources/services/compute/restore_point_collections.go +++ b/plugins/source/azure/resources/services/compute/restore_point_collections.go @@ -13,7 +13,7 @@ func RestorePointCollections() *schema.Table { return &schema.Table{ Name: "azure_compute_restore_point_collections", Resolver: fetchRestorePointCollections, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_restore_point_collections", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.RestorePointCollection{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/skus.go b/plugins/source/azure/resources/services/compute/skus.go index c4baae9d131e5a..7cb57e036b416a 100644 --- a/plugins/source/azure/resources/services/compute/skus.go +++ b/plugins/source/azure/resources/services/compute/skus.go @@ -13,7 +13,7 @@ func SKUs() *schema.Table { return &schema.Table{ Name: "azure_compute_skus", Resolver: fetchResourceSKUs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_skus", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.ResourceSKU{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/snapshots.go b/plugins/source/azure/resources/services/compute/snapshots.go index ce2097c95d82f5..3163351b02ff12 100644 --- a/plugins/source/azure/resources/services/compute/snapshots.go +++ b/plugins/source/azure/resources/services/compute/snapshots.go @@ -13,7 +13,7 @@ func Snapshots() *schema.Table { return &schema.Table{ Name: "azure_compute_snapshots", Resolver: fetchSnapshots, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_snapshots", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.Snapshot{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/virtual_machine_scale_sets.go b/plugins/source/azure/resources/services/compute/virtual_machine_scale_sets.go index 83cb0c167538b9..fc3b6726842d7d 100644 --- a/plugins/source/azure/resources/services/compute/virtual_machine_scale_sets.go +++ b/plugins/source/azure/resources/services/compute/virtual_machine_scale_sets.go @@ -13,7 +13,7 @@ func VirtualMachineScaleSets() *schema.Table { return &schema.Table{ Name: "azure_compute_virtual_machine_scale_sets", Resolver: fetchVirtualMachineScaleSets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_virtual_machine_scale_sets", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.VirtualMachineScaleSet{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/compute/virtual_machines.go b/plugins/source/azure/resources/services/compute/virtual_machines.go index 39ad25376b7ceb..2bfc56904c6d87 100644 --- a/plugins/source/azure/resources/services/compute/virtual_machines.go +++ b/plugins/source/azure/resources/services/compute/virtual_machines.go @@ -13,7 +13,7 @@ func VirtualMachines() *schema.Table { return &schema.Table{ Name: "azure_compute_virtual_machines", Resolver: fetchVirtualMachines, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_compute_virtual_machines", client.Namespacemicrosoft_compute), Transform: transformers.TransformWithStruct(&armcompute.VirtualMachine{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go b/plugins/source/azure/resources/services/confluent/marketplace_agreements.go index 9620cf2901e983..d7c741f3a90760 100644 --- a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go +++ b/plugins/source/azure/resources/services/confluent/marketplace_agreements.go @@ -13,7 +13,7 @@ func MarketplaceAgreements() *schema.Table { return &schema.Table{ Name: "azure_confluent_marketplace_agreements", Resolver: fetchMarketplaceAgreements, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_confluent), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_confluent_marketplace_agreements", client.Namespacemicrosoft_confluent), Transform: transformers.TransformWithStruct(&armconfluent.AgreementResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/clusters.go b/plugins/source/azure/resources/services/connectedvmware/clusters.go index 1927f2bb15944c..dbbf5f6fb0f262 100644 --- a/plugins/source/azure/resources/services/connectedvmware/clusters.go +++ b/plugins/source/azure/resources/services/connectedvmware/clusters.go @@ -13,7 +13,7 @@ func Clusters() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_clusters", Resolver: fetchClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_clusters", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.Cluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/datastores.go b/plugins/source/azure/resources/services/connectedvmware/datastores.go index 7f2b7d1d21a3b5..4f2d5534fa8c75 100644 --- a/plugins/source/azure/resources/services/connectedvmware/datastores.go +++ b/plugins/source/azure/resources/services/connectedvmware/datastores.go @@ -13,7 +13,7 @@ func Datastores() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_datastores", Resolver: fetchDatastores, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_datastores", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.Datastore{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/hosts.go b/plugins/source/azure/resources/services/connectedvmware/hosts.go index 128bfa50ad1cb2..d04dd9dc9ec231 100644 --- a/plugins/source/azure/resources/services/connectedvmware/hosts.go +++ b/plugins/source/azure/resources/services/connectedvmware/hosts.go @@ -13,7 +13,7 @@ func Hosts() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_hosts", Resolver: fetchHosts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_hosts", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.Host{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go b/plugins/source/azure/resources/services/connectedvmware/resource_pools.go index 52deec6f5dd610..e136b72af70c93 100644 --- a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go +++ b/plugins/source/azure/resources/services/connectedvmware/resource_pools.go @@ -13,7 +13,7 @@ func ResourcePools() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_resource_pools", Resolver: fetchResourcePools, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_resource_pools", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.ResourcePool{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/v_centers.go b/plugins/source/azure/resources/services/connectedvmware/v_centers.go index 19df52150ed8d8..e8ffc09f8efe57 100644 --- a/plugins/source/azure/resources/services/connectedvmware/v_centers.go +++ b/plugins/source/azure/resources/services/connectedvmware/v_centers.go @@ -13,7 +13,7 @@ func VCenters() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_v_centers", Resolver: fetchVCenters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_v_centers", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.VCenter{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go index e4ab9cd1f87c30..003f2f2f25c529 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go @@ -13,7 +13,7 @@ func VirtualMachineTemplates() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_virtual_machine_templates", Resolver: fetchVirtualMachineTemplates, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_machine_templates", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualMachineTemplate{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go index a0ee6d7dca2001..27730c426eccfd 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go @@ -13,7 +13,7 @@ func VirtualMachines() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_virtual_machines", Resolver: fetchVirtualMachines, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_machines", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualMachine{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go b/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go index ba3d5e2e63640d..b35c37fafb0d65 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go @@ -13,7 +13,7 @@ func VirtualNetworks() *schema.Table { return &schema.Table{ Name: "azure_connectedvmware_virtual_networks", Resolver: fetchVirtualNetworks, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_connectedvmwarevsphere), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_networks", client.Namespacemicrosoft_connectedvmwarevsphere), Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualNetwork{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/containerinstance/container_groups.go b/plugins/source/azure/resources/services/containerinstance/container_groups.go index 9cf419d6a4373e..e54556274b9efd 100644 --- a/plugins/source/azure/resources/services/containerinstance/container_groups.go +++ b/plugins/source/azure/resources/services/containerinstance/container_groups.go @@ -13,7 +13,7 @@ func ContainerGroups() *schema.Table { return &schema.Table{ Name: "azure_containerinstance_container_groups", Resolver: fetchContainerGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_containerinstance), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerinstance_container_groups", client.Namespacemicrosoft_containerinstance), Transform: transformers.TransformWithStruct(&armcontainerinstance.ContainerGroup{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/containerregistry/registries.go b/plugins/source/azure/resources/services/containerregistry/registries.go index 50383e0532d001..a240641fa19096 100644 --- a/plugins/source/azure/resources/services/containerregistry/registries.go +++ b/plugins/source/azure/resources/services/containerregistry/registries.go @@ -13,7 +13,7 @@ func Registries() *schema.Table { return &schema.Table{ Name: "azure_containerregistry_registries", Resolver: fetchRegistries, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_containerregistry), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerregistry_registries", client.Namespacemicrosoft_containerregistry), Transform: transformers.TransformWithStruct(&armcontainerregistry.Registry{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/containerservice/managed_clusters.go b/plugins/source/azure/resources/services/containerservice/managed_clusters.go index ba90e68056fe4e..b8479a399e5b1e 100644 --- a/plugins/source/azure/resources/services/containerservice/managed_clusters.go +++ b/plugins/source/azure/resources/services/containerservice/managed_clusters.go @@ -13,7 +13,7 @@ func ManagedClusters() *schema.Table { return &schema.Table{ Name: "azure_containerservice_managed_clusters", Resolver: fetchManagedClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_containerservice), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerservice_managed_clusters", client.Namespacemicrosoft_containerservice), Transform: transformers.TransformWithStruct(&armcontainerservice.ManagedCluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/containerservice/snapshots.go b/plugins/source/azure/resources/services/containerservice/snapshots.go index 55fd924c45e939..e66487a6c3b51a 100644 --- a/plugins/source/azure/resources/services/containerservice/snapshots.go +++ b/plugins/source/azure/resources/services/containerservice/snapshots.go @@ -13,7 +13,7 @@ func Snapshots() *schema.Table { return &schema.Table{ Name: "azure_containerservice_snapshots", Resolver: fetchSnapshots, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_containerservice), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerservice_snapshots", client.Namespacemicrosoft_containerservice), Transform: transformers.TransformWithStruct(&armcontainerservice.Snapshot{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cosmos/database_accounts.go b/plugins/source/azure/resources/services/cosmos/database_accounts.go index 4b4751cb07ef4e..3dc92931507082 100644 --- a/plugins/source/azure/resources/services/cosmos/database_accounts.go +++ b/plugins/source/azure/resources/services/cosmos/database_accounts.go @@ -13,7 +13,7 @@ func DatabaseAccounts() *schema.Table { return &schema.Table{ Name: "azure_cosmos_database_accounts", Resolver: fetchDatabaseAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_documentdb), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cosmos_database_accounts", client.Namespacemicrosoft_documentdb), Transform: transformers.TransformWithStruct(&armcosmos.DatabaseAccountGetResults{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cosmos/locations.go b/plugins/source/azure/resources/services/cosmos/locations.go index 042753fe2aa661..45bb20851a741a 100644 --- a/plugins/source/azure/resources/services/cosmos/locations.go +++ b/plugins/source/azure/resources/services/cosmos/locations.go @@ -13,7 +13,7 @@ func Locations() *schema.Table { return &schema.Table{ Name: "azure_cosmos_locations", Resolver: fetchLocations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_documentdb), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cosmos_locations", client.Namespacemicrosoft_documentdb), Transform: transformers.TransformWithStruct(&armcosmos.LocationGetResult{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go index 59afe533901ed0..3313d1f7fd208b 100644 --- a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go +++ b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go @@ -13,7 +13,7 @@ func RestorableDatabaseAccounts() *schema.Table { return &schema.Table{ Name: "azure_cosmos_restorable_database_accounts", Resolver: fetchRestorableDatabaseAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_documentdb), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cosmos_restorable_database_accounts", client.Namespacemicrosoft_documentdb), Transform: transformers.TransformWithStruct(&armcosmos.RestorableDatabaseAccountGetResult{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/costmanagement/views.go b/plugins/source/azure/resources/services/costmanagement/views.go index f31c7c236cfb6a..468e40bbb4fdb1 100644 --- a/plugins/source/azure/resources/services/costmanagement/views.go +++ b/plugins/source/azure/resources/services/costmanagement/views.go @@ -13,7 +13,7 @@ func Views() *schema.Table { return &schema.Table{ Name: "azure_costmanagement_views", Resolver: fetchViews, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_costmanagement), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_costmanagement_views", client.Namespacemicrosoft_costmanagement), Transform: transformers.TransformWithStruct(&armcostmanagement.View{}, transformers.WithSkipFields("ETag")), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/customerinsights/hubs.go b/plugins/source/azure/resources/services/customerinsights/hubs.go index 3af051e364b3a4..05d4b201ccb78d 100644 --- a/plugins/source/azure/resources/services/customerinsights/hubs.go +++ b/plugins/source/azure/resources/services/customerinsights/hubs.go @@ -13,7 +13,7 @@ func Hubs() *schema.Table { return &schema.Table{ Name: "azure_customerinsights_hubs", Resolver: fetchHubs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_customerinsights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_customerinsights_hubs", client.Namespacemicrosoft_customerinsights), Transform: transformers.TransformWithStruct(&armcustomerinsights.Hub{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/dashboard/grafana.go b/plugins/source/azure/resources/services/dashboard/grafana.go index 3e3cd951ac07fb..0e96f380318fa5 100644 --- a/plugins/source/azure/resources/services/dashboard/grafana.go +++ b/plugins/source/azure/resources/services/dashboard/grafana.go @@ -13,7 +13,7 @@ func Grafana() *schema.Table { return &schema.Table{ Name: "azure_dashboard_grafana", Resolver: fetchGrafana, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dashboard), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dashboard_grafana", client.Namespacemicrosoft_dashboard), Transform: transformers.TransformWithStruct(&armdashboard.ManagedGrafana{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/databox/jobs.go b/plugins/source/azure/resources/services/databox/jobs.go index 00f90a125e8fcd..76da6eb0da7588 100644 --- a/plugins/source/azure/resources/services/databox/jobs.go +++ b/plugins/source/azure/resources/services/databox/jobs.go @@ -13,7 +13,7 @@ func Jobs() *schema.Table { return &schema.Table{ Name: "azure_databox_jobs", Resolver: fetchJobs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_databox), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_databox_jobs", client.Namespacemicrosoft_databox), Transform: transformers.TransformWithStruct(&armdatabox.JobResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go b/plugins/source/azure/resources/services/datadog/marketplace_agreements.go index d41c88219c74f9..11686ea5275b54 100644 --- a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go +++ b/plugins/source/azure/resources/services/datadog/marketplace_agreements.go @@ -13,7 +13,7 @@ func MarketplaceAgreements() *schema.Table { return &schema.Table{ Name: "azure_datadog_marketplace_agreements", Resolver: fetchMarketplaceAgreements, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datadog), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datadog_marketplace_agreements", client.Namespacemicrosoft_datadog), Transform: transformers.TransformWithStruct(&armdatadog.AgreementResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datadog/monitors.go b/plugins/source/azure/resources/services/datadog/monitors.go index ddb5c9a97ad7b1..0782b1177aefef 100644 --- a/plugins/source/azure/resources/services/datadog/monitors.go +++ b/plugins/source/azure/resources/services/datadog/monitors.go @@ -13,7 +13,7 @@ func Monitors() *schema.Table { return &schema.Table{ Name: "azure_datadog_monitors", Resolver: fetchMonitors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datadog), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datadog_monitors", client.Namespacemicrosoft_datadog), Transform: transformers.TransformWithStruct(&armdatadog.MonitorResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datafactory/factories.go b/plugins/source/azure/resources/services/datafactory/factories.go index fa9c2cc45c03bd..0306de3006d4af 100644 --- a/plugins/source/azure/resources/services/datafactory/factories.go +++ b/plugins/source/azure/resources/services/datafactory/factories.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package datafactory import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" @@ -13,7 +13,7 @@ func Factories() *schema.Table { return &schema.Table{ Name: "azure_datafactory_factories", Resolver: fetchFactories, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datafactory), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datafactory_factories", client.Namespacemicrosoft_datafactory), Transform: transformers.TransformWithStruct(&armdatafactory.Factory{}, transformers.WithSkipFields("ETag")), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go b/plugins/source/azure/resources/services/datalakeanalytics/accounts.go index 4db40c89c38e2c..6d8f02d3c4ff6c 100644 --- a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go +++ b/plugins/source/azure/resources/services/datalakeanalytics/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_datalakeanalytics_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datalakeanalytics), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datalakeanalytics_accounts", client.Namespacemicrosoft_datalakeanalytics), Transform: transformers.TransformWithStruct(&armdatalakeanalytics.AccountBasic{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datalakestore/accounts.go b/plugins/source/azure/resources/services/datalakestore/accounts.go index 09374d48f66a97..2f61857271b719 100644 --- a/plugins/source/azure/resources/services/datalakestore/accounts.go +++ b/plugins/source/azure/resources/services/datalakestore/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_datalakestore_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datalakestore), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datalakestore_accounts", client.Namespacemicrosoft_datalakestore), Transform: transformers.TransformWithStruct(&armdatalakestore.AccountBasic{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/datamigration/services.go b/plugins/source/azure/resources/services/datamigration/services.go index a52ca6854e744f..a084760ef35036 100644 --- a/plugins/source/azure/resources/services/datamigration/services.go +++ b/plugins/source/azure/resources/services/datamigration/services.go @@ -13,7 +13,7 @@ func Services() *schema.Table { return &schema.Table{ Name: "azure_datamigration_services", Resolver: fetchServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_datamigration), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datamigration_services", client.Namespacemicrosoft_datamigration), Transform: transformers.TransformWithStruct(&armdatamigration.Service{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go b/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go index f3ac507943d3ba..3d4719d6e62bcc 100644 --- a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go +++ b/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go @@ -13,7 +13,7 @@ func HostPools() *schema.Table { return &schema.Table{ Name: "azure_desktopvirtualization_host_pools", Resolver: fetchHostPools, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_desktopvirtualization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_desktopvirtualization_host_pools", client.Namespacemicrosoft_desktopvirtualization), Transform: transformers.TransformWithStruct(&armdesktopvirtualization.HostPool{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/devhub/workflow.go b/plugins/source/azure/resources/services/devhub/workflow.go index 7718a548f83c7a..4300bc71e9ebc3 100644 --- a/plugins/source/azure/resources/services/devhub/workflow.go +++ b/plugins/source/azure/resources/services/devhub/workflow.go @@ -13,7 +13,7 @@ func Workflow() *schema.Table { return &schema.Table{ Name: "azure_devhub_workflow", Resolver: fetchWorkflow, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_devhub), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_devhub_workflow", client.Namespacemicrosoft_devhub), Transform: transformers.TransformWithStruct(&armdevhub.Workflow{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go b/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go index 613f2f6a28484e..93fc2c0f62ebc9 100644 --- a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go +++ b/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go @@ -13,7 +13,7 @@ func PipelineTemplateDefinitions() *schema.Table { return &schema.Table{ Name: "azure_devops_pipeline_template_definitions", Resolver: fetchPipelineTemplateDefinitions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_devops), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_devops_pipeline_template_definitions", client.Namespacemicrosoft_devops), Transform: transformers.TransformWithStruct(&armdevops.PipelineTemplateDefinition{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/dns/zones.go b/plugins/source/azure/resources/services/dns/zones.go index 53428b6644eebf..659fef0dde8190 100644 --- a/plugins/source/azure/resources/services/dns/zones.go +++ b/plugins/source/azure/resources/services/dns/zones.go @@ -13,7 +13,7 @@ func Zones() *schema.Table { return &schema.Table{ Name: "azure_dns_zones", Resolver: fetchZones, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dns_zones", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armdns.Zone{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go index b427aad2400e79..52721f2e8f3ec2 100644 --- a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go +++ b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go @@ -13,7 +13,7 @@ func DnsForwardingRulesets() *schema.Table { return &schema.Table{ Name: "azure_dnsresolver_dns_forwarding_rulesets", Resolver: fetchDnsForwardingRulesets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dnsresolver_dns_forwarding_rulesets", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armdnsresolver.DNSForwardingRuleset{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go index 71e2dede694047..58c00aace74507 100644 --- a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go +++ b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go @@ -13,7 +13,7 @@ func DnsResolvers() *schema.Table { return &schema.Table{ Name: "azure_dnsresolver_dns_resolvers", Resolver: fetchDnsResolvers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dnsresolver_dns_resolvers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armdnsresolver.DNSResolver{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/elastic/monitors.go b/plugins/source/azure/resources/services/elastic/monitors.go index a951930c50a9fd..047c9fdbda9c76 100644 --- a/plugins/source/azure/resources/services/elastic/monitors.go +++ b/plugins/source/azure/resources/services/elastic/monitors.go @@ -13,7 +13,7 @@ func Monitors() *schema.Table { return &schema.Table{ Name: "azure_elastic_monitors", Resolver: fetchMonitors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_elastic), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_elastic_monitors", client.Namespacemicrosoft_elastic), Transform: transformers.TransformWithStruct(&armelastic.MonitorResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/engagementfabric/accounts.go b/plugins/source/azure/resources/services/engagementfabric/accounts.go index 9d9c22c4b1ca80..c6b92fb607ac06 100644 --- a/plugins/source/azure/resources/services/engagementfabric/accounts.go +++ b/plugins/source/azure/resources/services/engagementfabric/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_engagementfabric_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_engagementfabric), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_engagementfabric_accounts", client.Namespacemicrosoft_engagementfabric), Transform: transformers.TransformWithStruct(&armengagementfabric.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/eventgrid/topic_types.go b/plugins/source/azure/resources/services/eventgrid/topic_types.go index 193c8cf9efdc1c..87ab9a0ef1ac76 100644 --- a/plugins/source/azure/resources/services/eventgrid/topic_types.go +++ b/plugins/source/azure/resources/services/eventgrid/topic_types.go @@ -13,7 +13,7 @@ func TopicTypes() *schema.Table { return &schema.Table{ Name: "azure_eventgrid_topic_types", Resolver: fetchTopicTypes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_eventgrid), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_eventgrid_topic_types", client.Namespacemicrosoft_eventgrid), Transform: transformers.TransformWithStruct(&armeventgrid.TopicTypeInfo{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/eventhub/namespaces.go b/plugins/source/azure/resources/services/eventhub/namespaces.go index 57804931bc5acd..38fb00189be694 100644 --- a/plugins/source/azure/resources/services/eventhub/namespaces.go +++ b/plugins/source/azure/resources/services/eventhub/namespaces.go @@ -13,7 +13,7 @@ func Namespaces() *schema.Table { return &schema.Table{ Name: "azure_eventhub_namespaces", Resolver: fetchNamespaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_eventhub), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_eventhub_namespaces", client.Namespacemicrosoft_eventhub), Transform: transformers.TransformWithStruct(&armeventhub.EHNamespace{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/frontdoor/front_doors.go b/plugins/source/azure/resources/services/frontdoor/front_doors.go index 30acc17e178c92..472f4bb082b574 100644 --- a/plugins/source/azure/resources/services/frontdoor/front_doors.go +++ b/plugins/source/azure/resources/services/frontdoor/front_doors.go @@ -13,7 +13,7 @@ func FrontDoors() *schema.Table { return &schema.Table{ Name: "azure_frontdoor_front_doors", Resolver: fetchFrontDoors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_front_doors", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armfrontdoor.FrontDoor{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go index c6205d6fde8b6e..f218b0bd80e3fe 100644 --- a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go +++ b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go @@ -13,7 +13,7 @@ func ManagedRuleSets() *schema.Table { return &schema.Table{ Name: "azure_frontdoor_managed_rule_sets", Resolver: fetchManagedRuleSets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_managed_rule_sets", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armfrontdoor.ManagedRuleSetDefinition{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go index d12990d69f7c02..df0f75ee01e4c1 100644 --- a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go +++ b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go @@ -13,7 +13,7 @@ func NetworkExperimentProfiles() *schema.Table { return &schema.Table{ Name: "azure_frontdoor_network_experiment_profiles", Resolver: fetchNetworkExperimentProfiles, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_network_experiment_profiles", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armfrontdoor.Profile{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go b/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go index f285e2c674529a..e21e6b145e2c02 100644 --- a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go +++ b/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go @@ -13,7 +13,7 @@ func SapMonitors() *schema.Table { return &schema.Table{ Name: "azure_hanaonazure_sap_monitors", Resolver: fetchSapMonitors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_hanaonazure), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hanaonazure_sap_monitors", client.Namespacemicrosoft_hanaonazure), Transform: transformers.TransformWithStruct(&armhanaonazure.SapMonitor{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/hdinsight/clusters.go b/plugins/source/azure/resources/services/hdinsight/clusters.go index f73e1386bb13c4..d428f471f97126 100644 --- a/plugins/source/azure/resources/services/hdinsight/clusters.go +++ b/plugins/source/azure/resources/services/hdinsight/clusters.go @@ -13,7 +13,7 @@ func Clusters() *schema.Table { return &schema.Table{ Name: "azure_hdinsight_clusters", Resolver: fetchClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_hdinsight), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hdinsight_clusters", client.Namespacemicrosoft_hdinsight), Transform: transformers.TransformWithStruct(&armhdinsight.Cluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/healthbot/bots.go b/plugins/source/azure/resources/services/healthbot/bots.go index 6b959f423e7186..c6de023770b5ca 100644 --- a/plugins/source/azure/resources/services/healthbot/bots.go +++ b/plugins/source/azure/resources/services/healthbot/bots.go @@ -13,7 +13,7 @@ func Bots() *schema.Table { return &schema.Table{ Name: "azure_healthbot_bots", Resolver: fetchBots, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_healthbot), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_healthbot_bots", client.Namespacemicrosoft_healthbot), Transform: transformers.TransformWithStruct(&armhealthbot.HealthBot{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/healthcareapis/services.go b/plugins/source/azure/resources/services/healthcareapis/services.go index 6c87a9ab475e68..696275de6a6af9 100644 --- a/plugins/source/azure/resources/services/healthcareapis/services.go +++ b/plugins/source/azure/resources/services/healthcareapis/services.go @@ -13,7 +13,7 @@ func Services() *schema.Table { return &schema.Table{ Name: "azure_healthcareapis_services", Resolver: fetchServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_healthcareapis), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_healthcareapis_services", client.Namespacemicrosoft_healthcareapis), Transform: transformers.TransformWithStruct(&armhealthcareapis.ServicesDescription{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go index 251b582d06ac91..f738d19df0ee46 100644 --- a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go +++ b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go @@ -13,7 +13,7 @@ func PrivateLinkScopes() *schema.Table { return &schema.Table{ Name: "azure_hybridcompute_private_link_scopes", Resolver: fetchPrivateLinkScopes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_hybridcompute), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hybridcompute_private_link_scopes", client.Namespacemicrosoft_hybridcompute), Transform: transformers.TransformWithStruct(&armhybridcompute.PrivateLinkScope{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go b/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go index 075803f2536607..bfcc1ea3004ac4 100644 --- a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go +++ b/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go @@ -13,7 +13,7 @@ func DataManagers() *schema.Table { return &schema.Table{ Name: "azure_hybriddatamanager_data_managers", Resolver: fetchDataManagers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_hybriddata), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hybriddatamanager_data_managers", client.Namespacemicrosoft_hybriddata), Transform: transformers.TransformWithStruct(&armhybriddatamanager.DataManager{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go b/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go index ac7241a4f28f65..e531a0b5462580 100644 --- a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go +++ b/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go @@ -13,7 +13,7 @@ func KeyvaultManagedHsms() *schema.Table { return &schema.Table{ Name: "azure_keyvault_keyvault_managed_hsms", Resolver: fetchKeyvaultManagedHsms, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_keyvault), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_keyvault_keyvault_managed_hsms", client.Namespacemicrosoft_keyvault), Transform: transformers.TransformWithStruct(&armkeyvault.ManagedHsm{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/kusto/clusters.go b/plugins/source/azure/resources/services/kusto/clusters.go index 9de55e124b154d..fbf5ffbee2b8a2 100644 --- a/plugins/source/azure/resources/services/kusto/clusters.go +++ b/plugins/source/azure/resources/services/kusto/clusters.go @@ -13,7 +13,7 @@ func Clusters() *schema.Table { return &schema.Table{ Name: "azure_kusto_clusters", Resolver: fetchClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_kusto), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_kusto_clusters", client.Namespacemicrosoft_kusto), Transform: transformers.TransformWithStruct(&armkusto.Cluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/logic/workflows.go b/plugins/source/azure/resources/services/logic/workflows.go index 915214f0210ab4..119d866a776659 100644 --- a/plugins/source/azure/resources/services/logic/workflows.go +++ b/plugins/source/azure/resources/services/logic/workflows.go @@ -13,7 +13,7 @@ func Workflows() *schema.Table { return &schema.Table{ Name: "azure_logic_workflows", Resolver: fetchWorkflows, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_logic), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_logic_workflows", client.Namespacemicrosoft_logic), Transform: transformers.TransformWithStruct(&armlogic.Workflow{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/maintenance/configurations.go b/plugins/source/azure/resources/services/maintenance/configurations.go index 46cc3c3daa5c78..afb7dd4d895742 100644 --- a/plugins/source/azure/resources/services/maintenance/configurations.go +++ b/plugins/source/azure/resources/services/maintenance/configurations.go @@ -13,7 +13,7 @@ func Configurations() *schema.Table { return &schema.Table{ Name: "azure_maintenance_configurations", Resolver: fetchConfigurations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_maintenance), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_maintenance_configurations", client.Namespacemicrosoft_maintenance), Transform: transformers.TransformWithStruct(&armmaintenance.Configuration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go index 2bb627f8c9a9db..083d508a2c9e1e 100644 --- a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go +++ b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go @@ -13,7 +13,7 @@ func PublicMaintenanceConfigurations() *schema.Table { return &schema.Table{ Name: "azure_maintenance_public_maintenance_configurations", Resolver: fetchPublicMaintenanceConfigurations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_maintenance), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_maintenance_public_maintenance_configurations", client.Namespacemicrosoft_maintenance), Transform: transformers.TransformWithStruct(&armmaintenance.Configuration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/mariadb/servers.go b/plugins/source/azure/resources/services/mariadb/servers.go index 38a919a974eef6..9f188c3619c638 100644 --- a/plugins/source/azure/resources/services/mariadb/servers.go +++ b/plugins/source/azure/resources/services/mariadb/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_mariadb_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbformariadb), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_mariadb_servers", client.Namespacemicrosoft_dbformariadb), Transform: transformers.TransformWithStruct(&armmariadb.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/marketplace/private_store.go b/plugins/source/azure/resources/services/marketplace/private_store.go index b2b68474fb3764..44a04c7bd89505 100644 --- a/plugins/source/azure/resources/services/marketplace/private_store.go +++ b/plugins/source/azure/resources/services/marketplace/private_store.go @@ -13,7 +13,7 @@ func PrivateStore() *schema.Table { return &schema.Table{ Name: "azure_marketplace_private_store", Resolver: fetchPrivateStore, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_marketplace), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_marketplace_private_store", client.Namespacemicrosoft_marketplace), Transform: transformers.TransformWithStruct(&armmarketplace.PrivateStore{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/monitor/log_profiles.go b/plugins/source/azure/resources/services/monitor/log_profiles.go index d404496b8d4863..77775ed68f55f6 100644 --- a/plugins/source/azure/resources/services/monitor/log_profiles.go +++ b/plugins/source/azure/resources/services/monitor/log_profiles.go @@ -13,7 +13,7 @@ func LogProfiles() *schema.Table { return &schema.Table{ Name: "azure_monitor_log_profiles", Resolver: fetchLogProfiles, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_log_profiles", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armmonitor.LogProfileResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/monitor/private_link_scopes.go b/plugins/source/azure/resources/services/monitor/private_link_scopes.go index b0ef482f41db9b..771bb3e2ff20ca 100644 --- a/plugins/source/azure/resources/services/monitor/private_link_scopes.go +++ b/plugins/source/azure/resources/services/monitor/private_link_scopes.go @@ -13,7 +13,7 @@ func PrivateLinkScopes() *schema.Table { return &schema.Table{ Name: "azure_monitor_private_link_scopes", Resolver: fetchPrivateLinkScopes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_private_link_scopes", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armmonitor.AzureMonitorPrivateLinkScope{}), Columns: []schema.Column{ { 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 index 00782e2df92997..d02bcdd9070328 100644 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go +++ b/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go @@ -13,7 +13,7 @@ func TenantActivityLogAlerts() *schema.Table { return &schema.Table{ Name: "azure_monitor_tenant_activity_log_alerts", Resolver: fetchTenantActivityLogAlerts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_tenant_activity_log_alerts", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armmonitor.ActivityLogAlertResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go b/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go index 7026f425eafd44..f49e076549646b 100644 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go +++ b/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go @@ -13,7 +13,7 @@ func TenantActivityLogs() *schema.Table { return &schema.Table{ Name: "azure_monitor_tenant_activity_logs", Resolver: fetchTenantActivityLogs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_insights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_tenant_activity_logs", client.Namespacemicrosoft_insights), Transform: transformers.TransformWithStruct(&armmonitor.EventData{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/mysql/servers.go b/plugins/source/azure/resources/services/mysql/servers.go index 7bd1afeaa67bb8..8ab6eb5227f347 100644 --- a/plugins/source/azure/resources/services/mysql/servers.go +++ b/plugins/source/azure/resources/services/mysql/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_mysql_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbformysql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_mysql_servers", client.Namespacemicrosoft_dbformysql), Transform: transformers.TransformWithStruct(&armmysql.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go b/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go index f80161c88748f0..aeef41ec5e70b6 100644 --- a/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go +++ b/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_mysqlflexibleservers_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbformysql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_mysqlflexibleservers_servers", client.Namespacemicrosoft_dbformysql), Transform: transformers.TransformWithStruct(&armmysqlflexibleservers.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/application_gateways.go b/plugins/source/azure/resources/services/network/application_gateways.go index 368bbc3a20d675..e8e11f0a741384 100644 --- a/plugins/source/azure/resources/services/network/application_gateways.go +++ b/plugins/source/azure/resources/services/network/application_gateways.go @@ -13,7 +13,7 @@ func ApplicationGateways() *schema.Table { return &schema.Table{ Name: "azure_network_application_gateways", Resolver: fetchApplicationGateways, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_application_gateways", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ApplicationGateway{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/application_security_groups.go b/plugins/source/azure/resources/services/network/application_security_groups.go index c5dca4d085d675..fcaf143344d54f 100644 --- a/plugins/source/azure/resources/services/network/application_security_groups.go +++ b/plugins/source/azure/resources/services/network/application_security_groups.go @@ -13,7 +13,7 @@ func ApplicationSecurityGroups() *schema.Table { return &schema.Table{ Name: "azure_network_application_security_groups", Resolver: fetchApplicationSecurityGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_application_security_groups", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ApplicationSecurityGroup{}), Columns: []schema.Column{ { 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 index 468a637cbf1d38..364166a3bd90f1 100644 --- a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go +++ b/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go @@ -13,7 +13,7 @@ func AzureFirewallFqdnTags() *schema.Table { return &schema.Table{ Name: "azure_network_azure_firewall_fqdn_tags", Resolver: fetchAzureFirewallFqdnTags, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_azure_firewall_fqdn_tags", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.AzureFirewallFqdnTag{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/azure_firewalls.go b/plugins/source/azure/resources/services/network/azure_firewalls.go index c454f80fb5bd87..7f349a088030ae 100644 --- a/plugins/source/azure/resources/services/network/azure_firewalls.go +++ b/plugins/source/azure/resources/services/network/azure_firewalls.go @@ -13,7 +13,7 @@ func AzureFirewalls() *schema.Table { return &schema.Table{ Name: "azure_network_azure_firewalls", Resolver: fetchAzureFirewalls, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_azure_firewalls", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.AzureFirewall{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/bastion_hosts.go b/plugins/source/azure/resources/services/network/bastion_hosts.go index 91c2f4c646c0ae..58d9ffd7c131a2 100644 --- a/plugins/source/azure/resources/services/network/bastion_hosts.go +++ b/plugins/source/azure/resources/services/network/bastion_hosts.go @@ -13,7 +13,7 @@ func BastionHosts() *schema.Table { return &schema.Table{ Name: "azure_network_bastion_hosts", Resolver: fetchBastionHosts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_bastion_hosts", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.BastionHost{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/bgp_service_communities.go b/plugins/source/azure/resources/services/network/bgp_service_communities.go index afd6ac91896370..d74479a3715313 100644 --- a/plugins/source/azure/resources/services/network/bgp_service_communities.go +++ b/plugins/source/azure/resources/services/network/bgp_service_communities.go @@ -13,7 +13,7 @@ func BgpServiceCommunities() *schema.Table { return &schema.Table{ Name: "azure_network_bgp_service_communities", Resolver: fetchBgpServiceCommunities, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_bgp_service_communities", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.BgpServiceCommunity{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go b/plugins/source/azure/resources/services/network/custom_ip_prefixes.go index cba063e00e7d34..92bd6a7ecb31a5 100644 --- a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go +++ b/plugins/source/azure/resources/services/network/custom_ip_prefixes.go @@ -13,7 +13,7 @@ func CustomIpPrefixes() *schema.Table { return &schema.Table{ Name: "azure_network_custom_ip_prefixes", Resolver: fetchCustomIpPrefixes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_custom_ip_prefixes", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.CustomIPPrefix{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/ddos_protection_plans.go b/plugins/source/azure/resources/services/network/ddos_protection_plans.go index 64e02669c09934..b2abb02c837cfd 100644 --- a/plugins/source/azure/resources/services/network/ddos_protection_plans.go +++ b/plugins/source/azure/resources/services/network/ddos_protection_plans.go @@ -13,7 +13,7 @@ func DdosProtectionPlans() *schema.Table { return &schema.Table{ Name: "azure_network_ddos_protection_plans", Resolver: fetchDdosProtectionPlans, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ddos_protection_plans", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.DdosProtectionPlan{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/dscp_configuration.go b/plugins/source/azure/resources/services/network/dscp_configuration.go index f47e9e532dddad..c365623352303b 100644 --- a/plugins/source/azure/resources/services/network/dscp_configuration.go +++ b/plugins/source/azure/resources/services/network/dscp_configuration.go @@ -13,7 +13,7 @@ func DscpConfiguration() *schema.Table { return &schema.Table{ Name: "azure_network_dscp_configuration", Resolver: fetchDscpConfiguration, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_dscp_configuration", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.DscpConfiguration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/express_route_circuits.go b/plugins/source/azure/resources/services/network/express_route_circuits.go index c7ba94e8f1ec5c..26c85ed0089737 100644 --- a/plugins/source/azure/resources/services/network/express_route_circuits.go +++ b/plugins/source/azure/resources/services/network/express_route_circuits.go @@ -13,7 +13,7 @@ func ExpressRouteCircuits() *schema.Table { return &schema.Table{ Name: "azure_network_express_route_circuits", Resolver: fetchExpressRouteCircuits, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_circuits", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteCircuit{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/express_route_gateways.go b/plugins/source/azure/resources/services/network/express_route_gateways.go index 9bf522fbf4c3f6..ab2f159ae7d9d3 100644 --- a/plugins/source/azure/resources/services/network/express_route_gateways.go +++ b/plugins/source/azure/resources/services/network/express_route_gateways.go @@ -11,7 +11,7 @@ func ExpressRouteGateways() *schema.Table { return &schema.Table{ Name: "azure_network_express_route_gateways", Resolver: fetchExpressRouteGateways, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_gateways", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteGateway{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/express_route_ports.go b/plugins/source/azure/resources/services/network/express_route_ports.go index f6aa06d5894ee4..174bf4191c3a4c 100644 --- a/plugins/source/azure/resources/services/network/express_route_ports.go +++ b/plugins/source/azure/resources/services/network/express_route_ports.go @@ -13,7 +13,7 @@ func ExpressRoutePorts() *schema.Table { return &schema.Table{ Name: "azure_network_express_route_ports", Resolver: fetchExpressRoutePorts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_ports", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ExpressRoutePort{}), Columns: []schema.Column{ { 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 index 5b5c4c51c01843..165e09d227b815 100644 --- a/plugins/source/azure/resources/services/network/express_route_ports_locations.go +++ b/plugins/source/azure/resources/services/network/express_route_ports_locations.go @@ -13,7 +13,7 @@ func ExpressRoutePortsLocations() *schema.Table { return &schema.Table{ Name: "azure_network_express_route_ports_locations", Resolver: fetchExpressRoutePortsLocations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_ports_locations", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ExpressRoutePortsLocation{}), Columns: []schema.Column{ { 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 index b93056b561ca9a..53d2198f0c83da 100644 --- a/plugins/source/azure/resources/services/network/express_route_service_providers.go +++ b/plugins/source/azure/resources/services/network/express_route_service_providers.go @@ -13,7 +13,7 @@ func ExpressRouteServiceProviders() *schema.Table { return &schema.Table{ Name: "azure_network_express_route_service_providers", Resolver: fetchExpressRouteServiceProviders, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_service_providers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteServiceProvider{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/firewall_policies.go b/plugins/source/azure/resources/services/network/firewall_policies.go index 3fe656632c67d6..4a71965114f421 100644 --- a/plugins/source/azure/resources/services/network/firewall_policies.go +++ b/plugins/source/azure/resources/services/network/firewall_policies.go @@ -13,7 +13,7 @@ func FirewallPolicies() *schema.Table { return &schema.Table{ Name: "azure_network_firewall_policies", Resolver: fetchFirewallPolicies, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_firewall_policies", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.FirewallPolicy{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/interfaces.go b/plugins/source/azure/resources/services/network/interfaces.go index ab7e72446a173d..e506dd051d62e3 100644 --- a/plugins/source/azure/resources/services/network/interfaces.go +++ b/plugins/source/azure/resources/services/network/interfaces.go @@ -13,7 +13,7 @@ func Interfaces() *schema.Table { return &schema.Table{ Name: "azure_network_interfaces", Resolver: fetchInterfaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_interfaces", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.Interface{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/ip_allocations.go b/plugins/source/azure/resources/services/network/ip_allocations.go index bafe1593264594..3153e183c4b2af 100644 --- a/plugins/source/azure/resources/services/network/ip_allocations.go +++ b/plugins/source/azure/resources/services/network/ip_allocations.go @@ -13,7 +13,7 @@ func IpAllocations() *schema.Table { return &schema.Table{ Name: "azure_network_ip_allocations", Resolver: fetchIpAllocations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ip_allocations", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.IPAllocation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/ip_groups.go b/plugins/source/azure/resources/services/network/ip_groups.go index 2f17e9695645c0..97172304a1c43e 100644 --- a/plugins/source/azure/resources/services/network/ip_groups.go +++ b/plugins/source/azure/resources/services/network/ip_groups.go @@ -13,7 +13,7 @@ func IpGroups() *schema.Table { return &schema.Table{ Name: "azure_network_ip_groups", Resolver: fetchIpGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ip_groups", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.IPGroup{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/load_balancers.go b/plugins/source/azure/resources/services/network/load_balancers.go index da0153cac743f7..cb6a6a220a3561 100644 --- a/plugins/source/azure/resources/services/network/load_balancers.go +++ b/plugins/source/azure/resources/services/network/load_balancers.go @@ -13,7 +13,7 @@ func LoadBalancers() *schema.Table { return &schema.Table{ Name: "azure_network_load_balancers", Resolver: fetchLoadBalancers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_load_balancers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.LoadBalancer{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/nat_gateways.go b/plugins/source/azure/resources/services/network/nat_gateways.go index 8c16e4359ad75c..435aeff9cde017 100644 --- a/plugins/source/azure/resources/services/network/nat_gateways.go +++ b/plugins/source/azure/resources/services/network/nat_gateways.go @@ -13,7 +13,7 @@ func NatGateways() *schema.Table { return &schema.Table{ Name: "azure_network_nat_gateways", Resolver: fetchNatGateways, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_nat_gateways", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.NatGateway{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/profiles.go b/plugins/source/azure/resources/services/network/profiles.go index f9690197e5d863..c2e8a836ebc729 100644 --- a/plugins/source/azure/resources/services/network/profiles.go +++ b/plugins/source/azure/resources/services/network/profiles.go @@ -13,7 +13,7 @@ func Profiles() *schema.Table { return &schema.Table{ Name: "azure_network_profiles", Resolver: fetchProfiles, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_profiles", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.Profile{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/public_ip_addresses.go b/plugins/source/azure/resources/services/network/public_ip_addresses.go index c9b908e7a5dd48..8d6c6e95eebe6e 100644 --- a/plugins/source/azure/resources/services/network/public_ip_addresses.go +++ b/plugins/source/azure/resources/services/network/public_ip_addresses.go @@ -13,7 +13,7 @@ func PublicIpAddresses() *schema.Table { return &schema.Table{ Name: "azure_network_public_ip_addresses", Resolver: fetchPublicIpAddresses, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_public_ip_addresses", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.PublicIPAddress{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/public_ip_prefixes.go b/plugins/source/azure/resources/services/network/public_ip_prefixes.go index 649c5b1f6f2a28..d297b95e3aba6c 100644 --- a/plugins/source/azure/resources/services/network/public_ip_prefixes.go +++ b/plugins/source/azure/resources/services/network/public_ip_prefixes.go @@ -13,7 +13,7 @@ func PublicIpPrefixes() *schema.Table { return &schema.Table{ Name: "azure_network_public_ip_prefixes", Resolver: fetchPublicIpPrefixes, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_public_ip_prefixes", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.PublicIPPrefix{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/route_filters.go b/plugins/source/azure/resources/services/network/route_filters.go index 69475ad39faba0..cd1d30c0ad7838 100644 --- a/plugins/source/azure/resources/services/network/route_filters.go +++ b/plugins/source/azure/resources/services/network/route_filters.go @@ -13,7 +13,7 @@ func RouteFilters() *schema.Table { return &schema.Table{ Name: "azure_network_route_filters", Resolver: fetchRouteFilters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_route_filters", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.RouteFilter{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/route_tables.go b/plugins/source/azure/resources/services/network/route_tables.go index 24b6460c37a2b1..79ade60083fa7f 100644 --- a/plugins/source/azure/resources/services/network/route_tables.go +++ b/plugins/source/azure/resources/services/network/route_tables.go @@ -13,7 +13,7 @@ func RouteTables() *schema.Table { return &schema.Table{ Name: "azure_network_route_tables", Resolver: fetchRouteTables, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_route_tables", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.RouteTable{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/security_groups.go b/plugins/source/azure/resources/services/network/security_groups.go index 01d4f650b1d49a..42d40804c88885 100644 --- a/plugins/source/azure/resources/services/network/security_groups.go +++ b/plugins/source/azure/resources/services/network/security_groups.go @@ -13,7 +13,7 @@ func SecurityGroups() *schema.Table { return &schema.Table{ Name: "azure_network_security_groups", Resolver: fetchSecurityGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_security_groups", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.SecurityGroup{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/security_partner_providers.go b/plugins/source/azure/resources/services/network/security_partner_providers.go index bd3fa1ea9633d8..1a72e82c2671a8 100644 --- a/plugins/source/azure/resources/services/network/security_partner_providers.go +++ b/plugins/source/azure/resources/services/network/security_partner_providers.go @@ -13,7 +13,7 @@ func SecurityPartnerProviders() *schema.Table { return &schema.Table{ Name: "azure_network_security_partner_providers", Resolver: fetchSecurityPartnerProviders, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_security_partner_providers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.SecurityPartnerProvider{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/service_endpoint_policies.go b/plugins/source/azure/resources/services/network/service_endpoint_policies.go index b0a9e1b5f9b0e5..a49eab629dcb79 100644 --- a/plugins/source/azure/resources/services/network/service_endpoint_policies.go +++ b/plugins/source/azure/resources/services/network/service_endpoint_policies.go @@ -13,7 +13,7 @@ func ServiceEndpointPolicies() *schema.Table { return &schema.Table{ Name: "azure_network_service_endpoint_policies", Resolver: fetchServiceEndpointPolicies, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_service_endpoint_policies", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ServiceEndpointPolicy{}), Columns: []schema.Column{ { 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 index 4052f81d58f46c..063a3f9c380bca 100644 --- a/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go +++ b/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go @@ -13,7 +13,7 @@ func SubscriptionNetworkManagerConnections() *schema.Table { return &schema.Table{ Name: "azure_network_subscription_network_manager_connections", Resolver: fetchSubscriptionNetworkManagerConnections, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_subscription_network_manager_connections", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.ManagerConnection{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_appliances.go b/plugins/source/azure/resources/services/network/virtual_appliances.go index 7d93c75947c5d9..0cb22ad93c1ce7 100644 --- a/plugins/source/azure/resources/services/network/virtual_appliances.go +++ b/plugins/source/azure/resources/services/network/virtual_appliances.go @@ -13,7 +13,7 @@ func VirtualAppliances() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_appliances", Resolver: fetchVirtualAppliances, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_appliances", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualAppliance{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_hubs.go b/plugins/source/azure/resources/services/network/virtual_hubs.go index e91f0ab5f70e11..7ac3c0c8bc3c27 100644 --- a/plugins/source/azure/resources/services/network/virtual_hubs.go +++ b/plugins/source/azure/resources/services/network/virtual_hubs.go @@ -13,7 +13,7 @@ func VirtualHubs() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_hubs", Resolver: fetchVirtualHubs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_hubs", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualHub{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_network_taps.go b/plugins/source/azure/resources/services/network/virtual_network_taps.go index 98c7ae2f1b5eac..2adc4d1f6ac44d 100644 --- a/plugins/source/azure/resources/services/network/virtual_network_taps.go +++ b/plugins/source/azure/resources/services/network/virtual_network_taps.go @@ -13,7 +13,7 @@ func VirtualNetworkTaps() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_network_taps", Resolver: fetchVirtualNetworkTaps, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_network_taps", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetworkTap{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_networks.go b/plugins/source/azure/resources/services/network/virtual_networks.go index a86e442ec8a9ea..65f8a22f3dab26 100644 --- a/plugins/source/azure/resources/services/network/virtual_networks.go +++ b/plugins/source/azure/resources/services/network/virtual_networks.go @@ -13,7 +13,7 @@ func VirtualNetworks() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_networks", Resolver: fetchVirtualNetworks, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_networks", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetwork{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_routers.go b/plugins/source/azure/resources/services/network/virtual_routers.go index ab8e6c01fbc034..884656b4b8be1c 100644 --- a/plugins/source/azure/resources/services/network/virtual_routers.go +++ b/plugins/source/azure/resources/services/network/virtual_routers.go @@ -13,7 +13,7 @@ func VirtualRouters() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_routers", Resolver: fetchVirtualRouters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_routers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualRouter{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/virtual_wans.go b/plugins/source/azure/resources/services/network/virtual_wans.go index 3c23d6a614faba..cdbc17251bd486 100644 --- a/plugins/source/azure/resources/services/network/virtual_wans.go +++ b/plugins/source/azure/resources/services/network/virtual_wans.go @@ -13,7 +13,7 @@ func VirtualWans() *schema.Table { return &schema.Table{ Name: "azure_network_virtual_wans", Resolver: fetchVirtualWans, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_wans", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VirtualWAN{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/vpn_gateways.go b/plugins/source/azure/resources/services/network/vpn_gateways.go index 2188c69a667662..c381a6b6af5b47 100644 --- a/plugins/source/azure/resources/services/network/vpn_gateways.go +++ b/plugins/source/azure/resources/services/network/vpn_gateways.go @@ -13,7 +13,7 @@ func VpnGateways() *schema.Table { return &schema.Table{ Name: "azure_network_vpn_gateways", Resolver: fetchVpnGateways, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_gateways", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VPNGateway{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/vpn_server_configurations.go b/plugins/source/azure/resources/services/network/vpn_server_configurations.go index 0ebd00310970e0..3db192332a2b93 100644 --- a/plugins/source/azure/resources/services/network/vpn_server_configurations.go +++ b/plugins/source/azure/resources/services/network/vpn_server_configurations.go @@ -13,7 +13,7 @@ func VpnServerConfigurations() *schema.Table { return &schema.Table{ Name: "azure_network_vpn_server_configurations", Resolver: fetchVpnServerConfigurations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_server_configurations", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VPNServerConfiguration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/vpn_sites.go b/plugins/source/azure/resources/services/network/vpn_sites.go index d650045c715434..843254b303f28c 100644 --- a/plugins/source/azure/resources/services/network/vpn_sites.go +++ b/plugins/source/azure/resources/services/network/vpn_sites.go @@ -13,7 +13,7 @@ func VpnSites() *schema.Table { return &schema.Table{ Name: "azure_network_vpn_sites", Resolver: fetchVpnSites, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_sites", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.VPNSite{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/network/watchers.go b/plugins/source/azure/resources/services/network/watchers.go index 3bce82e5ce2441..408a678cb315e5 100644 --- a/plugins/source/azure/resources/services/network/watchers.go +++ b/plugins/source/azure/resources/services/network/watchers.go @@ -13,7 +13,7 @@ func Watchers() *schema.Table { return &schema.Table{ Name: "azure_network_watchers", Resolver: fetchWatchers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_watchers", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.Watcher{}), Columns: []schema.Column{ { 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 index 6a545b8fcab439..147f62c22b2b9f 100644 --- a/plugins/source/azure/resources/services/network/web_application_firewall_policies.go +++ b/plugins/source/azure/resources/services/network/web_application_firewall_policies.go @@ -13,7 +13,7 @@ func WebApplicationFirewallPolicies() *schema.Table { return &schema.Table{ Name: "azure_network_web_application_firewall_policies", Resolver: fetchWebApplicationFirewallPolicies, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_web_application_firewall_policies", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armnetwork.WebApplicationFirewallPolicy{}), Columns: []schema.Column{ { 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 index 5f9297fdd509ce..8edee704a5716d 100644 --- 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 @@ -13,7 +13,7 @@ func AzureTrafficCollectorsBySubscription() *schema.Table { return &schema.Table{ Name: "azure_networkfunction_azure_traffic_collectors_by_subscription", Resolver: fetchAzureTrafficCollectorsBySubscription, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_networkfunction), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_networkfunction_azure_traffic_collectors_by_subscription", client.Namespacemicrosoft_networkfunction), Transform: transformers.TransformWithStruct(&armnetworkfunction.AzureTrafficCollector{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/nginx/deployments.go b/plugins/source/azure/resources/services/nginx/deployments.go index f5150e793909e7..b051e8514d53fa 100644 --- a/plugins/source/azure/resources/services/nginx/deployments.go +++ b/plugins/source/azure/resources/services/nginx/deployments.go @@ -13,7 +13,7 @@ func Deployments() *schema.Table { return &schema.Table{ Name: "azure_nginx_deployments", Resolver: fetchDeployments, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacenginx_nginxplus), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_nginx_deployments", client.Namespacenginx_nginxplus), Transform: transformers.TransformWithStruct(&armnginx.Deployment{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/notificationhubs/namespaces.go b/plugins/source/azure/resources/services/notificationhubs/namespaces.go index 58eec9ad893bb3..2af7453c4da94d 100644 --- a/plugins/source/azure/resources/services/notificationhubs/namespaces.go +++ b/plugins/source/azure/resources/services/notificationhubs/namespaces.go @@ -13,7 +13,7 @@ func Namespaces() *schema.Table { return &schema.Table{ Name: "azure_notificationhubs_namespaces", Resolver: fetchNamespaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_notificationhubs), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_notificationhubs_namespaces", client.Namespacemicrosoft_notificationhubs), Transform: transformers.TransformWithStruct(&armnotificationhubs.NamespaceResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/operationalinsights/clusters.go b/plugins/source/azure/resources/services/operationalinsights/clusters.go index c32081448250a2..98e13213e5c310 100644 --- a/plugins/source/azure/resources/services/operationalinsights/clusters.go +++ b/plugins/source/azure/resources/services/operationalinsights/clusters.go @@ -13,7 +13,7 @@ func Clusters() *schema.Table { return &schema.Table{ Name: "azure_operationalinsights_clusters", Resolver: fetchClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_operationalinsights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_operationalinsights_clusters", client.Namespacemicrosoft_operationalinsights), Transform: transformers.TransformWithStruct(&armoperationalinsights.Cluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/operationalinsights/workspaces.go b/plugins/source/azure/resources/services/operationalinsights/workspaces.go index e44888a4aad3ab..1bb7813633550e 100644 --- a/plugins/source/azure/resources/services/operationalinsights/workspaces.go +++ b/plugins/source/azure/resources/services/operationalinsights/workspaces.go @@ -13,7 +13,7 @@ func Workspaces() *schema.Table { return &schema.Table{ Name: "azure_operationalinsights_workspaces", Resolver: fetchWorkspaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_operationalinsights), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_operationalinsights_workspaces", client.Namespacemicrosoft_operationalinsights), Transform: transformers.TransformWithStruct(&armoperationalinsights.Workspace{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/peering/service_countries.go b/plugins/source/azure/resources/services/peering/service_countries.go index 9a0a2ab507ffe5..77f0e29f1aff63 100644 --- a/plugins/source/azure/resources/services/peering/service_countries.go +++ b/plugins/source/azure/resources/services/peering/service_countries.go @@ -13,7 +13,7 @@ func ServiceCountries() *schema.Table { return &schema.Table{ Name: "azure_peering_service_countries", Resolver: fetchServiceCountries, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_peering), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_peering_service_countries", client.Namespacemicrosoft_peering), Transform: transformers.TransformWithStruct(&armpeering.ServiceCountry{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/peering/service_locations.go b/plugins/source/azure/resources/services/peering/service_locations.go index 69b4dad772f4e0..6f4f5cbc72efd1 100644 --- a/plugins/source/azure/resources/services/peering/service_locations.go +++ b/plugins/source/azure/resources/services/peering/service_locations.go @@ -13,7 +13,7 @@ func ServiceLocations() *schema.Table { return &schema.Table{ Name: "azure_peering_service_locations", Resolver: fetchServiceLocations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_peering), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_peering_service_locations", client.Namespacemicrosoft_peering), Transform: transformers.TransformWithStruct(&armpeering.ServiceLocation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/peering/service_providers.go b/plugins/source/azure/resources/services/peering/service_providers.go index c4346677f2389c..15d0385d1ef4d5 100644 --- a/plugins/source/azure/resources/services/peering/service_providers.go +++ b/plugins/source/azure/resources/services/peering/service_providers.go @@ -13,7 +13,7 @@ func ServiceProviders() *schema.Table { return &schema.Table{ Name: "azure_peering_service_providers", Resolver: fetchServiceProviders, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_peering), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_peering_service_providers", client.Namespacemicrosoft_peering), Transform: transformers.TransformWithStruct(&armpeering.ServiceProvider{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/policy/assignments.go b/plugins/source/azure/resources/services/policy/assignments.go index 40cbac9b63270f..3be6c642fd7b7a 100644 --- a/plugins/source/azure/resources/services/policy/assignments.go +++ b/plugins/source/azure/resources/services/policy/assignments.go @@ -13,7 +13,7 @@ func Assignments() *schema.Table { return &schema.Table{ Name: "azure_policy_assignments", Resolver: fetchAssignments, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_assignments", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armpolicy.Assignment{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/policy/data_policy_manifests.go b/plugins/source/azure/resources/services/policy/data_policy_manifests.go index f5355a4c040398..9ea169f906ed36 100644 --- a/plugins/source/azure/resources/services/policy/data_policy_manifests.go +++ b/plugins/source/azure/resources/services/policy/data_policy_manifests.go @@ -13,7 +13,7 @@ func DataPolicyManifests() *schema.Table { return &schema.Table{ Name: "azure_policy_data_policy_manifests", Resolver: fetchDataPolicyManifests, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_data_policy_manifests", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armpolicy.DataPolicyManifest{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/policy/definitions.go b/plugins/source/azure/resources/services/policy/definitions.go index ab0f3617b42020..37f3841a84061d 100644 --- a/plugins/source/azure/resources/services/policy/definitions.go +++ b/plugins/source/azure/resources/services/policy/definitions.go @@ -13,7 +13,7 @@ func Definitions() *schema.Table { return &schema.Table{ Name: "azure_policy_definitions", Resolver: fetchDefinitions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_definitions", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armpolicy.Definition{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/policy/exemptions.go b/plugins/source/azure/resources/services/policy/exemptions.go index 53be8afe1a185e..69c2cea3f415e1 100644 --- a/plugins/source/azure/resources/services/policy/exemptions.go +++ b/plugins/source/azure/resources/services/policy/exemptions.go @@ -13,7 +13,7 @@ func Exemptions() *schema.Table { return &schema.Table{ Name: "azure_policy_exemptions", Resolver: fetchExemptions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_exemptions", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armpolicy.Exemption{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/policy/set_definitions.go b/plugins/source/azure/resources/services/policy/set_definitions.go index b7b95514a21311..43a276eb45ff8d 100644 --- a/plugins/source/azure/resources/services/policy/set_definitions.go +++ b/plugins/source/azure/resources/services/policy/set_definitions.go @@ -13,7 +13,7 @@ func SetDefinitions() *schema.Table { return &schema.Table{ Name: "azure_policy_set_definitions", Resolver: fetchSetDefinitions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_authorization), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_set_definitions", client.Namespacemicrosoft_authorization), Transform: transformers.TransformWithStruct(&armpolicy.SetDefinition{}), Columns: []schema.Column{ { 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 index 48685a76d66fdd..ecf5c28ebfe9cf 100644 --- a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go +++ b/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go @@ -13,7 +13,7 @@ func ListTenantConfigurationViolations() *schema.Table { return &schema.Table{ Name: "azure_portal_list_tenant_configuration_violations", Resolver: fetchListTenantConfigurationViolations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_portal), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_portal_list_tenant_configuration_violations", client.Namespacemicrosoft_portal), Transform: transformers.TransformWithStruct(&armportal.Violation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/portal/tenant_configurations.go b/plugins/source/azure/resources/services/portal/tenant_configurations.go index b8cee705bc76d9..89e6f8178292e5 100644 --- a/plugins/source/azure/resources/services/portal/tenant_configurations.go +++ b/plugins/source/azure/resources/services/portal/tenant_configurations.go @@ -13,7 +13,7 @@ func TenantConfigurations() *schema.Table { return &schema.Table{ Name: "azure_portal_tenant_configurations", Resolver: fetchTenantConfigurations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_portal), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_portal_tenant_configurations", client.Namespacemicrosoft_portal), Transform: transformers.TransformWithStruct(&armportal.Configuration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/postgresql/servers.go b/plugins/source/azure/resources/services/postgresql/servers.go index c1ff82f113ebba..3b8a77eb863c9f 100644 --- a/plugins/source/azure/resources/services/postgresql/servers.go +++ b/plugins/source/azure/resources/services/postgresql/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_postgresql_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbforpostgresql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_postgresql_servers", client.Namespacemicrosoft_dbforpostgresql), Transform: transformers.TransformWithStruct(&armpostgresql.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go index 91905ab749a05e..c7d061fe6d64d7 100644 --- a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go +++ b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_postgresqlflexibleservers_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbforpostgresql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_postgresqlflexibleservers_servers", client.Namespacemicrosoft_dbforpostgresql), Transform: transformers.TransformWithStruct(&armpostgresqlflexibleservers.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go b/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go index 1a953c4b73c8a8..2f7006ea97e270 100644 --- a/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go +++ b/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go @@ -13,7 +13,7 @@ func ServerGroups() *schema.Table { return &schema.Table{ Name: "azure_postgresqlhsc_server_groups", Resolver: fetchServerGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_dbforpostgresql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_postgresqlhsc_server_groups", client.Namespacemicrosoft_dbforpostgresql), Transform: transformers.TransformWithStruct(&armpostgresqlhsc.ServerGroup{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/powerbidedicated/capacities.go b/plugins/source/azure/resources/services/powerbidedicated/capacities.go index 5b052bf81c8cb3..b1352670548f6b 100644 --- a/plugins/source/azure/resources/services/powerbidedicated/capacities.go +++ b/plugins/source/azure/resources/services/powerbidedicated/capacities.go @@ -13,7 +13,7 @@ func Capacities() *schema.Table { return &schema.Table{ Name: "azure_powerbidedicated_capacities", Resolver: fetchCapacities, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_powerbidedicated), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_powerbidedicated_capacities", client.Namespacemicrosoft_powerbidedicated), Transform: transformers.TransformWithStruct(&armpowerbidedicated.DedicatedCapacity{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/privatedns/private_zones.go b/plugins/source/azure/resources/services/privatedns/private_zones.go index f6bd3b0042cd24..a5235d32256a8f 100644 --- a/plugins/source/azure/resources/services/privatedns/private_zones.go +++ b/plugins/source/azure/resources/services/privatedns/private_zones.go @@ -13,7 +13,7 @@ func PrivateZones() *schema.Table { return &schema.Table{ Name: "azure_privatedns_private_zones", Resolver: fetchPrivateZones, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_network), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_privatedns_private_zones", client.Namespacemicrosoft_network), Transform: transformers.TransformWithStruct(&armprivatedns.PrivateZone{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/providerhub/provider_registrations.go b/plugins/source/azure/resources/services/providerhub/provider_registrations.go index 870915d61ce7b8..53d6595220d09e 100644 --- a/plugins/source/azure/resources/services/providerhub/provider_registrations.go +++ b/plugins/source/azure/resources/services/providerhub/provider_registrations.go @@ -13,7 +13,7 @@ func ProviderRegistrations() *schema.Table { return &schema.Table{ Name: "azure_providerhub_provider_registrations", Resolver: fetchProviderRegistrations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_providerhub), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_providerhub_provider_registrations", client.Namespacemicrosoft_providerhub), Transform: transformers.TransformWithStruct(&armproviderhub.ProviderRegistration{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go index 9cd73da92dd2f4..eae39e4556a3d7 100644 --- a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go +++ b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go @@ -13,7 +13,7 @@ func OpenShiftClusters() *schema.Table { return &schema.Table{ Name: "azure_redhatopenshift_open_shift_clusters", Resolver: fetchOpenShiftClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_redhatopenshift), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_redhatopenshift_open_shift_clusters", client.Namespacemicrosoft_redhatopenshift), Transform: transformers.TransformWithStruct(&armredhatopenshift.OpenShiftCluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/redis/caches.go b/plugins/source/azure/resources/services/redis/caches.go index 239bada9b790c1..ec56c4cb01ec3e 100644 --- a/plugins/source/azure/resources/services/redis/caches.go +++ b/plugins/source/azure/resources/services/redis/caches.go @@ -13,7 +13,7 @@ func Caches() *schema.Table { return &schema.Table{ Name: "azure_redis_caches", Resolver: fetchCaches, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_cache), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_redis_caches", client.Namespacemicrosoft_cache), Transform: transformers.TransformWithStruct(&armredis.ResourceInfo{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/relay/namespaces.go b/plugins/source/azure/resources/services/relay/namespaces.go index 98adbe7f6c1734..bdd4c874bcf23d 100644 --- a/plugins/source/azure/resources/services/relay/namespaces.go +++ b/plugins/source/azure/resources/services/relay/namespaces.go @@ -13,7 +13,7 @@ func Namespaces() *schema.Table { return &schema.Table{ Name: "azure_relay_namespaces", Resolver: fetchNamespaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_relay), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_relay_namespaces", client.Namespacemicrosoft_relay), Transform: transformers.TransformWithStruct(&armrelay.Namespace{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/reservations/reservation.go b/plugins/source/azure/resources/services/reservations/reservation.go index a3a3e9b2dfa2cf..e28495cf26d1c6 100644 --- a/plugins/source/azure/resources/services/reservations/reservation.go +++ b/plugins/source/azure/resources/services/reservations/reservation.go @@ -13,7 +13,7 @@ func Reservation() *schema.Table { return &schema.Table{ Name: "azure_reservations_reservation", Resolver: fetchReservation, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_capacity), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_reservations_reservation", client.Namespacemicrosoft_capacity), Transform: transformers.TransformWithStruct(&armreservations.ReservationResponse{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/reservations/reservation_order.go b/plugins/source/azure/resources/services/reservations/reservation_order.go index 216bcbcf94562e..a44f1388c1ea7f 100644 --- a/plugins/source/azure/resources/services/reservations/reservation_order.go +++ b/plugins/source/azure/resources/services/reservations/reservation_order.go @@ -13,7 +13,7 @@ func ReservationOrder() *schema.Table { return &schema.Table{ Name: "azure_reservations_reservation_order", Resolver: fetchReservationOrder, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_capacity), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_reservations_reservation_order", client.Namespacemicrosoft_capacity), Transform: transformers.TransformWithStruct(&armreservations.ReservationOrderResponse{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/saas/resources.go b/plugins/source/azure/resources/services/saas/resources.go index 1fd3209d125901..63954413d6bfa2 100644 --- a/plugins/source/azure/resources/services/saas/resources.go +++ b/plugins/source/azure/resources/services/saas/resources.go @@ -13,7 +13,7 @@ func Resources() *schema.Table { return &schema.Table{ Name: "azure_saas_resources", Resolver: fetchResources, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_saas), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_saas_resources", client.Namespacemicrosoft_saas), Transform: transformers.TransformWithStruct(&armsaas.Resource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/search/services.go b/plugins/source/azure/resources/services/search/services.go index 5b2d60c8a2c65c..86881fb3e8bd96 100644 --- a/plugins/source/azure/resources/services/search/services.go +++ b/plugins/source/azure/resources/services/search/services.go @@ -11,7 +11,7 @@ func Services() *schema.Table { return &schema.Table{ Name: "azure_search_services", Resolver: fetchServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_search), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_search_services", client.Namespacemicrosoft_search), Transform: transformers.TransformWithStruct(&armsearch.Service{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/alerts.go b/plugins/source/azure/resources/services/security/alerts.go index 20d0deb2d3456b..d6eeeb65f7c4bd 100644 --- a/plugins/source/azure/resources/services/security/alerts.go +++ b/plugins/source/azure/resources/services/security/alerts.go @@ -13,7 +13,7 @@ func Alerts() *schema.Table { return &schema.Table{ Name: "azure_security_alerts", Resolver: fetchAlerts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_alerts", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Alert{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go b/plugins/source/azure/resources/services/security/alerts_suppression_rules.go index 4397daa468f8b8..752fdbada9e9d2 100644 --- a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go +++ b/plugins/source/azure/resources/services/security/alerts_suppression_rules.go @@ -13,7 +13,7 @@ func AlertsSuppressionRules() *schema.Table { return &schema.Table{ Name: "azure_security_alerts_suppression_rules", Resolver: fetchAlertsSuppressionRules, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_alerts_suppression_rules", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.AlertsSuppressionRule{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/allowed_connections.go b/plugins/source/azure/resources/services/security/allowed_connections.go index 4afac2cf6acd96..e06317dd858520 100644 --- a/plugins/source/azure/resources/services/security/allowed_connections.go +++ b/plugins/source/azure/resources/services/security/allowed_connections.go @@ -13,7 +13,7 @@ func AllowedConnections() *schema.Table { return &schema.Table{ Name: "azure_security_allowed_connections", Resolver: fetchAllowedConnections, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_allowed_connections", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.AllowedConnectionsResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/applications.go b/plugins/source/azure/resources/services/security/applications.go index 9fc0b0cd68ef63..aad7ac3d889320 100644 --- a/plugins/source/azure/resources/services/security/applications.go +++ b/plugins/source/azure/resources/services/security/applications.go @@ -13,7 +13,7 @@ func Applications() *schema.Table { return &schema.Table{ Name: "azure_security_applications", Resolver: fetchApplications, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_applications", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Application{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/assessments_metadata.go b/plugins/source/azure/resources/services/security/assessments_metadata.go index 1ff2d89ea7054c..aaecda7619a40e 100644 --- a/plugins/source/azure/resources/services/security/assessments_metadata.go +++ b/plugins/source/azure/resources/services/security/assessments_metadata.go @@ -13,7 +13,7 @@ func AssessmentsMetadata() *schema.Table { return &schema.Table{ Name: "azure_security_assessments_metadata", Resolver: fetchAssessmentsMetadata, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_assessments_metadata", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.AssessmentMetadataResponse{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go b/plugins/source/azure/resources/services/security/auto_provisioning_settings.go index dd3ffc46fb27fe..9864acfa166430 100644 --- a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go +++ b/plugins/source/azure/resources/services/security/auto_provisioning_settings.go @@ -13,7 +13,7 @@ func AutoProvisioningSettings() *schema.Table { return &schema.Table{ Name: "azure_security_auto_provisioning_settings", Resolver: fetchAutoProvisioningSettings, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_auto_provisioning_settings", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.AutoProvisioningSetting{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/automations.go b/plugins/source/azure/resources/services/security/automations.go index 3b5d622dcbe635..65937c0be45a9f 100644 --- a/plugins/source/azure/resources/services/security/automations.go +++ b/plugins/source/azure/resources/services/security/automations.go @@ -13,7 +13,7 @@ func Automations() *schema.Table { return &schema.Table{ Name: "azure_security_automations", Resolver: fetchAutomations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_automations", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Automation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/connectors.go b/plugins/source/azure/resources/services/security/connectors.go index 53bf415043076b..15a40c44ed939d 100644 --- a/plugins/source/azure/resources/services/security/connectors.go +++ b/plugins/source/azure/resources/services/security/connectors.go @@ -13,7 +13,7 @@ func Connectors() *schema.Table { return &schema.Table{ Name: "azure_security_connectors", Resolver: fetchConnectors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_connectors", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Connector{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/discovered_security_solutions.go b/plugins/source/azure/resources/services/security/discovered_security_solutions.go index 531507e11a4e34..8ec9c953cc90c6 100644 --- a/plugins/source/azure/resources/services/security/discovered_security_solutions.go +++ b/plugins/source/azure/resources/services/security/discovered_security_solutions.go @@ -13,7 +13,7 @@ func DiscoveredSecuritySolutions() *schema.Table { return &schema.Table{ Name: "azure_security_discovered_security_solutions", Resolver: fetchDiscoveredSecuritySolutions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_discovered_security_solutions", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.DiscoveredSecuritySolution{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/external_security_solutions.go b/plugins/source/azure/resources/services/security/external_security_solutions.go index 6e4fc42a7e72f0..b1c5d2bc770d92 100644 --- a/plugins/source/azure/resources/services/security/external_security_solutions.go +++ b/plugins/source/azure/resources/services/security/external_security_solutions.go @@ -13,7 +13,7 @@ func ExternalSecuritySolutions() *schema.Table { return &schema.Table{ Name: "azure_security_external_security_solutions", Resolver: fetchExternalSecuritySolutions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_external_security_solutions", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.ExternalSecuritySolution{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/governance_rule.go b/plugins/source/azure/resources/services/security/governance_rule.go index 51afe9d7f54347..29d8e2fbe4bfd8 100644 --- a/plugins/source/azure/resources/services/security/governance_rule.go +++ b/plugins/source/azure/resources/services/security/governance_rule.go @@ -13,7 +13,7 @@ func GovernanceRule() *schema.Table { return &schema.Table{ Name: "azure_security_governance_rule", Resolver: fetchGovernanceRule, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_governance_rule", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.GovernanceRule{}), Columns: []schema.Column{ { 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 index 937168f4e50436..67bed79bb0668d 100644 --- a/plugins/source/azure/resources/services/security/jit_network_access_policies.go +++ b/plugins/source/azure/resources/services/security/jit_network_access_policies.go @@ -13,7 +13,7 @@ func JitNetworkAccessPolicies() *schema.Table { return &schema.Table{ Name: "azure_security_jit_network_access_policies", Resolver: fetchJitNetworkAccessPolicies, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_jit_network_access_policies", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.JitNetworkAccessPolicy{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/locations.go b/plugins/source/azure/resources/services/security/locations.go index 51c88bb43c8c08..f229b6ed64382f 100644 --- a/plugins/source/azure/resources/services/security/locations.go +++ b/plugins/source/azure/resources/services/security/locations.go @@ -13,7 +13,7 @@ func Locations() *schema.Table { return &schema.Table{ Name: "azure_security_locations", Resolver: fetchLocations, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_locations", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.AscLocation{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/pricings.go b/plugins/source/azure/resources/services/security/pricings.go index 24be0258f0faa7..b3da61c3e840b6 100644 --- a/plugins/source/azure/resources/services/security/pricings.go +++ b/plugins/source/azure/resources/services/security/pricings.go @@ -11,7 +11,7 @@ func Pricings() *schema.Table { return &schema.Table{ Name: "azure_security_pricings", Resolver: fetchPricings, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_pricings", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Pricing{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go b/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go index 767b2ba2b7335e..759e5800e4ae7c 100644 --- a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go +++ b/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go @@ -13,7 +13,7 @@ func RegulatoryComplianceStandards() *schema.Table { return &schema.Table{ Name: "azure_security_regulatory_compliance_standards", Resolver: fetchRegulatoryComplianceStandards, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_regulatory_compliance_standards", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.RegulatoryComplianceStandard{}), Columns: []schema.Column{ { 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 index 4bcdce955ab28f..ca58a647de722b 100644 --- a/plugins/source/azure/resources/services/security/secure_score_control_definitions.go +++ b/plugins/source/azure/resources/services/security/secure_score_control_definitions.go @@ -13,7 +13,7 @@ func SecureScoreControlDefinitions() *schema.Table { return &schema.Table{ Name: "azure_security_secure_score_control_definitions", Resolver: fetchSecureScoreControlDefinitions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_score_control_definitions", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreControlDefinitionItem{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/secure_score_controls.go b/plugins/source/azure/resources/services/security/secure_score_controls.go index 78938c6fdc6c62..551eeef039184d 100644 --- a/plugins/source/azure/resources/services/security/secure_score_controls.go +++ b/plugins/source/azure/resources/services/security/secure_score_controls.go @@ -13,7 +13,7 @@ func SecureScoreControls() *schema.Table { return &schema.Table{ Name: "azure_security_secure_score_controls", Resolver: fetchSecureScoreControls, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_score_controls", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreControlDetails{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/secure_scores.go b/plugins/source/azure/resources/services/security/secure_scores.go index 4a219ae624eeb5..d3471a8eb8e143 100644 --- a/plugins/source/azure/resources/services/security/secure_scores.go +++ b/plugins/source/azure/resources/services/security/secure_scores.go @@ -13,7 +13,7 @@ func SecureScores() *schema.Table { return &schema.Table{ Name: "azure_security_secure_scores", Resolver: fetchSecureScores, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_scores", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreItem{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/solutions.go b/plugins/source/azure/resources/services/security/solutions.go index 0035f7c65b095b..ca9a2330215c45 100644 --- a/plugins/source/azure/resources/services/security/solutions.go +++ b/plugins/source/azure/resources/services/security/solutions.go @@ -13,7 +13,7 @@ func Solutions() *schema.Table { return &schema.Table{ Name: "azure_security_solutions", Resolver: fetchSolutions, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_solutions", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Solution{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/tasks.go b/plugins/source/azure/resources/services/security/tasks.go index e6a72b1e17ef46..1d678646db3317 100644 --- a/plugins/source/azure/resources/services/security/tasks.go +++ b/plugins/source/azure/resources/services/security/tasks.go @@ -13,7 +13,7 @@ func Tasks() *schema.Table { return &schema.Table{ Name: "azure_security_tasks", Resolver: fetchTasks, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_tasks", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.Task{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/topology.go b/plugins/source/azure/resources/services/security/topology.go index d39af4e6d7e8ca..0860483ddb9337 100644 --- a/plugins/source/azure/resources/services/security/topology.go +++ b/plugins/source/azure/resources/services/security/topology.go @@ -13,7 +13,7 @@ func Topology() *schema.Table { return &schema.Table{ Name: "azure_security_topology", Resolver: fetchTopology, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_topology", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.TopologyResource{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/security/workspace_settings.go b/plugins/source/azure/resources/services/security/workspace_settings.go index 4ff9749540ea3e..bb943e78043d34 100644 --- a/plugins/source/azure/resources/services/security/workspace_settings.go +++ b/plugins/source/azure/resources/services/security/workspace_settings.go @@ -13,7 +13,7 @@ func WorkspaceSettings() *schema.Table { return &schema.Table{ Name: "azure_security_workspace_settings", Resolver: fetchWorkspaceSettings, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_security), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_workspace_settings", client.Namespacemicrosoft_security), Transform: transformers.TransformWithStruct(&armsecurity.WorkspaceSetting{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/servicebus/namespaces.go b/plugins/source/azure/resources/services/servicebus/namespaces.go index 3a3756bcf7564d..50ba5467e9afe6 100644 --- a/plugins/source/azure/resources/services/servicebus/namespaces.go +++ b/plugins/source/azure/resources/services/servicebus/namespaces.go @@ -13,7 +13,7 @@ func Namespaces() *schema.Table { return &schema.Table{ Name: "azure_servicebus_namespaces", Resolver: fetchNamespaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_servicebus), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_servicebus_namespaces", client.Namespacemicrosoft_servicebus), Transform: transformers.TransformWithStruct(&armservicebus.SBNamespace{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sql/instance_pools.go b/plugins/source/azure/resources/services/sql/instance_pools.go index 6bc7f19343fa91..06565588875d72 100644 --- a/plugins/source/azure/resources/services/sql/instance_pools.go +++ b/plugins/source/azure/resources/services/sql/instance_pools.go @@ -13,7 +13,7 @@ func InstancePools() *schema.Table { return &schema.Table{ Name: "azure_sql_instance_pools", Resolver: fetchInstancePools, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sql_instance_pools", client.Namespacemicrosoft_sql), Transform: transformers.TransformWithStruct(&armsql.InstancePool{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sql/managed_instances.go b/plugins/source/azure/resources/services/sql/managed_instances.go index aa9946bff5bf9d..f6c31e7a0949f5 100644 --- a/plugins/source/azure/resources/services/sql/managed_instances.go +++ b/plugins/source/azure/resources/services/sql/managed_instances.go @@ -13,7 +13,7 @@ func ManagedInstances() *schema.Table { return &schema.Table{ Name: "azure_sql_managed_instances", Resolver: fetchManagedInstances, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sql_managed_instances", client.Namespacemicrosoft_sql), Transform: transformers.TransformWithStruct(&armsql.ManagedInstance{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sql/servers.go b/plugins/source/azure/resources/services/sql/servers.go index 5eb5f3b9e538a0..92b284b5711d10 100644 --- a/plugins/source/azure/resources/services/sql/servers.go +++ b/plugins/source/azure/resources/services/sql/servers.go @@ -13,7 +13,7 @@ func Servers() *schema.Table { return &schema.Table{ Name: "azure_sql_servers", Resolver: fetchServers, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sql_servers", client.Namespacemicrosoft_sql), Transform: transformers.TransformWithStruct(&armsql.Server{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sql/virtual_clusters.go b/plugins/source/azure/resources/services/sql/virtual_clusters.go index 076a43897132c5..14ad2dfe373ccf 100644 --- a/plugins/source/azure/resources/services/sql/virtual_clusters.go +++ b/plugins/source/azure/resources/services/sql/virtual_clusters.go @@ -13,7 +13,7 @@ func VirtualClusters() *schema.Table { return &schema.Table{ Name: "azure_sql_virtual_clusters", Resolver: fetchVirtualClusters, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sql), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sql_virtual_clusters", client.Namespacemicrosoft_sql), Transform: transformers.TransformWithStruct(&armsql.VirtualCluster{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go b/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go index 7d3c7be7e11f38..10fc7cfb105ef4 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go @@ -13,7 +13,7 @@ func Groups() *schema.Table { return &schema.Table{ Name: "azure_sqlvirtualmachine_groups", Resolver: fetchGroups, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sqlvirtualmachine), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sqlvirtualmachine_groups", client.Namespacemicrosoft_sqlvirtualmachine), Transform: transformers.TransformWithStruct(&armsqlvirtualmachine.Group{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go index 4cc39e7903e0b9..55a10e1eebc5f0 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go @@ -13,7 +13,7 @@ func SqlVirtualMachines() *schema.Table { return &schema.Table{ Name: "azure_sqlvirtualmachine_sql_virtual_machines", Resolver: fetchSqlVirtualMachines, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_sqlvirtualmachine), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_sqlvirtualmachine_sql_virtual_machines", client.Namespacemicrosoft_sqlvirtualmachine), Transform: transformers.TransformWithStruct(&armsqlvirtualmachine.SQLVirtualMachine{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/storage/accounts.go b/plugins/source/azure/resources/services/storage/accounts.go index 63f3307d5948e5..50438bd51c3492 100644 --- a/plugins/source/azure/resources/services/storage/accounts.go +++ b/plugins/source/azure/resources/services/storage/accounts.go @@ -13,7 +13,7 @@ func Accounts() *schema.Table { return &schema.Table{ Name: "azure_storage_accounts", Resolver: fetchAccounts, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_storage), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_storage_accounts", client.Namespacemicrosoft_storage), Transform: transformers.TransformWithStruct(&armstorage.Account{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/storagecache/caches.go b/plugins/source/azure/resources/services/storagecache/caches.go index 7603f1b94219c8..e76505331da184 100644 --- a/plugins/source/azure/resources/services/storagecache/caches.go +++ b/plugins/source/azure/resources/services/storagecache/caches.go @@ -13,7 +13,7 @@ func Caches() *schema.Table { return &schema.Table{ Name: "azure_storagecache_caches", Resolver: fetchCaches, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_storagecache), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_storagecache_caches", client.Namespacemicrosoft_storagecache), Transform: transformers.TransformWithStruct(&armstoragecache.Cache{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go index e64eebd567a676..6ad7bf5178713a 100644 --- a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go +++ b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go @@ -13,7 +13,7 @@ func StreamingJobs() *schema.Table { return &schema.Table{ Name: "azure_streamanalytics_streaming_jobs", Resolver: fetchStreamingJobs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_streamanalytics), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_streamanalytics_streaming_jobs", client.Namespacemicrosoft_streamanalytics), Transform: transformers.TransformWithStruct(&armstreamanalytics.StreamingJob{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/support/services.go b/plugins/source/azure/resources/services/support/services.go index aa234f0b0c6173..816ae08b92730b 100644 --- a/plugins/source/azure/resources/services/support/services.go +++ b/plugins/source/azure/resources/services/support/services.go @@ -13,7 +13,7 @@ func Services() *schema.Table { return &schema.Table{ Name: "azure_support_services", Resolver: fetchServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_support), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_support_services", client.Namespacemicrosoft_support), Transform: transformers.TransformWithStruct(&armsupport.Service{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/support/tickets.go b/plugins/source/azure/resources/services/support/tickets.go index 5308e218c5b14e..0c16b31ec5b231 100644 --- a/plugins/source/azure/resources/services/support/tickets.go +++ b/plugins/source/azure/resources/services/support/tickets.go @@ -13,7 +13,7 @@ func Tickets() *schema.Table { return &schema.Table{ Name: "azure_support_tickets", Resolver: fetchTickets, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_support), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_support_tickets", client.Namespacemicrosoft_support), Transform: transformers.TransformWithStruct(&armsupport.TicketDetails{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/synapse/private_link_hubs.go b/plugins/source/azure/resources/services/synapse/private_link_hubs.go index 670fadf9426fd1..f7fabafbaf8572 100644 --- a/plugins/source/azure/resources/services/synapse/private_link_hubs.go +++ b/plugins/source/azure/resources/services/synapse/private_link_hubs.go @@ -13,7 +13,7 @@ func PrivateLinkHubs() *schema.Table { return &schema.Table{ Name: "azure_synapse_private_link_hubs", Resolver: fetchPrivateLinkHubs, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_synapse), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_synapse_private_link_hubs", client.Namespacemicrosoft_synapse), Transform: transformers.TransformWithStruct(&armsynapse.PrivateLinkHub{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/synapse/workspaces.go b/plugins/source/azure/resources/services/synapse/workspaces.go index 2149b9a8de62d0..71fc1cc1ad83b3 100644 --- a/plugins/source/azure/resources/services/synapse/workspaces.go +++ b/plugins/source/azure/resources/services/synapse/workspaces.go @@ -13,7 +13,7 @@ func Workspaces() *schema.Table { return &schema.Table{ Name: "azure_synapse_workspaces", Resolver: fetchWorkspaces, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_synapse), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_synapse_workspaces", client.Namespacemicrosoft_synapse), Transform: transformers.TransformWithStruct(&armsynapse.Workspace{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/windowsesu/multiple_activation_keys.go b/plugins/source/azure/resources/services/windowsesu/multiple_activation_keys.go index 40a8e15473fa64..ed2ea9618a0600 100644 --- a/plugins/source/azure/resources/services/windowsesu/multiple_activation_keys.go +++ b/plugins/source/azure/resources/services/windowsesu/multiple_activation_keys.go @@ -13,7 +13,7 @@ func MultipleActivationKeys() *schema.Table { return &schema.Table{ Name: "azure_windowsesu_multiple_activation_keys", Resolver: fetchMultipleActivationKeys, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_windowsesu), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_windowsesu_multiple_activation_keys", client.Namespacemicrosoft_windowsesu), Transform: transformers.TransformWithStruct(&armwindowsesu.MultipleActivationKey{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/windowsiot/services.go b/plugins/source/azure/resources/services/windowsiot/services.go index 88c587f7f718d5..e4977e80f27bfc 100644 --- a/plugins/source/azure/resources/services/windowsiot/services.go +++ b/plugins/source/azure/resources/services/windowsiot/services.go @@ -13,7 +13,7 @@ func Services() *schema.Table { return &schema.Table{ Name: "azure_windowsiot_services", Resolver: fetchServices, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_windowsiot), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_windowsiot_services", client.Namespacemicrosoft_windowsiot), Transform: transformers.TransformWithStruct(&armwindowsiot.DeviceService{}), Columns: []schema.Column{ { diff --git a/plugins/source/azure/resources/services/workloads/monitors.go b/plugins/source/azure/resources/services/workloads/monitors.go index c778a657b09388..6c05bf93f43347 100644 --- a/plugins/source/azure/resources/services/workloads/monitors.go +++ b/plugins/source/azure/resources/services/workloads/monitors.go @@ -13,7 +13,7 @@ func Monitors() *schema.Table { return &schema.Table{ Name: "azure_workloads_monitors", Resolver: fetchMonitors, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_workloads), + Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_workloads_monitors", client.Namespacemicrosoft_workloads), Transform: transformers.TransformWithStruct(&armworkloads.Monitor{}), Columns: []schema.Column{ { diff --git a/website/pages/docs/plugins/sources/azure/tables.md b/website/pages/docs/plugins/sources/azure/tables.md index f8deaa1f91bdbf..3607e67d94033c 100644 --- a/website/pages/docs/plugins/sources/azure/tables.md +++ b/website/pages/docs/plugins/sources/azure/tables.md @@ -68,7 +68,6 @@ - [azure_databox_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_databox_jobs.md) - [azure_datadog_marketplace_agreements](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md) - [azure_datadog_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datadog_monitors.md) -- [azure_datafactory_factories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datafactory_factories.md) - [azure_datalakeanalytics_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md) - [azure_datalakestore_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datalakestore_accounts.md) - [azure_datamigration_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datamigration_services.md) @@ -213,6 +212,7 @@ - [azure_cosmos_sql_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_sql_databases.md) - [azure_costmanagement_views](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_views.md) - [azure_costmanagement_view_queries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md) +- [azure_datafactory_factories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datafactory_factories.md) - [azure_keyvault_keyvault](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md) - [azure_keyvault_keyvault_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md) - [azure_keyvault_keyvault_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md) From 31debf0d397541b95d85fc05042fb86e3ac93121 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Wed, 11 Jan 2023 18:32:04 +0200 Subject: [PATCH 090/186] chore: Update plugin `source-hackernews` version to v1.1.1 (#6719) Updates the `source-hackernews` plugin latest version to v1.1.1 --- website/versions/source-hackernews.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-hackernews.json b/website/versions/source-hackernews.json index 1d489cf52983e3..be517affb888e7 100644 --- a/website/versions/source-hackernews.json +++ b/website/versions/source-hackernews.json @@ -1 +1 @@ -{ "latest": "plugins-source-hackernews-v1.1.0" } +{ "latest": "plugins-source-hackernews-v1.1.1" } From a582f0b76bb28be4ca6a9448fcf452d7408b12fd Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Wed, 11 Jan 2023 16:36:25 +0000 Subject: [PATCH 091/186] fix(github): Fix panic in workflow fetching (#6693) - Fixes https://github.com/cloudquery/cloudquery/issues/6667 - Adds a `repository` column to the workflows table, which I figure is actually quite important to make it useful. I opted not to make it part of the PK, because 1) it doesn't seem necessary and 2) that would make it a breaking change --- .../github/docs/tables/github_workflows.md | 3 ++- .../resources/services/actions/workflows.go | 10 ++++------ .../services/actions/workflows_fetch.go | 20 ++++++++++++++++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/plugins/source/github/docs/tables/github_workflows.md b/plugins/source/github/docs/tables/github_workflows.md index 6b25d3179af876..e91e9504ef2129 100644 --- a/plugins/source/github/docs/tables/github_workflows.md +++ b/plugins/source/github/docs/tables/github_workflows.md @@ -21,4 +21,5 @@ The composite primary key for this table is (**org**, **id**). |updated_at|Timestamp| |url|String| |html_url|String| -|badge_url|String| \ No newline at end of file +|badge_url|String| +|repository|String| \ No newline at end of file diff --git a/plugins/source/github/resources/services/actions/workflows.go b/plugins/source/github/resources/services/actions/workflows.go index f1ffc779a18d6b..eba3231173f74a 100644 --- a/plugins/source/github/resources/services/actions/workflows.go +++ b/plugins/source/github/resources/services/actions/workflows.go @@ -4,7 +4,6 @@ import ( "github.com/cloudquery/cloudquery/plugins/source/github/client" "github.com/cloudquery/plugin-sdk/schema" "github.com/cloudquery/plugin-sdk/transformers" - "github.com/google/go-github/v48/github" ) func Workflows() *schema.Table { @@ -12,13 +11,12 @@ func Workflows() *schema.Table { Name: "github_workflows", Resolver: fetchWorkflows, Multiplex: client.OrgMultiplex, - Transform: transformers.TransformWithStruct(&github.Workflow{}, client.SharedTransformers()...), + Transform: transformers.TransformWithStruct(&Workflow{}, client.SharedTransformers()...), Columns: []schema.Column{ { - Name: "org", - Type: schema.TypeString, - Resolver: client.ResolveOrg, - Description: `The Github Organization of the resource.`, + Name: "org", + Type: schema.TypeString, + Resolver: client.ResolveOrg, CreationOptions: schema.ColumnCreationOptions{ PrimaryKey: true, }, diff --git a/plugins/source/github/resources/services/actions/workflows_fetch.go b/plugins/source/github/resources/services/actions/workflows_fetch.go index e64cee38ed62a1..90f1e7ee17018d 100644 --- a/plugins/source/github/resources/services/actions/workflows_fetch.go +++ b/plugins/source/github/resources/services/actions/workflows_fetch.go @@ -10,6 +10,11 @@ import ( "github.com/google/go-github/v48/github" ) +type Workflow struct { + *github.Workflow + Repository string `json:"repository"` +} + func fetchWorkflows(ctx context.Context, meta schema.ClientMeta, _ *schema.Resource, res chan<- any) error { c := meta.(*client.Client) opts := &github.RepositoryListByOrgOptions{ListOptions: github.ListOptions{PerPage: 100}} @@ -25,7 +30,9 @@ func fetchWorkflows(ctx context.Context, meta schema.ClientMeta, _ *schema.Resou if err != nil { return err } - res <- workflows.Workflows + for _, w := range workflows.Workflows { + res <- Workflow{Workflow: w, Repository: *repo.Name} + } opts.Page = resp.NextPage if opts.Page == resp.LastPage { break @@ -42,7 +49,14 @@ func fetchWorkflows(ctx context.Context, meta schema.ClientMeta, _ *schema.Resou func resolveContents(ctx context.Context, meta schema.ClientMeta, resource *schema.Resource, c schema.Column) error { cl := meta.(*client.Client) - workflow := resource.Item.(*github.Workflow) + workflow := resource.Item.(Workflow) + if *workflow.Path == "" { + // Workflow path is empty, so we cannot retrieve the contents. + // It is unclear when and why this happens in the GitHub API, but in this case we + // leave the content column empty out of necessity. + // See https://github.com/cloudquery/cloudquery/issues/6667 for details. + return nil + } parsedUrl, err := url.Parse(*workflow.HTMLURL) if err != nil { @@ -50,7 +64,7 @@ func resolveContents(ctx context.Context, meta schema.ClientMeta, resource *sche } pathParts := strings.Split(parsedUrl.Path, "/") - if len(pathParts) < 2 { + if len(pathParts) < 5 { return nil } owner := pathParts[1] From 266c191006c13c164f3ffaa8807b0fa5a3343252 Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Wed, 11 Jan 2023 17:11:16 +0000 Subject: [PATCH 092/186] fix(gcp): Prevent gcp_resourcemanager_folders rows with nil org_id (#6577) --- plugins/source/gcp/client/resolvers.go | 5 +++++ .../gcp/docs/tables/gcp_resourcemanager_folders.md | 8 ++++---- .../resources/services/resourcemanager/folders.go | 13 ++++++++++++- .../services/resourcemanager/folders_fetch.go | 10 ---------- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/plugins/source/gcp/client/resolvers.go b/plugins/source/gcp/client/resolvers.go index 009b7409985c37..80255073cad87d 100644 --- a/plugins/source/gcp/client/resolvers.go +++ b/plugins/source/gcp/client/resolvers.go @@ -19,6 +19,11 @@ func ResolveProject(_ context.Context, meta schema.ClientMeta, r *schema.Resourc return r.Set("project_id", client.ProjectId) } +func ResolveOrganization(_ context.Context, meta schema.ClientMeta, r *schema.Resource, c schema.Column) error { + client := meta.(*Client) + return r.Set(c.Name, client.OrgId) +} + func AddGcpMetadata(ctx context.Context, c schema.ClientMeta, r *schema.Resource) error { return resolveLocation(ctx, c, r) } diff --git a/plugins/source/gcp/docs/tables/gcp_resourcemanager_folders.md b/plugins/source/gcp/docs/tables/gcp_resourcemanager_folders.md index f4c8041063d0f9..556d2e8b224fb7 100644 --- a/plugins/source/gcp/docs/tables/gcp_resourcemanager_folders.md +++ b/plugins/source/gcp/docs/tables/gcp_resourcemanager_folders.md @@ -2,7 +2,7 @@ https://cloud.google.com/resource-manager/reference/rest/v3/folders#Folder -The primary key for this table is **_cq_id**. +The composite primary key for this table is (**organization_id**, **name**). ## Columns @@ -10,10 +10,10 @@ The primary key for this table is **_cq_id**. | ------------- | ------------- | |_cq_source_name|String| |_cq_sync_time|Timestamp| -|_cq_id (PK)|UUID| +|_cq_id|UUID| |_cq_parent_id|UUID| -|organization_id|String| -|name|String| +|organization_id (PK)|String| +|name (PK)|String| |parent|String| |display_name|String| |state|String| diff --git a/plugins/source/gcp/resources/services/resourcemanager/folders.go b/plugins/source/gcp/resources/services/resourcemanager/folders.go index 01b458d8218d0e..f52b5db0a3e324 100644 --- a/plugins/source/gcp/resources/services/resourcemanager/folders.go +++ b/plugins/source/gcp/resources/services/resourcemanager/folders.go @@ -18,7 +18,18 @@ func Folders() *schema.Table { { Name: "organization_id", Type: schema.TypeString, - Resolver: resolveOrganizationId, + Resolver: client.ResolveOrganization, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, }, }, } diff --git a/plugins/source/gcp/resources/services/resourcemanager/folders_fetch.go b/plugins/source/gcp/resources/services/resourcemanager/folders_fetch.go index c29c33e7df9f05..dfedf5f6a70869 100644 --- a/plugins/source/gcp/resources/services/resourcemanager/folders_fetch.go +++ b/plugins/source/gcp/resources/services/resourcemanager/folders_fetch.go @@ -2,7 +2,6 @@ package resourcemanager import ( "context" - "strings" "google.golang.org/api/iterator" @@ -37,12 +36,3 @@ func fetchFolders(ctx context.Context, meta schema.ClientMeta, parent *schema.Re } return nil } - -func resolveOrganizationId(_ context.Context, meta schema.ClientMeta, r *schema.Resource, c schema.Column) error { - item := r.Item.(*pb.Folder) - if !strings.HasPrefix(item.Parent, "organizations/") { - return nil - } - - return r.Set(c.Name, strings.TrimPrefix(item.Parent, "organizations/")) -} From 00a096f1fde3a91ff3030473b5c80047140cd232 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Wed, 11 Jan 2023 19:38:47 +0200 Subject: [PATCH 093/186] feat(azure-resources): Add Virtual Machine Scale Set VMs (#6718) #### Summary Fixes https://github.com/cloudquery/cloudquery/issues/6354. ~~Still need to test on real resources~~ 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

A!a=Rm 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

j@R)I1eqCNaV$;wyXVf(&aTqIa$-?! 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%0DvqaXNn8ru02PiJjSm3 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%0D2$6Peic^jxvpk?~2{rb{7LR0=sI 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
-}@@$ZuKe2X7`+ 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 literal 0 HcmV?d00001 diff --git a/website/public/images/how-to-guides/attack-surface-management-with-graph/iam-roles.png b/website/public/images/how-to-guides/attack-surface-management-with-graph/iam-roles.png new file mode 100644 index 0000000000000000000000000000000000000000..4be51e48a848ba7f54a7224f76bb5bd716101901 GIT binary patch literal 225608 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%0AR!mw-mmvh=J%W#Xqs*U*UAhgN|rtK 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

H}fB;|@OO|HbHlP< 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

=#KHX^k+Z@jM=MXs5|g*9iGeY@WW6 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 Date: Wed, 11 Jan 2023 21:43:53 +0200 Subject: [PATCH 099/186] fix(azure-resources): Set APIVersion to "2019-05-10-preview" when fetching SQL Server Registrations (#6672) #### Summary Fixes https://github.com/cloudquery/cloudquery/issues/6634 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 | 4 +- plugins/destination/azblob/go.mod | 2 +- plugins/destination/azblob/go.sum | 4 +- plugins/destination/bigquery/go.mod | 2 +- plugins/destination/bigquery/go.sum | 4 +- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 4 +- plugins/destination/gcs/go.mod | 2 +- plugins/destination/gcs/go.sum | 4 +- plugins/destination/kafka/go.mod | 2 +- plugins/destination/kafka/go.sum | 4 +- plugins/destination/mongodb/go.mod | 2 +- plugins/destination/mongodb/go.sum | 4 +- plugins/destination/neo4j/go.mod | 2 +- plugins/destination/neo4j/go.sum | 4 +- plugins/destination/postgresql/go.mod | 2 +- plugins/destination/postgresql/go.sum | 4 +- plugins/destination/s3/go.mod | 2 +- plugins/destination/s3/go.sum | 4 +- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 +- plugins/destination/sqlite/go.mod | 2 +- plugins/destination/sqlite/go.sum | 4 +- plugins/destination/test/go.mod | 2 +- plugins/destination/test/go.sum | 4 +- plugins/source/aws/docs/tables/README.md | 122 +++++++++--------- .../tables/aws_accessanalyzer_analyzers.md | 2 +- .../aws/docs/tables/aws_apprunner_services.md | 2 +- .../aws/docs/tables/aws_athena_work_groups.md | 2 +- .../aws/docs/tables/aws_autoscaling_groups.md | 2 +- .../aws/docs/tables/aws_dynamodb_tables.md | 2 +- .../docs/tables/aws_ec2_transit_gateways.md | 4 +- .../aws/docs/tables/aws_ecs_clusters.md | 4 +- .../aws_elasticbeanstalk_environments.md | 2 +- .../source/aws/docs/tables/aws_iam_users.md | 4 +- .../aws/docs/tables/aws_kafka_clusters.md | 2 +- .../aws/docs/tables/aws_lambda_functions.md | 4 +- .../docs/tables/aws_lightsail_databases.md | 2 +- .../aws/docs/tables/aws_redshift_clusters.md | 2 +- .../source/aws/docs/tables/aws_s3_buckets.md | 4 +- plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 +- plugins/source/azure/docs/tables/README.md | 100 +++++++------- .../docs/tables/azure_storage_accounts.md | 4 +- plugins/source/azure/go.mod | 2 +- plugins/source/azure/go.sum | 4 +- plugins/source/azuredevops/go.mod | 2 +- plugins/source/azuredevops/go.sum | 4 +- .../source/cloudflare/docs/tables/README.md | 2 +- plugins/source/cloudflare/go.mod | 2 +- plugins/source/cloudflare/go.sum | 4 +- .../source/crowdstrike/docs/tables/README.md | 4 +- plugins/source/crowdstrike/go.mod | 2 +- plugins/source/crowdstrike/go.sum | 4 +- plugins/source/datadog/docs/tables/README.md | 4 +- plugins/source/datadog/go.mod | 2 +- plugins/source/datadog/go.sum | 4 +- .../source/digitalocean/docs/tables/README.md | 12 +- .../docs/tables/digitalocean_databases.md | 2 +- .../tables/digitalocean_domain_records.md | 4 + .../tables/digitalocean_droplet_neighbors.md | 4 + plugins/source/digitalocean/go.mod | 2 +- plugins/source/digitalocean/go.sum | 4 +- plugins/source/fastly/docs/tables/README.md | 6 +- .../docs/tables/fastly_service_versions.md | 4 +- plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 +- plugins/source/gandi/docs/tables/README.md | 6 +- .../source/gandi/docs/tables/gandi_domains.md | 4 +- plugins/source/gandi/go.mod | 2 +- plugins/source/gandi/go.sum | 4 +- plugins/source/gcp/docs/tables/README.md | 54 ++++---- ...ebsecurityscanner_scan_config_scan_runs.md | 2 +- plugins/source/gcp/go.mod | 2 +- plugins/source/gcp/go.sum | 4 +- plugins/source/github/docs/tables/README.md | 12 +- .../github/docs/tables/github_repositories.md | 2 +- plugins/source/github/go.mod | 2 +- plugins/source/github/go.sum | 4 +- plugins/source/gitlab/docs/tables/README.md | 2 +- .../gitlab/docs/tables/gitlab_projects.md | 2 +- plugins/source/gitlab/go.mod | 2 +- plugins/source/gitlab/go.sum | 4 +- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 +- plugins/source/heroku/docs/tables/README.md | 20 +-- plugins/source/heroku/go.mod | 2 +- plugins/source/heroku/go.sum | 4 +- plugins/source/k8s/docs/tables/README.md | 16 +-- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 4 +- plugins/source/okta/docs/tables/README.md | 8 +- .../okta/docs/tables/okta_applications.md | 2 +- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 4 +- .../source/pagerduty/docs/tables/README.md | 8 +- .../docs/tables/pagerduty_incidents.md | 2 +- plugins/source/pagerduty/go.mod | 2 +- plugins/source/pagerduty/go.sum | 4 +- plugins/source/salesforce/go.mod | 2 +- plugins/source/salesforce/go.sum | 4 +- plugins/source/shopify/docs/tables/README.md | 8 +- .../shopify/docs/tables/shopify_products.md | 2 +- plugins/source/shopify/go.mod | 2 +- plugins/source/shopify/go.sum | 4 +- plugins/source/slack/go.mod | 2 +- plugins/source/slack/go.sum | 4 +- plugins/source/snyk/go.mod | 2 +- plugins/source/snyk/go.sum | 4 +- plugins/source/tailscale/go.mod | 2 +- plugins/source/tailscale/go.sum | 4 +- plugins/source/terraform/go.mod | 2 +- plugins/source/terraform/go.sum | 4 +- plugins/source/test/go.mod | 2 +- plugins/source/test/go.sum | 4 +- plugins/source/vercel/docs/tables/README.md | 8 +- plugins/source/vercel/go.mod | 2 +- plugins/source/vercel/go.sum | 4 +- .../pages/docs/plugins/sources/aws/tables.md | 122 +++++++++--------- .../docs/plugins/sources/azure/tables.md | 100 +++++++------- .../docs/plugins/sources/cloudflare/tables.md | 2 +- .../docs/plugins/sources/datadog/tables.md | 4 +- .../plugins/sources/digitalocean/tables.md | 12 +- .../docs/plugins/sources/fastly/tables.md | 6 +- .../docs/plugins/sources/gandi/tables.md | 6 +- .../pages/docs/plugins/sources/gcp/tables.md | 54 ++++---- .../docs/plugins/sources/github/tables.md | 12 +- .../docs/plugins/sources/gitlab/tables.md | 2 +- .../docs/plugins/sources/heroku/tables.md | 20 +-- .../pages/docs/plugins/sources/k8s/tables.md | 16 +-- .../pages/docs/plugins/sources/okta/tables.md | 8 +- .../docs/plugins/sources/pagerduty/tables.md | 8 +- .../docs/plugins/sources/shopify/tables.md | 8 +- .../docs/plugins/sources/vercel/tables.md | 8 +- 135 files changed, 544 insertions(+), 536 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index a5a85be4742588..761ffc81f79760 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/cli go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/getsentry/sentry-go v0.16.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/cli/go.sum b/cli/go.sum index 13dba9b9f1d111..ef5784e6f9d82f 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -1,8 +1,8 @@ github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/avast/retry-go/v4 v4.3.1/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index b3893d22288010..76838709b6045a 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -6,7 +6,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index f20ee93c7d696d..4b3f812f7b7748 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -52,8 +52,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index e74fb66fe45a8b..a0cdef0dc1216a 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/bigquery v1.44.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 golang.org/x/sync v0.1.0 google.golang.org/api v0.103.0 diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index 190a0ffeb565ba..a4359bbecb43e1 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 06301f76c02896..61eb1c0e95c991 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 0ec20c33cc6551..63fc37ff18b97f 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index 8e0d7085589bc8..c3acf342d002f2 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 49151ac031a15a..5be95711dd741a 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index ddd0061b2fb780..283f59fd465d4d 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index 729e8b3d0d99d6..cc9b102412c035 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -45,8 +45,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index 64d64dc538a521..e74bfba6255751 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mongodb go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 go.mongodb.org/mongo-driver v1.11.1 ) diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index fb8a20ab54866b..eeab85d6b8615b 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 329e6ad06661f6..93d7625836bf6e 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/neo4j go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/neo4j/neo4j-go-driver/v5 v5.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index 4d7af91eddf6ff..ae2f9b7e4d14fd 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index f040c78f561ba0..c0828ee6577646 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/postgresql go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/jackc/pgx-zerolog v0.0.0-20220923130014-7856b90a65ae github.com/jackc/pgx/v5 v5.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index b64433ce7d01ac..5aab00f08639db 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 94c1aa24acaef5..688d1022f0708f 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index 03630e9f33c501..a4fc796f343269 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -80,8 +80,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index 3393b5db39bc31..d1b8f8cc4dcc18 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.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 github.com/snowflakedb/gosnowflake v1.6.16 ) diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index dd5115e63e13f0..f5600202667b39 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -103,8 +103,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index b81b1447785e9a..f96a62bb79f06b 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/sqlite go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index d06e98e659f5c8..b0cda5955a5daa 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index 470c20541bf3e1..ee5ddb651d1c38 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index a8db4ecdbe1b2a..035588d3d6841c 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/aws/docs/tables/README.md b/plugins/source/aws/docs/tables/README.md index 54b032f844f437..956a12507d3721 100644 --- a/plugins/source/aws/docs/tables/README.md +++ b/plugins/source/aws/docs/tables/README.md @@ -3,8 +3,8 @@ ## Tables - [aws_accessanalyzer_analyzers](aws_accessanalyzer_analyzers.md) - - [aws_accessanalyzer_analyzer_findings](aws_accessanalyzer_analyzer_findings.md) - [aws_accessanalyzer_analyzer_archive_rules](aws_accessanalyzer_analyzer_archive_rules.md) + - [aws_accessanalyzer_analyzer_findings](aws_accessanalyzer_analyzer_findings.md) - [aws_account_alternate_contacts](aws_account_alternate_contacts.md) - [aws_account_contacts](aws_account_contacts.md) - [aws_acm_certificates](aws_acm_certificates.md) @@ -44,8 +44,8 @@ - [aws_apprunner_connections](aws_apprunner_connections.md) - [aws_apprunner_observability_configurations](aws_apprunner_observability_configurations.md) - [aws_apprunner_services](aws_apprunner_services.md) - - [aws_apprunner_operations](aws_apprunner_operations.md) - [aws_apprunner_custom_domains](aws_apprunner_custom_domains.md) + - [aws_apprunner_operations](aws_apprunner_operations.md) - [aws_apprunner_vpc_connectors](aws_apprunner_vpc_connectors.md) - [aws_apprunner_vpc_ingress_connections](aws_apprunner_vpc_ingress_connections.md) - [aws_appstream_app_blocks](aws_appstream_app_blocks.md) @@ -65,13 +65,13 @@ - [aws_athena_data_catalog_databases](aws_athena_data_catalog_databases.md) - [aws_athena_data_catalog_database_tables](aws_athena_data_catalog_database_tables.md) - [aws_athena_work_groups](aws_athena_work_groups.md) + - [aws_athena_work_group_named_queries](aws_athena_work_group_named_queries.md) - [aws_athena_work_group_prepared_statements](aws_athena_work_group_prepared_statements.md) - [aws_athena_work_group_query_executions](aws_athena_work_group_query_executions.md) - - [aws_athena_work_group_named_queries](aws_athena_work_group_named_queries.md) -- [aws_autoscaling_launch_configurations](aws_autoscaling_launch_configurations.md) - [aws_autoscaling_groups](aws_autoscaling_groups.md) - - [aws_autoscaling_group_scaling_policies](aws_autoscaling_group_scaling_policies.md) - [aws_autoscaling_group_lifecycle_hooks](aws_autoscaling_group_lifecycle_hooks.md) + - [aws_autoscaling_group_scaling_policies](aws_autoscaling_group_scaling_policies.md) +- [aws_autoscaling_launch_configurations](aws_autoscaling_launch_configurations.md) - [aws_autoscaling_scheduled_actions](aws_autoscaling_scheduled_actions.md) - [aws_backup_global_settings](aws_backup_global_settings.md) - [aws_backup_plans](aws_backup_plans.md) @@ -83,25 +83,25 @@ - [aws_cloudformation_stack_resources](aws_cloudformation_stack_resources.md) - [aws_cloudfront_cache_policies](aws_cloudfront_cache_policies.md) - [aws_cloudfront_distributions](aws_cloudfront_distributions.md) -- [aws_cloudhsmv2_clusters](aws_cloudhsmv2_clusters.md) - [aws_cloudhsmv2_backups](aws_cloudhsmv2_backups.md) +- [aws_cloudhsmv2_clusters](aws_cloudhsmv2_clusters.md) - [aws_cloudtrail_trails](aws_cloudtrail_trails.md) - [aws_cloudtrail_trail_event_selectors](aws_cloudtrail_trail_event_selectors.md) -- [aws_cloudwatchlogs_resource_policies](aws_cloudwatchlogs_resource_policies.md) -- [aws_cloudwatchlogs_metric_filters](aws_cloudwatchlogs_metric_filters.md) -- [aws_cloudwatchlogs_log_groups](aws_cloudwatchlogs_log_groups.md) - [aws_cloudwatch_alarms](aws_cloudwatch_alarms.md) +- [aws_cloudwatchlogs_log_groups](aws_cloudwatchlogs_log_groups.md) +- [aws_cloudwatchlogs_metric_filters](aws_cloudwatchlogs_metric_filters.md) +- [aws_cloudwatchlogs_resource_policies](aws_cloudwatchlogs_resource_policies.md) - [aws_codebuild_projects](aws_codebuild_projects.md) -- [aws_codepipeline_webhooks](aws_codepipeline_webhooks.md) - [aws_codepipeline_pipelines](aws_codepipeline_pipelines.md) +- [aws_codepipeline_webhooks](aws_codepipeline_webhooks.md) - [aws_cognito_identity_pools](aws_cognito_identity_pools.md) - [aws_cognito_user_pools](aws_cognito_user_pools.md) - [aws_cognito_user_pool_identity_providers](aws_cognito_user_pool_identity_providers.md) +- [aws_config_config_rules](aws_config_config_rules.md) + - [aws_config_config_rule_compliances](aws_config_config_rule_compliances.md) - [aws_config_configuration_recorders](aws_config_configuration_recorders.md) - [aws_config_conformance_packs](aws_config_conformance_packs.md) - [aws_config_conformance_pack_rule_compliances](aws_config_conformance_pack_rule_compliances.md) -- [aws_config_config_rules](aws_config_config_rules.md) - - [aws_config_config_rule_compliances](aws_config_config_rule_compliances.md) - [aws_dax_clusters](aws_dax_clusters.md) - [aws_directconnect_connections](aws_directconnect_connections.md) - [aws_directconnect_gateways](aws_directconnect_gateways.md) @@ -111,23 +111,23 @@ - [aws_directconnect_virtual_gateways](aws_directconnect_virtual_gateways.md) - [aws_directconnect_virtual_interfaces](aws_directconnect_virtual_interfaces.md) - [aws_dms_replication_instances](aws_dms_replication_instances.md) +- [aws_docdb_certificates](aws_docdb_certificates.md) +- [aws_docdb_cluster_parameter_groups](aws_docdb_cluster_parameter_groups.md) - [aws_docdb_clusters](aws_docdb_clusters.md) - [aws_docdb_cluster_snapshots](aws_docdb_cluster_snapshots.md) - [aws_docdb_instances](aws_docdb_instances.md) -- [aws_docdb_cluster_parameter_groups](aws_docdb_cluster_parameter_groups.md) -- [aws_docdb_certificates](aws_docdb_certificates.md) - [aws_docdb_engine_versions](aws_docdb_engine_versions.md) - [aws_docdb_cluster_parameters](aws_docdb_cluster_parameters.md) - [aws_docdb_orderable_db_instance_options](aws_docdb_orderable_db_instance_options.md) -- [aws_docdb_subnet_groups](aws_docdb_subnet_groups.md) -- [aws_docdb_global_clusters](aws_docdb_global_clusters.md) -- [aws_docdb_events](aws_docdb_events.md) -- [aws_docdb_event_subscriptions](aws_docdb_event_subscriptions.md) - [aws_docdb_event_categories](aws_docdb_event_categories.md) +- [aws_docdb_event_subscriptions](aws_docdb_event_subscriptions.md) +- [aws_docdb_events](aws_docdb_events.md) +- [aws_docdb_global_clusters](aws_docdb_global_clusters.md) - [aws_docdb_pending_maintenance_actions](aws_docdb_pending_maintenance_actions.md) +- [aws_docdb_subnet_groups](aws_docdb_subnet_groups.md) - [aws_dynamodb_tables](aws_dynamodb_tables.md) - - [aws_dynamodb_table_replica_auto_scalings](aws_dynamodb_table_replica_auto_scalings.md) - [aws_dynamodb_table_continuous_backups](aws_dynamodb_table_continuous_backups.md) + - [aws_dynamodb_table_replica_auto_scalings](aws_dynamodb_table_replica_auto_scalings.md) - [aws_ec2_byoip_cidrs](aws_ec2_byoip_cidrs.md) - [aws_ec2_customer_gateways](aws_ec2_customer_gateways.md) - [aws_ec2_ebs_snapshots](aws_ec2_ebs_snapshots.md) @@ -138,14 +138,13 @@ - [aws_ec2_hosts](aws_ec2_hosts.md) - [aws_ec2_images](aws_ec2_images.md) - [aws_ec2_instance_statuses](aws_ec2_instance_statuses.md) -- [aws_ec2_instances](aws_ec2_instances.md) - [aws_ec2_instance_types](aws_ec2_instance_types.md) +- [aws_ec2_instances](aws_ec2_instances.md) - [aws_ec2_internet_gateways](aws_ec2_internet_gateways.md) - [aws_ec2_key_pairs](aws_ec2_key_pairs.md) - [aws_ec2_nat_gateways](aws_ec2_nat_gateways.md) - [aws_ec2_network_acls](aws_ec2_network_acls.md) - [aws_ec2_network_interfaces](aws_ec2_network_interfaces.md) -- [aws_regions](aws_regions.md) - [aws_ec2_regional_configs](aws_ec2_regional_configs.md) - [aws_ec2_reserved_instances](aws_ec2_reserved_instances.md) - [aws_ec2_route_tables](aws_ec2_route_tables.md) @@ -153,27 +152,27 @@ - [aws_ec2_subnets](aws_ec2_subnets.md) - [aws_ec2_transit_gateways](aws_ec2_transit_gateways.md) - [aws_ec2_transit_gateway_attachments](aws_ec2_transit_gateway_attachments.md) + - [aws_ec2_transit_gateway_multicast_domains](aws_ec2_transit_gateway_multicast_domains.md) + - [aws_ec2_transit_gateway_peering_attachments](aws_ec2_transit_gateway_peering_attachments.md) - [aws_ec2_transit_gateway_route_tables](aws_ec2_transit_gateway_route_tables.md) - [aws_ec2_transit_gateway_vpc_attachments](aws_ec2_transit_gateway_vpc_attachments.md) - - [aws_ec2_transit_gateway_peering_attachments](aws_ec2_transit_gateway_peering_attachments.md) - - [aws_ec2_transit_gateway_multicast_domains](aws_ec2_transit_gateway_multicast_domains.md) - [aws_ec2_vpc_endpoint_service_configurations](aws_ec2_vpc_endpoint_service_configurations.md) - [aws_ec2_vpc_endpoint_services](aws_ec2_vpc_endpoint_services.md) - [aws_ec2_vpc_endpoints](aws_ec2_vpc_endpoints.md) - [aws_ec2_vpc_peering_connections](aws_ec2_vpc_peering_connections.md) - [aws_ec2_vpcs](aws_ec2_vpcs.md) - [aws_ec2_vpn_gateways](aws_ec2_vpn_gateways.md) -- [aws_ecrpublic_repositories](aws_ecrpublic_repositories.md) - - [aws_ecrpublic_repository_images](aws_ecrpublic_repository_images.md) - [aws_ecr_registries](aws_ecr_registries.md) - [aws_ecr_registry_policies](aws_ecr_registry_policies.md) - [aws_ecr_repositories](aws_ecr_repositories.md) - [aws_ecr_repository_images](aws_ecr_repository_images.md) - [aws_ecr_repository_image_scan_findings](aws_ecr_repository_image_scan_findings.md) +- [aws_ecrpublic_repositories](aws_ecrpublic_repositories.md) + - [aws_ecrpublic_repository_images](aws_ecrpublic_repository_images.md) - [aws_ecs_clusters](aws_ecs_clusters.md) - - [aws_ecs_cluster_tasks](aws_ecs_cluster_tasks.md) - - [aws_ecs_cluster_services](aws_ecs_cluster_services.md) - [aws_ecs_cluster_container_instances](aws_ecs_cluster_container_instances.md) + - [aws_ecs_cluster_services](aws_ecs_cluster_services.md) + - [aws_ecs_cluster_tasks](aws_ecs_cluster_tasks.md) - [aws_ecs_task_definitions](aws_ecs_task_definitions.md) - [aws_efs_filesystems](aws_efs_filesystems.md) - [aws_eks_clusters](aws_eks_clusters.md) @@ -182,18 +181,18 @@ - [aws_elasticache_global_replication_groups](aws_elasticache_global_replication_groups.md) - [aws_elasticache_parameter_groups](aws_elasticache_parameter_groups.md) - [aws_elasticache_replication_groups](aws_elasticache_replication_groups.md) -- [aws_elasticache_reserved_cache_nodes_offerings](aws_elasticache_reserved_cache_nodes_offerings.md) - [aws_elasticache_reserved_cache_nodes](aws_elasticache_reserved_cache_nodes.md) +- [aws_elasticache_reserved_cache_nodes_offerings](aws_elasticache_reserved_cache_nodes_offerings.md) - [aws_elasticache_service_updates](aws_elasticache_service_updates.md) - [aws_elasticache_snapshots](aws_elasticache_snapshots.md) +- [aws_elasticache_subnet_groups](aws_elasticache_subnet_groups.md) - [aws_elasticache_user_groups](aws_elasticache_user_groups.md) - [aws_elasticache_users](aws_elasticache_users.md) -- [aws_elasticache_subnet_groups](aws_elasticache_subnet_groups.md) - [aws_elasticbeanstalk_application_versions](aws_elasticbeanstalk_application_versions.md) - [aws_elasticbeanstalk_applications](aws_elasticbeanstalk_applications.md) - [aws_elasticbeanstalk_environments](aws_elasticbeanstalk_environments.md) - - [aws_elasticbeanstalk_configuration_settings](aws_elasticbeanstalk_configuration_settings.md) - [aws_elasticbeanstalk_configuration_options](aws_elasticbeanstalk_configuration_options.md) + - [aws_elasticbeanstalk_configuration_settings](aws_elasticbeanstalk_configuration_settings.md) - [aws_elasticsearch_domains](aws_elasticsearch_domains.md) - [aws_elasticsearch_packages](aws_elasticsearch_packages.md) - [aws_elasticsearch_versions](aws_elasticsearch_versions.md) @@ -211,14 +210,14 @@ - [aws_elbv2_target_group_target_health_descriptions](aws_elbv2_target_group_target_health_descriptions.md) - [aws_emr_block_public_access_configs](aws_emr_block_public_access_configs.md) - [aws_emr_clusters](aws_emr_clusters.md) -- [aws_eventbridge_event_buses](aws_eventbridge_event_buses.md) - - [aws_eventbridge_event_bus_rules](aws_eventbridge_event_bus_rules.md) - [aws_eventbridge_api_destinations](aws_eventbridge_api_destinations.md) - [aws_eventbridge_archives](aws_eventbridge_archives.md) - [aws_eventbridge_connections](aws_eventbridge_connections.md) +- [aws_eventbridge_endpoints](aws_eventbridge_endpoints.md) +- [aws_eventbridge_event_buses](aws_eventbridge_event_buses.md) + - [aws_eventbridge_event_bus_rules](aws_eventbridge_event_bus_rules.md) - [aws_eventbridge_event_sources](aws_eventbridge_event_sources.md) - [aws_eventbridge_replays](aws_eventbridge_replays.md) -- [aws_eventbridge_endpoints](aws_eventbridge_endpoints.md) - [aws_firehose_delivery_streams](aws_firehose_delivery_streams.md) - [aws_frauddetector_batch_imports](aws_frauddetector_batch_imports.md) - [aws_frauddetector_batch_predictions](aws_frauddetector_batch_predictions.md) @@ -240,11 +239,11 @@ - [aws_fsx_snapshots](aws_fsx_snapshots.md) - [aws_fsx_storage_virtual_machines](aws_fsx_storage_virtual_machines.md) - [aws_fsx_volumes](aws_fsx_volumes.md) +- [aws_glacier_data_retrieval_policies](aws_glacier_data_retrieval_policies.md) - [aws_glacier_vaults](aws_glacier_vaults.md) - [aws_glacier_vault_access_policies](aws_glacier_vault_access_policies.md) - [aws_glacier_vault_lock_policies](aws_glacier_vault_lock_policies.md) - [aws_glacier_vault_notifications](aws_glacier_vault_notifications.md) -- [aws_glacier_data_retrieval_policies](aws_glacier_data_retrieval_policies.md) - [aws_glue_classifiers](aws_glue_classifiers.md) - [aws_glue_connections](aws_glue_connections.md) - [aws_glue_crawlers](aws_glue_crawlers.md) @@ -277,11 +276,11 @@ - [aws_iam_saml_identity_providers](aws_iam_saml_identity_providers.md) - [aws_iam_server_certificates](aws_iam_server_certificates.md) - [aws_iam_users](aws_iam_users.md) + - [aws_iam_ssh_public_keys](aws_iam_ssh_public_keys.md) - [aws_iam_user_access_keys](aws_iam_user_access_keys.md) - - [aws_iam_user_groups](aws_iam_user_groups.md) - [aws_iam_user_attached_policies](aws_iam_user_attached_policies.md) + - [aws_iam_user_groups](aws_iam_user_groups.md) - [aws_iam_user_policies](aws_iam_user_policies.md) - - [aws_iam_ssh_public_keys](aws_iam_ssh_public_keys.md) - [aws_iam_virtual_mfa_devices](aws_iam_virtual_mfa_devices.md) - [aws_identitystore_groups](aws_identitystore_groups.md) - [aws_identitystore_group_memberships](aws_identitystore_group_memberships.md) @@ -300,8 +299,8 @@ - [aws_iot_things](aws_iot_things.md) - [aws_iot_topic_rules](aws_iot_topic_rules.md) - [aws_kafka_clusters](aws_kafka_clusters.md) - - [aws_kafka_nodes](aws_kafka_nodes.md) - [aws_kafka_cluster_operations](aws_kafka_cluster_operations.md) + - [aws_kafka_nodes](aws_kafka_nodes.md) - [aws_kafka_configurations](aws_kafka_configurations.md) - [aws_kinesis_streams](aws_kinesis_streams.md) - [aws_kms_aliases](aws_kms_aliases.md) @@ -309,11 +308,11 @@ - [aws_kms_key_grants](aws_kms_key_grants.md) - [aws_kms_key_policies](aws_kms_key_policies.md) - [aws_lambda_functions](aws_lambda_functions.md) - - [aws_lambda_function_event_invoke_configs](aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_aliases](aws_lambda_function_aliases.md) - - [aws_lambda_function_versions](aws_lambda_function_versions.md) - [aws_lambda_function_concurrency_configs](aws_lambda_function_concurrency_configs.md) + - [aws_lambda_function_event_invoke_configs](aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_event_source_mappings](aws_lambda_function_event_source_mappings.md) + - [aws_lambda_function_versions](aws_lambda_function_versions.md) - [aws_lambda_layers](aws_lambda_layers.md) - [aws_lambda_layer_versions](aws_lambda_layer_versions.md) - [aws_lambda_layer_version_policies](aws_lambda_layer_version_policies.md) @@ -327,9 +326,9 @@ - [aws_lightsail_container_service_images](aws_lightsail_container_service_images.md) - [aws_lightsail_database_snapshots](aws_lightsail_database_snapshots.md) - [aws_lightsail_databases](aws_lightsail_databases.md) - - [aws_lightsail_database_parameters](aws_lightsail_database_parameters.md) - [aws_lightsail_database_events](aws_lightsail_database_events.md) - [aws_lightsail_database_log_events](aws_lightsail_database_log_events.md) + - [aws_lightsail_database_parameters](aws_lightsail_database_parameters.md) - [aws_lightsail_disks](aws_lightsail_disks.md) - [aws_lightsail_disk_snapshots](aws_lightsail_disk_snapshots.md) - [aws_lightsail_distributions](aws_lightsail_distributions.md) @@ -350,13 +349,13 @@ - [aws_neptune_clusters](aws_neptune_clusters.md) - [aws_neptune_db_parameter_groups](aws_neptune_db_parameter_groups.md) - [aws_neptune_db_parameter_group_db_parameters](aws_neptune_db_parameter_group_db_parameters.md) -- [aws_neptune_global_clusters](aws_neptune_global_clusters.md) - [aws_neptune_event_subscriptions](aws_neptune_event_subscriptions.md) +- [aws_neptune_global_clusters](aws_neptune_global_clusters.md) - [aws_neptune_instances](aws_neptune_instances.md) - [aws_neptune_subnet_groups](aws_neptune_subnet_groups.md) -- [aws_organizations_accounts](aws_organizations_accounts.md) -- [aws_organizations](aws_organizations.md) - [aws_organization_resource_policies](aws_organization_resource_policies.md) +- [aws_organizations](aws_organizations.md) +- [aws_organizations_accounts](aws_organizations_accounts.md) - [aws_qldb_ledgers](aws_qldb_ledgers.md) - [aws_qldb_ledger_journal_kinesis_streams](aws_qldb_ledger_journal_kinesis_streams.md) - [aws_qldb_ledger_journal_s3_exports](aws_qldb_ledger_journal_s3_exports.md) @@ -371,15 +370,13 @@ - [aws_quicksight_templates](aws_quicksight_templates.md) - [aws_quicksight_users](aws_quicksight_users.md) - [aws_ram_principals](aws_ram_principals.md) -- [aws_ram_resources](aws_ram_resources.md) -- [aws_ram_resource_shares](aws_ram_resource_shares.md) - - [aws_ram_resource_share_permissions](aws_ram_resource_share_permissions.md) - [aws_ram_resource_share_associations](aws_ram_resource_share_associations.md) - [aws_ram_resource_share_invitations](aws_ram_resource_share_invitations.md) +- [aws_ram_resource_shares](aws_ram_resource_shares.md) + - [aws_ram_resource_share_permissions](aws_ram_resource_share_permissions.md) - [aws_ram_resource_types](aws_ram_resource_types.md) +- [aws_ram_resources](aws_ram_resources.md) - [aws_rds_certificates](aws_rds_certificates.md) -- [aws_rds_engine_versions](aws_rds_engine_versions.md) - - [aws_rds_cluster_parameters](aws_rds_cluster_parameters.md) - [aws_rds_cluster_parameter_groups](aws_rds_cluster_parameter_groups.md) - [aws_rds_cluster_parameter_group_parameters](aws_rds_cluster_parameter_group_parameters.md) - [aws_rds_cluster_snapshots](aws_rds_cluster_snapshots.md) @@ -388,15 +385,18 @@ - [aws_rds_db_parameter_group_db_parameters](aws_rds_db_parameter_group_db_parameters.md) - [aws_rds_db_security_groups](aws_rds_db_security_groups.md) - [aws_rds_db_snapshots](aws_rds_db_snapshots.md) +- [aws_rds_engine_versions](aws_rds_engine_versions.md) + - [aws_rds_cluster_parameters](aws_rds_cluster_parameters.md) - [aws_rds_event_subscriptions](aws_rds_event_subscriptions.md) - [aws_rds_instances](aws_rds_instances.md) - [aws_rds_subnet_groups](aws_rds_subnet_groups.md) - [aws_redshift_clusters](aws_redshift_clusters.md) - - [aws_redshift_snapshots](aws_redshift_snapshots.md) - [aws_redshift_cluster_parameter_groups](aws_redshift_cluster_parameter_groups.md) - [aws_redshift_cluster_parameters](aws_redshift_cluster_parameters.md) + - [aws_redshift_snapshots](aws_redshift_snapshots.md) - [aws_redshift_event_subscriptions](aws_redshift_event_subscriptions.md) - [aws_redshift_subnet_groups](aws_redshift_subnet_groups.md) +- [aws_regions](aws_regions.md) - [aws_resourcegroups_resource_groups](aws_resourcegroups_resource_groups.md) - [aws_route53_delegation_sets](aws_route53_delegation_sets.md) - [aws_route53_domains](aws_route53_domains.md) @@ -409,10 +409,10 @@ - [aws_route53_traffic_policy_versions](aws_route53_traffic_policy_versions.md) - [aws_s3_accounts](aws_s3_accounts.md) - [aws_s3_buckets](aws_s3_buckets.md) + - [aws_s3_bucket_cors_rules](aws_s3_bucket_cors_rules.md) - [aws_s3_bucket_encryption_rules](aws_s3_bucket_encryption_rules.md) - - [aws_s3_bucket_lifecycles](aws_s3_bucket_lifecycles.md) - [aws_s3_bucket_grants](aws_s3_bucket_grants.md) - - [aws_s3_bucket_cors_rules](aws_s3_bucket_cors_rules.md) + - [aws_s3_bucket_lifecycles](aws_s3_bucket_lifecycles.md) - [aws_sagemaker_endpoint_configurations](aws_sagemaker_endpoint_configurations.md) - [aws_sagemaker_models](aws_sagemaker_models.md) - [aws_sagemaker_notebook_instances](aws_sagemaker_notebook_instances.md) @@ -440,15 +440,15 @@ - [aws_sns_subscriptions](aws_sns_subscriptions.md) - [aws_sns_topics](aws_sns_topics.md) - [aws_sqs_queues](aws_sqs_queues.md) +- [aws_ssm_associations](aws_ssm_associations.md) +- [aws_ssm_compliance_summary_items](aws_ssm_compliance_summary_items.md) - [aws_ssm_documents](aws_ssm_documents.md) - [aws_ssm_instances](aws_ssm_instances.md) - [aws_ssm_instance_compliance_items](aws_ssm_instance_compliance_items.md) - [aws_ssm_instance_patches](aws_ssm_instance_patches.md) -- [aws_ssm_parameters](aws_ssm_parameters.md) -- [aws_ssm_compliance_summary_items](aws_ssm_compliance_summary_items.md) -- [aws_ssm_associations](aws_ssm_associations.md) - [aws_ssm_inventories](aws_ssm_inventories.md) - [aws_ssm_inventory_schemas](aws_ssm_inventory_schemas.md) +- [aws_ssm_parameters](aws_ssm_parameters.md) - [aws_ssm_patch_baselines](aws_ssm_patch_baselines.md) - [aws_ssoadmin_instances](aws_ssoadmin_instances.md) - [aws_ssoadmin_permission_sets](aws_ssoadmin_permission_sets.md) @@ -457,22 +457,22 @@ - [aws_timestream_databases](aws_timestream_databases.md) - [aws_timestream_tables](aws_timestream_tables.md) - [aws_transfer_servers](aws_transfer_servers.md) -- [aws_wafregional_rate_based_rules](aws_wafregional_rate_based_rules.md) -- [aws_wafregional_rule_groups](aws_wafregional_rule_groups.md) -- [aws_wafregional_rules](aws_wafregional_rules.md) -- [aws_wafregional_web_acls](aws_wafregional_web_acls.md) - [aws_waf_rule_groups](aws_waf_rule_groups.md) - [aws_waf_rules](aws_waf_rules.md) - [aws_waf_subscribed_rule_groups](aws_waf_subscribed_rule_groups.md) - [aws_waf_web_acls](aws_waf_web_acls.md) +- [aws_wafregional_rate_based_rules](aws_wafregional_rate_based_rules.md) +- [aws_wafregional_rule_groups](aws_wafregional_rule_groups.md) +- [aws_wafregional_rules](aws_wafregional_rules.md) +- [aws_wafregional_web_acls](aws_wafregional_web_acls.md) - [aws_wafv2_ipsets](aws_wafv2_ipsets.md) - [aws_wafv2_managed_rule_groups](aws_wafv2_managed_rule_groups.md) - [aws_wafv2_regex_pattern_sets](aws_wafv2_regex_pattern_sets.md) - [aws_wafv2_rule_groups](aws_wafv2_rule_groups.md) - [aws_wafv2_web_acls](aws_wafv2_web_acls.md) -- [aws_workspaces_workspaces](aws_workspaces_workspaces.md) - [aws_workspaces_directories](aws_workspaces_directories.md) +- [aws_workspaces_workspaces](aws_workspaces_workspaces.md) - [aws_xray_encryption_configs](aws_xray_encryption_configs.md) - [aws_xray_groups](aws_xray_groups.md) -- [aws_xray_sampling_rules](aws_xray_sampling_rules.md) -- [aws_xray_resource_policies](aws_xray_resource_policies.md) \ No newline at end of file +- [aws_xray_resource_policies](aws_xray_resource_policies.md) +- [aws_xray_sampling_rules](aws_xray_sampling_rules.md) \ No newline at end of file diff --git a/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzers.md b/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzers.md index c37e4fceae51ab..f44f49e44c88cb 100644 --- a/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzers.md +++ b/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzers.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_accessanalyzer_analyzers: - - [aws_accessanalyzer_analyzer_findings](aws_accessanalyzer_analyzer_findings.md) - [aws_accessanalyzer_analyzer_archive_rules](aws_accessanalyzer_analyzer_archive_rules.md) + - [aws_accessanalyzer_analyzer_findings](aws_accessanalyzer_analyzer_findings.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_apprunner_services.md b/plugins/source/aws/docs/tables/aws_apprunner_services.md index e33ece3430b9f9..e42f0561613272 100644 --- a/plugins/source/aws/docs/tables/aws_apprunner_services.md +++ b/plugins/source/aws/docs/tables/aws_apprunner_services.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_apprunner_services: - - [aws_apprunner_operations](aws_apprunner_operations.md) - [aws_apprunner_custom_domains](aws_apprunner_custom_domains.md) + - [aws_apprunner_operations](aws_apprunner_operations.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_athena_work_groups.md b/plugins/source/aws/docs/tables/aws_athena_work_groups.md index a1c249fc881c93..7869b929f6c227 100644 --- a/plugins/source/aws/docs/tables/aws_athena_work_groups.md +++ b/plugins/source/aws/docs/tables/aws_athena_work_groups.md @@ -7,9 +7,9 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_athena_work_groups: + - [aws_athena_work_group_named_queries](aws_athena_work_group_named_queries.md) - [aws_athena_work_group_prepared_statements](aws_athena_work_group_prepared_statements.md) - [aws_athena_work_group_query_executions](aws_athena_work_group_query_executions.md) - - [aws_athena_work_group_named_queries](aws_athena_work_group_named_queries.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_autoscaling_groups.md b/plugins/source/aws/docs/tables/aws_autoscaling_groups.md index 81df163e29e7b6..3191c822ee4136 100644 --- a/plugins/source/aws/docs/tables/aws_autoscaling_groups.md +++ b/plugins/source/aws/docs/tables/aws_autoscaling_groups.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_autoscaling_groups: - - [aws_autoscaling_group_scaling_policies](aws_autoscaling_group_scaling_policies.md) - [aws_autoscaling_group_lifecycle_hooks](aws_autoscaling_group_lifecycle_hooks.md) + - [aws_autoscaling_group_scaling_policies](aws_autoscaling_group_scaling_policies.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_dynamodb_tables.md b/plugins/source/aws/docs/tables/aws_dynamodb_tables.md index aeec6457ce3e57..7c04de557d1de8 100644 --- a/plugins/source/aws/docs/tables/aws_dynamodb_tables.md +++ b/plugins/source/aws/docs/tables/aws_dynamodb_tables.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_dynamodb_tables: - - [aws_dynamodb_table_replica_auto_scalings](aws_dynamodb_table_replica_auto_scalings.md) - [aws_dynamodb_table_continuous_backups](aws_dynamodb_table_continuous_backups.md) + - [aws_dynamodb_table_replica_auto_scalings](aws_dynamodb_table_replica_auto_scalings.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_ec2_transit_gateways.md b/plugins/source/aws/docs/tables/aws_ec2_transit_gateways.md index 234aaf8b10431b..5a4b124cfaf8dc 100644 --- a/plugins/source/aws/docs/tables/aws_ec2_transit_gateways.md +++ b/plugins/source/aws/docs/tables/aws_ec2_transit_gateways.md @@ -8,10 +8,10 @@ The primary key for this table is **arn**. The following tables depend on aws_ec2_transit_gateways: - [aws_ec2_transit_gateway_attachments](aws_ec2_transit_gateway_attachments.md) + - [aws_ec2_transit_gateway_multicast_domains](aws_ec2_transit_gateway_multicast_domains.md) + - [aws_ec2_transit_gateway_peering_attachments](aws_ec2_transit_gateway_peering_attachments.md) - [aws_ec2_transit_gateway_route_tables](aws_ec2_transit_gateway_route_tables.md) - [aws_ec2_transit_gateway_vpc_attachments](aws_ec2_transit_gateway_vpc_attachments.md) - - [aws_ec2_transit_gateway_peering_attachments](aws_ec2_transit_gateway_peering_attachments.md) - - [aws_ec2_transit_gateway_multicast_domains](aws_ec2_transit_gateway_multicast_domains.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_ecs_clusters.md b/plugins/source/aws/docs/tables/aws_ecs_clusters.md index ec34bb4702e807..7c888550393f8c 100644 --- a/plugins/source/aws/docs/tables/aws_ecs_clusters.md +++ b/plugins/source/aws/docs/tables/aws_ecs_clusters.md @@ -7,9 +7,9 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_ecs_clusters: - - [aws_ecs_cluster_tasks](aws_ecs_cluster_tasks.md) - - [aws_ecs_cluster_services](aws_ecs_cluster_services.md) - [aws_ecs_cluster_container_instances](aws_ecs_cluster_container_instances.md) + - [aws_ecs_cluster_services](aws_ecs_cluster_services.md) + - [aws_ecs_cluster_tasks](aws_ecs_cluster_tasks.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_elasticbeanstalk_environments.md b/plugins/source/aws/docs/tables/aws_elasticbeanstalk_environments.md index 89a38d5eb81b20..9b83ced26e5cf2 100644 --- a/plugins/source/aws/docs/tables/aws_elasticbeanstalk_environments.md +++ b/plugins/source/aws/docs/tables/aws_elasticbeanstalk_environments.md @@ -7,8 +7,8 @@ The composite primary key for this table is (**account_id**, **id**). ## Relations The following tables depend on aws_elasticbeanstalk_environments: - - [aws_elasticbeanstalk_configuration_settings](aws_elasticbeanstalk_configuration_settings.md) - [aws_elasticbeanstalk_configuration_options](aws_elasticbeanstalk_configuration_options.md) + - [aws_elasticbeanstalk_configuration_settings](aws_elasticbeanstalk_configuration_settings.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_iam_users.md b/plugins/source/aws/docs/tables/aws_iam_users.md index d6a3ecce48b4b2..b76e79be336855 100644 --- a/plugins/source/aws/docs/tables/aws_iam_users.md +++ b/plugins/source/aws/docs/tables/aws_iam_users.md @@ -7,11 +7,11 @@ The composite primary key for this table is (**id**, **account_id**). ## Relations The following tables depend on aws_iam_users: + - [aws_iam_ssh_public_keys](aws_iam_ssh_public_keys.md) - [aws_iam_user_access_keys](aws_iam_user_access_keys.md) - - [aws_iam_user_groups](aws_iam_user_groups.md) - [aws_iam_user_attached_policies](aws_iam_user_attached_policies.md) + - [aws_iam_user_groups](aws_iam_user_groups.md) - [aws_iam_user_policies](aws_iam_user_policies.md) - - [aws_iam_ssh_public_keys](aws_iam_ssh_public_keys.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_kafka_clusters.md b/plugins/source/aws/docs/tables/aws_kafka_clusters.md index e6e6f8adb16010..3b24065ab8b614 100644 --- a/plugins/source/aws/docs/tables/aws_kafka_clusters.md +++ b/plugins/source/aws/docs/tables/aws_kafka_clusters.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_kafka_clusters: - - [aws_kafka_nodes](aws_kafka_nodes.md) - [aws_kafka_cluster_operations](aws_kafka_cluster_operations.md) + - [aws_kafka_nodes](aws_kafka_nodes.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_lambda_functions.md b/plugins/source/aws/docs/tables/aws_lambda_functions.md index 929b66fb39b780..e133a8101dafbb 100644 --- a/plugins/source/aws/docs/tables/aws_lambda_functions.md +++ b/plugins/source/aws/docs/tables/aws_lambda_functions.md @@ -5,11 +5,11 @@ The primary key for this table is **_cq_id**. ## Relations The following tables depend on aws_lambda_functions: - - [aws_lambda_function_event_invoke_configs](aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_aliases](aws_lambda_function_aliases.md) - - [aws_lambda_function_versions](aws_lambda_function_versions.md) - [aws_lambda_function_concurrency_configs](aws_lambda_function_concurrency_configs.md) + - [aws_lambda_function_event_invoke_configs](aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_event_source_mappings](aws_lambda_function_event_source_mappings.md) + - [aws_lambda_function_versions](aws_lambda_function_versions.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_lightsail_databases.md b/plugins/source/aws/docs/tables/aws_lightsail_databases.md index b5cc7d716918e3..53bd4989bb6e28 100644 --- a/plugins/source/aws/docs/tables/aws_lightsail_databases.md +++ b/plugins/source/aws/docs/tables/aws_lightsail_databases.md @@ -7,9 +7,9 @@ The primary key for this table is **_cq_id**. ## Relations The following tables depend on aws_lightsail_databases: - - [aws_lightsail_database_parameters](aws_lightsail_database_parameters.md) - [aws_lightsail_database_events](aws_lightsail_database_events.md) - [aws_lightsail_database_log_events](aws_lightsail_database_log_events.md) + - [aws_lightsail_database_parameters](aws_lightsail_database_parameters.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_redshift_clusters.md b/plugins/source/aws/docs/tables/aws_redshift_clusters.md index e8af9cd74596c0..5832f32bd8897c 100644 --- a/plugins/source/aws/docs/tables/aws_redshift_clusters.md +++ b/plugins/source/aws/docs/tables/aws_redshift_clusters.md @@ -7,8 +7,8 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_redshift_clusters: - - [aws_redshift_snapshots](aws_redshift_snapshots.md) - [aws_redshift_cluster_parameter_groups](aws_redshift_cluster_parameter_groups.md) + - [aws_redshift_snapshots](aws_redshift_snapshots.md) ## Columns diff --git a/plugins/source/aws/docs/tables/aws_s3_buckets.md b/plugins/source/aws/docs/tables/aws_s3_buckets.md index 1e29229c002561..2ae81e91d88aa3 100644 --- a/plugins/source/aws/docs/tables/aws_s3_buckets.md +++ b/plugins/source/aws/docs/tables/aws_s3_buckets.md @@ -5,10 +5,10 @@ The primary key for this table is **arn**. ## Relations The following tables depend on aws_s3_buckets: + - [aws_s3_bucket_cors_rules](aws_s3_bucket_cors_rules.md) - [aws_s3_bucket_encryption_rules](aws_s3_bucket_encryption_rules.md) - - [aws_s3_bucket_lifecycles](aws_s3_bucket_lifecycles.md) - [aws_s3_bucket_grants](aws_s3_bucket_grants.md) - - [aws_s3_bucket_cors_rules](aws_s3_bucket_cors_rules.md) + - [aws_s3_bucket_lifecycles](aws_s3_bucket_lifecycles.md) ## Columns diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index e32ed6da2a2f7d..ce69b821d66340 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -99,7 +99,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.15.3 github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 55b4d506134895..fd8d1808394e4e 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -272,8 +272,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azure/docs/tables/README.md b/plugins/source/azure/docs/tables/README.md index f8c9569fbf5269..897413dee2ed4f 100644 --- a/plugins/source/azure/docs/tables/README.md +++ b/plugins/source/azure/docs/tables/README.md @@ -25,10 +25,12 @@ - [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_azuredata_sql_server_registrations](azure_azuredata_sql_server_registrations.md) - [azure_batch_account](azure_batch_account.md) - [azure_billing_accounts](azure_billing_accounts.md) - [azure_billing_enrollment_accounts](azure_billing_enrollment_accounts.md) @@ -36,6 +38,10 @@ - [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_deleted_accounts](azure_cognitiveservices_deleted_accounts.md) - [azure_compute_cloud_services](azure_compute_cloud_services.md) @@ -45,7 +51,11 @@ - [azure_compute_galleries](azure_compute_galleries.md) - [azure_compute_images](azure_compute_images.md) - [azure_compute_restore_point_collections](azure_compute_restore_point_collections.md) +- [azure_compute_skus](azure_compute_skus.md) - [azure_compute_snapshots](azure_compute_snapshots.md) +- [azure_compute_virtual_machine_scale_sets](azure_compute_virtual_machine_scale_sets.md) + - [azure_compute_virtual_machine_scale_set_vms](azure_compute_virtual_machine_scale_set_vms.md) +- [azure_compute_virtual_machines](azure_compute_virtual_machines.md) - [azure_confluent_marketplace_agreements](azure_confluent_marketplace_agreements.md) - [azure_connectedvmware_clusters](azure_connectedvmware_clusters.md) - [azure_connectedvmware_datastores](azure_connectedvmware_datastores.md) @@ -59,13 +69,19 @@ - [azure_containerregistry_registries](azure_containerregistry_registries.md) - [azure_containerservice_managed_clusters](azure_containerservice_managed_clusters.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) @@ -84,16 +100,27 @@ - [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_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_log_profiles](azure_monitor_log_profiles.md) - [azure_monitor_private_link_scopes](azure_monitor_private_link_scopes.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_mysqlflexibleservers_servers](azure_mysqlflexibleservers_servers.md) - [azure_network_application_gateways](azure_network_application_gateways.md) - [azure_network_application_security_groups](azure_network_application_security_groups.md) @@ -105,13 +132,14 @@ - [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_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_ip_allocations](azure_network_ip_allocations.md) - [azure_network_ip_groups](azure_network_ip_groups.md) -- [azure_network_interfaces](azure_network_interfaces.md) - [azure_network_load_balancers](azure_network_load_balancers.md) - [azure_network_nat_gateways](azure_network_nat_gateways.md) - [azure_network_profiles](azure_network_profiles.md) @@ -123,23 +151,30 @@ - [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_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_virtual_appliances](azure_network_virtual_appliances.md) - [azure_network_virtual_hubs](azure_network_virtual_hubs.md) - [azure_network_virtual_network_taps](azure_network_virtual_network_taps.md) - [azure_network_virtual_networks](azure_network_virtual_networks.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_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) @@ -149,15 +184,13 @@ - [azure_privatedns_private_zones](azure_privatedns_private_zones.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_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_resources_resources](azure_resources_resources.md) - [azure_saas_resources](azure_saas_resources.md) +- [azure_search_services](azure_search_services.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) @@ -171,6 +204,7 @@ - [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) @@ -186,51 +220,17 @@ - [azure_sql_virtual_clusters](azure_sql_virtual_clusters.md) - [azure_sqlvirtualmachine_groups](azure_sqlvirtualmachine_groups.md) - [azure_sqlvirtualmachine_sql_virtual_machines](azure_sqlvirtualmachine_sql_virtual_machines.md) +- [azure_storage_accounts](azure_storage_accounts.md) + - [azure_storage_blob_services](azure_storage_blob_services.md) + - [azure_storage_containers](azure_storage_containers.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_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_windowsiot_services](azure_windowsiot_services.md) -- [azure_workloads_monitors](azure_workloads_monitors.md) -- [azure_authorization_role_definitions](azure_authorization_role_definitions.md) -- [azure_azuredata_sql_server_registrations](azure_azuredata_sql_server_registrations.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_compute_virtual_machines](azure_compute_virtual_machines.md) -- [azure_compute_skus](azure_compute_skus.md) -- [azure_compute_virtual_machine_scale_sets](azure_compute_virtual_machine_scale_sets.md) - - [azure_compute_virtual_machine_scale_set_vms](azure_compute_virtual_machine_scale_set_vms.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_costmanagement_views](azure_costmanagement_views.md) - - [azure_costmanagement_view_queries](azure_costmanagement_view_queries.md) -- [azure_datafactory_factories](azure_datafactory_factories.md) -- [azure_healthbot_bots](azure_healthbot_bots.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_logic_workflows](azure_logic_workflows.md) -- [azure_mariadb_servers](azure_mariadb_servers.md) - - [azure_mariadb_server_configurations](azure_mariadb_server_configurations.md) -- [azure_monitor_tenant_activity_log_alerts](azure_monitor_tenant_activity_log_alerts.md) -- [azure_mysql_servers](azure_mysql_servers.md) - - [azure_mysql_server_configurations](azure_mysql_server_configurations.md) -- [azure_network_express_route_gateways](azure_network_express_route_gateways.md) -- [azure_security_pricings](azure_security_pricings.md) -- [azure_storage_accounts](azure_storage_accounts.md) - - [azure_storage_tables](azure_storage_tables.md) - - [azure_storage_containers](azure_storage_containers.md) - - [azure_storage_blob_services](azure_storage_blob_services.md) -- [azure_subscription_subscriptions](azure_subscription_subscriptions.md) -- [azure_redis_caches](azure_redis_caches.md) -- [azure_resources_resources](azure_resources_resources.md) -- [azure_subscription_tenants](azure_subscription_tenants.md) -- [azure_search_services](azure_search_services.md) -- [azure_nginx_deployments](azure_nginx_deployments.md) -- [azure_peering_service_providers](azure_peering_service_providers.md) \ No newline at end of file +- [azure_workloads_monitors](azure_workloads_monitors.md) \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_storage_accounts.md b/plugins/source/azure/docs/tables/azure_storage_accounts.md index ed876ae099d41a..9d3eacb55bdfa7 100644 --- a/plugins/source/azure/docs/tables/azure_storage_accounts.md +++ b/plugins/source/azure/docs/tables/azure_storage_accounts.md @@ -5,9 +5,9 @@ The primary key for this table is **id**. ## Relations The following tables depend on azure_storage_accounts: - - [azure_storage_tables](azure_storage_tables.md) - - [azure_storage_containers](azure_storage_containers.md) - [azure_storage_blob_services](azure_storage_blob_services.md) + - [azure_storage_containers](azure_storage_containers.md) + - [azure_storage_tables](azure_storage_tables.md) ## Columns diff --git a/plugins/source/azure/go.mod b/plugins/source/azure/go.mod index adda23c8dfb588..a93d7fa661998a 100644 --- a/plugins/source/azure/go.mod +++ b/plugins/source/azure/go.mod @@ -95,7 +95,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads v0.2.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gorilla/mux v1.8.0 github.com/iancoleman/strcase v0.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azure/go.sum b/plugins/source/azure/go.sum index fced5815f6a8b9..a9968071e86998 100644 --- a/plugins/source/azure/go.sum +++ b/plugins/source/azure/go.sum @@ -229,8 +229,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azuredevops/go.mod b/plugins/source/azuredevops/go.mod index 753738f73a4d2f..61a18a0c534a84 100644 --- a/plugins/source/azuredevops/go.mod +++ b/plugins/source/azuredevops/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/azuredevops go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/microsoft/azure-devops-go-api/azuredevops/v6 v6.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azuredevops/go.sum b/plugins/source/azuredevops/go.sum index 3f5e80cddea27e..9ee9cbfee0ed98 100644 --- a/plugins/source/azuredevops/go.sum +++ b/plugins/source/azuredevops/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/cloudflare/docs/tables/README.md b/plugins/source/cloudflare/docs/tables/README.md index 94a2327317e042..6113fcf469fb58 100644 --- a/plugins/source/cloudflare/docs/tables/README.md +++ b/plugins/source/cloudflare/docs/tables/README.md @@ -9,10 +9,10 @@ - [cloudflare_dns_records](cloudflare_dns_records.md) - [cloudflare_images](cloudflare_images.md) - [cloudflare_ips](cloudflare_ips.md) +- [cloudflare_waf_overrides](cloudflare_waf_overrides.md) - [cloudflare_waf_packages](cloudflare_waf_packages.md) - [cloudflare_waf_groups](cloudflare_waf_groups.md) - [cloudflare_waf_rules](cloudflare_waf_rules.md) -- [cloudflare_waf_overrides](cloudflare_waf_overrides.md) - [cloudflare_worker_meta_data](cloudflare_worker_meta_data.md) - [cloudflare_worker_cron_triggers](cloudflare_worker_cron_triggers.md) - [cloudflare_workers_secrets](cloudflare_workers_secrets.md) diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index 790be9229380e6..c37d1f89bd1784 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudflare/cloudflare-go v0.57.1 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/thoas/go-funk v0.9.3 diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index 9ed4044cf86bc6..af890a486cd6e7 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.57.1 h1:c9OhL/WusagBirP+CIJeCqS7OjT9kiWjtJv4lwxp3ZM= github.com/cloudflare/cloudflare-go v0.57.1/go.mod h1:cD8AqNMMaL1A0Sj9XKo3Xu9ZVHwHqgXJofb1ya210GQ= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/crowdstrike/docs/tables/README.md b/plugins/source/crowdstrike/docs/tables/README.md index 91935f2fe7feb3..2e136076531fd4 100644 --- a/plugins/source/crowdstrike/docs/tables/README.md +++ b/plugins/source/crowdstrike/docs/tables/README.md @@ -2,5 +2,5 @@ ## Tables -- [crowdstrike_incidents_crowdscore](crowdstrike_incidents_crowdscore.md) -- [crowdstrike_alerts_query](crowdstrike_alerts_query.md) \ No newline at end of file +- [crowdstrike_alerts_query](crowdstrike_alerts_query.md) +- [crowdstrike_incidents_crowdscore](crowdstrike_incidents_crowdscore.md) \ No newline at end of file diff --git a/plugins/source/crowdstrike/go.mod b/plugins/source/crowdstrike/go.mod index 790f2c50fcb23d..b3b162b3c96e5f 100644 --- a/plugins/source/crowdstrike/go.mod +++ b/plugins/source/crowdstrike/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/crowdstrike go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/crowdstrike/gofalcon v0.2.32 github.com/go-openapi/runtime v0.25.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/crowdstrike/go.sum b/plugins/source/crowdstrike/go.sum index 466218935132f1..3a58e040a7d489 100644 --- a/plugins/source/crowdstrike/go.sum +++ b/plugins/source/crowdstrike/go.sum @@ -74,8 +74,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/datadog/docs/tables/README.md b/plugins/source/datadog/docs/tables/README.md index eb50a17830e654..4201ea23948549 100644 --- a/plugins/source/datadog/docs/tables/README.md +++ b/plugins/source/datadog/docs/tables/README.md @@ -5,17 +5,17 @@ - [datadog_dashboard_lists](datadog_dashboard_lists.md) - [datadog_dashboards](datadog_dashboards.md) - [datadog_downtimes](datadog_downtimes.md) +- [datadog_global_variables](datadog_global_variables.md) - [datadog_hosts](datadog_hosts.md) - [datadog_incidents](datadog_incidents.md) - [datadog_incident_attachments](datadog_incident_attachments.md) - [datadog_monitors](datadog_monitors.md) - [datadog_monitor_downtimes](datadog_monitor_downtimes.md) - [datadog_notebooks](datadog_notebooks.md) +- [datadog_permissions](datadog_permissions.md) - [datadog_roles](datadog_roles.md) - [datadog_role_permissions](datadog_role_permissions.md) - [datadog_role_users](datadog_role_users.md) -- [datadog_permissions](datadog_permissions.md) -- [datadog_global_variables](datadog_global_variables.md) - [datadog_synthetics](datadog_synthetics.md) - [datadog_users](datadog_users.md) - [datadog_user_permissions](datadog_user_permissions.md) \ No newline at end of file diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index 84f55c636b9f0e..80d108ffa9db6c 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/DataDog/datadog-api-client-go/v2 v2.6.1 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index 4937293a5e60e3..1675426ec67fee 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/digitalocean/docs/tables/README.md b/plugins/source/digitalocean/docs/tables/README.md index fc941e25910bd9..7da5de83b58ba3 100644 --- a/plugins/source/digitalocean/docs/tables/README.md +++ b/plugins/source/digitalocean/docs/tables/README.md @@ -3,25 +3,25 @@ ## Tables - [digitalocean_accounts](digitalocean_accounts.md) -- [digitalocean_cdns](digitalocean_cdns.md) -- [digitalocean_billing_history](digitalocean_billing_history.md) -- [digitalocean_monitoring_alert_policies](digitalocean_monitoring_alert_policies.md) - [digitalocean_balances](digitalocean_balances.md) +- [digitalocean_billing_history](digitalocean_billing_history.md) +- [digitalocean_cdns](digitalocean_cdns.md) - [digitalocean_certificates](digitalocean_certificates.md) - [digitalocean_databases](digitalocean_databases.md) + - [digitalocean_database_backups](digitalocean_database_backups.md) - [digitalocean_database_firewall_rules](digitalocean_database_firewall_rules.md) - [digitalocean_database_replicas](digitalocean_database_replicas.md) - - [digitalocean_database_backups](digitalocean_database_backups.md) +- [digitalocean_domain_records](digitalocean_domain_records.md) - [digitalocean_domains](digitalocean_domains.md) - [digitalocean_domain_records](digitalocean_domain_records.md) -- [digitalocean_domain_records](digitalocean_domain_records.md) +- [digitalocean_droplet_neighbors](digitalocean_droplet_neighbors.md) - [digitalocean_droplets](digitalocean_droplets.md) - [digitalocean_droplet_neighbors](digitalocean_droplet_neighbors.md) -- [digitalocean_droplet_neighbors](digitalocean_droplet_neighbors.md) - [digitalocean_firewalls](digitalocean_firewalls.md) - [digitalocean_floating_ips](digitalocean_floating_ips.md) - [digitalocean_images](digitalocean_images.md) - [digitalocean_keys](digitalocean_keys.md) +- [digitalocean_monitoring_alert_policies](digitalocean_monitoring_alert_policies.md) - [digitalocean_projects](digitalocean_projects.md) - [digitalocean_project_resources](digitalocean_project_resources.md) - [digitalocean_registries](digitalocean_registries.md) diff --git a/plugins/source/digitalocean/docs/tables/digitalocean_databases.md b/plugins/source/digitalocean/docs/tables/digitalocean_databases.md index 089c18e35a55eb..39f9763a9d9030 100644 --- a/plugins/source/digitalocean/docs/tables/digitalocean_databases.md +++ b/plugins/source/digitalocean/docs/tables/digitalocean_databases.md @@ -5,9 +5,9 @@ The primary key for this table is **id**. ## Relations The following tables depend on digitalocean_databases: + - [digitalocean_database_backups](digitalocean_database_backups.md) - [digitalocean_database_firewall_rules](digitalocean_database_firewall_rules.md) - [digitalocean_database_replicas](digitalocean_database_replicas.md) - - [digitalocean_database_backups](digitalocean_database_backups.md) ## Columns diff --git a/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md b/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md index 92728bcc556787..3b9c3c625624a0 100644 --- a/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md +++ b/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md @@ -2,6 +2,10 @@ The primary key for this table is **id**. +## Relations + +This table depends on [digitalocean_domains](digitalocean_domains.md). + ## Columns | Name | Type | diff --git a/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md b/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md index 980701d3078762..64c83c938e8c4d 100644 --- a/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md +++ b/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md @@ -2,6 +2,10 @@ The primary key for this table is **neighbor_id**. +## Relations + +This table depends on [digitalocean_droplets](digitalocean_droplets.md). + ## Columns | Name | Type | diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index ce6b76471bb736..98dced38c464f7 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/smithy-go v1.13.5 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/digitalocean/godo v1.93.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index dd50679701bf48..f47e9b4c734de9 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -77,8 +77,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/fastly/docs/tables/README.md b/plugins/source/fastly/docs/tables/README.md index 55ecea167dc763..63aa3216c23400 100644 --- a/plugins/source/fastly/docs/tables/README.md +++ b/plugins/source/fastly/docs/tables/README.md @@ -2,13 +2,13 @@ ## Tables -- [fastly_account_users](fastly_account_users.md) - [fastly_account_events](fastly_account_events.md) +- [fastly_account_users](fastly_account_users.md) - [fastly_auth_tokens](fastly_auth_tokens.md) - [fastly_services](fastly_services.md) - [fastly_service_versions](fastly_service_versions.md) - - [fastly_service_health_checks](fastly_service_health_checks.md) - - [fastly_service_domains](fastly_service_domains.md) - [fastly_service_backends](fastly_service_backends.md) + - [fastly_service_domains](fastly_service_domains.md) + - [fastly_service_health_checks](fastly_service_health_checks.md) - [fastly_stats_regions](fastly_stats_regions.md) - [fastly_stats_services](fastly_stats_services.md) \ No newline at end of file diff --git a/plugins/source/fastly/docs/tables/fastly_service_versions.md b/plugins/source/fastly/docs/tables/fastly_service_versions.md index 12e2dbc76af7b6..d24ea82f3d19e2 100644 --- a/plugins/source/fastly/docs/tables/fastly_service_versions.md +++ b/plugins/source/fastly/docs/tables/fastly_service_versions.md @@ -9,9 +9,9 @@ The composite primary key for this table is (**number**, **service_id**). This table depends on [fastly_services](fastly_services.md). The following tables depend on fastly_service_versions: - - [fastly_service_health_checks](fastly_service_health_checks.md) - - [fastly_service_domains](fastly_service_domains.md) - [fastly_service_backends](fastly_service_backends.md) + - [fastly_service_domains](fastly_service_domains.md) + - [fastly_service_health_checks](fastly_service_health_checks.md) ## Columns diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index 99cd5d28fe0b5b..af8f7ed2b4bc72 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/codegen v0.1.1 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index 0bf8b6b22db828..72e7c435742c3a 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.1.1 h1:zIPNMeNAlUdLwP4gpb8BsfOfAxyLYOBxBNSG+nZpSx4= github.com/cloudquery/codegen v0.1.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gandi/docs/tables/README.md b/plugins/source/gandi/docs/tables/README.md index 41a825267ea188..b14a8d2ad3fe59 100644 --- a/plugins/source/gandi/docs/tables/README.md +++ b/plugins/source/gandi/docs/tables/README.md @@ -2,13 +2,13 @@ ## Tables -- [gandi_certificates](gandi_certificates.md) - [gandi_certificate_packages](gandi_certificate_packages.md) +- [gandi_certificates](gandi_certificates.md) - [gandi_domains](gandi_domains.md) + - [gandi_domain_dnssec_keys](gandi_domain_dnssec_keys.md) + - [gandi_domain_glue_records](gandi_domain_glue_records.md) - [gandi_domain_livedns](gandi_domain_livedns.md) - [gandi_domain_web_redirections](gandi_domain_web_redirections.md) - - [gandi_domain_glue_records](gandi_domain_glue_records.md) - - [gandi_domain_dnssec_keys](gandi_domain_dnssec_keys.md) - [gandi_livedns_domains](gandi_livedns_domains.md) - [gandi_livedns_domain_snapshots](gandi_livedns_domain_snapshots.md) - [gandi_simplehosting_instances](gandi_simplehosting_instances.md) diff --git a/plugins/source/gandi/docs/tables/gandi_domains.md b/plugins/source/gandi/docs/tables/gandi_domains.md index c1047a6d6b646b..4c47398c186687 100644 --- a/plugins/source/gandi/docs/tables/gandi_domains.md +++ b/plugins/source/gandi/docs/tables/gandi_domains.md @@ -5,10 +5,10 @@ The primary key for this table is **id**. ## Relations The following tables depend on gandi_domains: + - [gandi_domain_dnssec_keys](gandi_domain_dnssec_keys.md) + - [gandi_domain_glue_records](gandi_domain_glue_records.md) - [gandi_domain_livedns](gandi_domain_livedns.md) - [gandi_domain_web_redirections](gandi_domain_web_redirections.md) - - [gandi_domain_glue_records](gandi_domain_glue_records.md) - - [gandi_domain_dnssec_keys](gandi_domain_dnssec_keys.md) ## Columns diff --git a/plugins/source/gandi/go.mod b/plugins/source/gandi/go.mod index 1547c441a5c46f..4e3a7606dc8dc1 100644 --- a/plugins/source/gandi/go.mod +++ b/plugins/source/gandi/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gandi go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/go-gandi/go-gandi v0.5.1-0.20221118201059-f69b292fa399 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/gandi/go.sum b/plugins/source/gandi/go.sum index 014f02d90745ff..568b86e1daa21d 100644 --- a/plugins/source/gandi/go.sum +++ b/plugins/source/gandi/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gcp/docs/tables/README.md b/plugins/source/gcp/docs/tables/README.md index 86d505cf5ea0b3..3ecfc9a3f27e22 100644 --- a/plugins/source/gcp/docs/tables/README.md +++ b/plugins/source/gcp/docs/tables/README.md @@ -2,47 +2,47 @@ ## Tables -- [gcp_aiplatform_job_locations](gcp_aiplatform_job_locations.md) - - [gcp_aiplatform_batch_prediction_jobs](gcp_aiplatform_batch_prediction_jobs.md) - - [gcp_aiplatform_custom_jobs](gcp_aiplatform_custom_jobs.md) - - [gcp_aiplatform_data_labeling_jobs](gcp_aiplatform_data_labeling_jobs.md) - - [gcp_aiplatform_hyperparameter_tuning_jobs](gcp_aiplatform_hyperparameter_tuning_jobs.md) - - [gcp_aiplatform_model_deployment_monitoring_jobs](gcp_aiplatform_model_deployment_monitoring_jobs.md) - [gcp_aiplatform_dataset_locations](gcp_aiplatform_dataset_locations.md) - [gcp_aiplatform_datasets](gcp_aiplatform_datasets.md) - [gcp_aiplatform_endpoint_locations](gcp_aiplatform_endpoint_locations.md) - [gcp_aiplatform_endpoints](gcp_aiplatform_endpoints.md) - [gcp_aiplatform_featurestore_locations](gcp_aiplatform_featurestore_locations.md) - [gcp_aiplatform_featurestores](gcp_aiplatform_featurestores.md) -- [gcp_aiplatform_indexendpoint_locations](gcp_aiplatform_indexendpoint_locations.md) - - [gcp_aiplatform_index_endpoints](gcp_aiplatform_index_endpoints.md) - [gcp_aiplatform_index_locations](gcp_aiplatform_index_locations.md) - [gcp_aiplatform_indexes](gcp_aiplatform_indexes.md) +- [gcp_aiplatform_indexendpoint_locations](gcp_aiplatform_indexendpoint_locations.md) + - [gcp_aiplatform_index_endpoints](gcp_aiplatform_index_endpoints.md) +- [gcp_aiplatform_job_locations](gcp_aiplatform_job_locations.md) + - [gcp_aiplatform_batch_prediction_jobs](gcp_aiplatform_batch_prediction_jobs.md) + - [gcp_aiplatform_custom_jobs](gcp_aiplatform_custom_jobs.md) + - [gcp_aiplatform_data_labeling_jobs](gcp_aiplatform_data_labeling_jobs.md) + - [gcp_aiplatform_hyperparameter_tuning_jobs](gcp_aiplatform_hyperparameter_tuning_jobs.md) + - [gcp_aiplatform_model_deployment_monitoring_jobs](gcp_aiplatform_model_deployment_monitoring_jobs.md) - [gcp_aiplatform_metadata_locations](gcp_aiplatform_metadata_locations.md) - [gcp_aiplatform_metadata_stores](gcp_aiplatform_metadata_stores.md) - [gcp_aiplatform_model_locations](gcp_aiplatform_model_locations.md) - [gcp_aiplatform_models](gcp_aiplatform_models.md) +- [gcp_aiplatform_operations](gcp_aiplatform_operations.md) - [gcp_aiplatform_pipeline_locations](gcp_aiplatform_pipeline_locations.md) - [gcp_aiplatform_pipeline_jobs](gcp_aiplatform_pipeline_jobs.md) - [gcp_aiplatform_training_pipelines](gcp_aiplatform_training_pipelines.md) - [gcp_aiplatform_specialistpool_locations](gcp_aiplatform_specialistpool_locations.md) - [gcp_aiplatform_specialist_pools](gcp_aiplatform_specialist_pools.md) -- [gcp_aiplatform_vizier_locations](gcp_aiplatform_vizier_locations.md) - - [gcp_aiplatform_studies](gcp_aiplatform_studies.md) - [gcp_aiplatform_tensorboard_locations](gcp_aiplatform_tensorboard_locations.md) - [gcp_aiplatform_tensorboards](gcp_aiplatform_tensorboards.md) -- [gcp_aiplatform_operations](gcp_aiplatform_operations.md) +- [gcp_aiplatform_vizier_locations](gcp_aiplatform_vizier_locations.md) + - [gcp_aiplatform_studies](gcp_aiplatform_studies.md) - [gcp_apigateway_apis](gcp_apigateway_apis.md) - [gcp_apigateway_gateways](gcp_apigateway_gateways.md) - [gcp_apikeys_keys](gcp_apikeys_keys.md) - [gcp_appengine_apps](gcp_appengine_apps.md) -- [gcp_appengine_services](gcp_appengine_services.md) - - [gcp_appengine_versions](gcp_appengine_versions.md) - - [gcp_appengine_instances](gcp_appengine_instances.md) - [gcp_appengine_authorized_certificates](gcp_appengine_authorized_certificates.md) - [gcp_appengine_authorized_domains](gcp_appengine_authorized_domains.md) - [gcp_appengine_domain_mappings](gcp_appengine_domain_mappings.md) - [gcp_appengine_firewall_ingress_rules](gcp_appengine_firewall_ingress_rules.md) +- [gcp_appengine_services](gcp_appengine_services.md) + - [gcp_appengine_versions](gcp_appengine_versions.md) + - [gcp_appengine_instances](gcp_appengine_instances.md) - [gcp_artifactregistry_locations](gcp_artifactregistry_locations.md) - [gcp_artifactregistry_repositories](gcp_artifactregistry_repositories.md) - [gcp_artifactregistry_docker_images](gcp_artifactregistry_docker_images.md) @@ -79,11 +79,11 @@ - [gcp_certificatemanager_certificate_map_entries](gcp_certificatemanager_certificate_map_entries.md) - [gcp_certificatemanager_certificates](gcp_certificatemanager_certificates.md) - [gcp_certificatemanager_dns_authorizations](gcp_certificatemanager_dns_authorizations.md) -- [gcp_clouddeploy_targets](gcp_clouddeploy_targets.md) - [gcp_clouddeploy_delivery_pipelines](gcp_clouddeploy_delivery_pipelines.md) - [gcp_clouddeploy_releases](gcp_clouddeploy_releases.md) - [gcp_clouddeploy_rollouts](gcp_clouddeploy_rollouts.md) - [gcp_clouddeploy_job_runs](gcp_clouddeploy_job_runs.md) +- [gcp_clouddeploy_targets](gcp_clouddeploy_targets.md) - [gcp_clouderrorreporting_error_group_stats](gcp_clouderrorreporting_error_group_stats.md) - [gcp_clouderrorreporting_error_events](gcp_clouderrorreporting_error_events.md) - [gcp_cloudiot_device_registries](gcp_cloudiot_device_registries.md) @@ -95,31 +95,31 @@ - [gcp_compute_backend_services](gcp_compute_backend_services.md) - [gcp_compute_disk_types](gcp_compute_disk_types.md) - [gcp_compute_disks](gcp_compute_disks.md) +- [gcp_compute_firewalls](gcp_compute_firewalls.md) - [gcp_compute_forwarding_rules](gcp_compute_forwarding_rules.md) +- [gcp_compute_images](gcp_compute_images.md) +- [gcp_compute_instance_groups](gcp_compute_instance_groups.md) - [gcp_compute_instances](gcp_compute_instances.md) +- [gcp_compute_interconnects](gcp_compute_interconnects.md) +- [gcp_compute_networks](gcp_compute_networks.md) +- [gcp_compute_projects](gcp_compute_projects.md) - [gcp_compute_ssl_certificates](gcp_compute_ssl_certificates.md) +- [gcp_compute_ssl_policies](gcp_compute_ssl_policies.md) - [gcp_compute_subnetworks](gcp_compute_subnetworks.md) - [gcp_compute_target_http_proxies](gcp_compute_target_http_proxies.md) +- [gcp_compute_target_ssl_proxies](gcp_compute_target_ssl_proxies.md) - [gcp_compute_url_maps](gcp_compute_url_maps.md) - [gcp_compute_vpn_gateways](gcp_compute_vpn_gateways.md) -- [gcp_compute_instance_groups](gcp_compute_instance_groups.md) -- [gcp_compute_images](gcp_compute_images.md) -- [gcp_compute_firewalls](gcp_compute_firewalls.md) -- [gcp_compute_networks](gcp_compute_networks.md) -- [gcp_compute_ssl_policies](gcp_compute_ssl_policies.md) -- [gcp_compute_interconnects](gcp_compute_interconnects.md) -- [gcp_compute_target_ssl_proxies](gcp_compute_target_ssl_proxies.md) -- [gcp_compute_projects](gcp_compute_projects.md) - [gcp_container_clusters](gcp_container_clusters.md) - [gcp_containeranalysis_occurrences](gcp_containeranalysis_occurrences.md) -- [gcp_dns_policies](gcp_dns_policies.md) - [gcp_dns_managed_zones](gcp_dns_managed_zones.md) +- [gcp_dns_policies](gcp_dns_policies.md) - [gcp_domains_registrations](gcp_domains_registrations.md) - [gcp_functions_functions](gcp_functions_functions.md) +- [gcp_iam_deny_policies](gcp_iam_deny_policies.md) - [gcp_iam_roles](gcp_iam_roles.md) - [gcp_iam_service_accounts](gcp_iam_service_accounts.md) - [gcp_iam_service_account_keys](gcp_iam_service_account_keys.md) -- [gcp_iam_deny_policies](gcp_iam_deny_policies.md) - [gcp_kms_keyrings](gcp_kms_keyrings.md) - [gcp_kms_crypto_keys](gcp_kms_crypto_keys.md) - [gcp_logging_metrics](gcp_logging_metrics.md) @@ -127,8 +127,8 @@ - [gcp_monitoring_alert_policies](gcp_monitoring_alert_policies.md) - [gcp_redis_instances](gcp_redis_instances.md) - [gcp_resourcemanager_folders](gcp_resourcemanager_folders.md) -- [gcp_resourcemanager_projects](gcp_resourcemanager_projects.md) - [gcp_resourcemanager_project_policies](gcp_resourcemanager_project_policies.md) +- [gcp_resourcemanager_projects](gcp_resourcemanager_projects.md) - [gcp_run_locations](gcp_run_locations.md) - [gcp_run_services](gcp_run_services.md) - [gcp_secretmanager_secrets](gcp_secretmanager_secrets.md) @@ -139,6 +139,6 @@ - [gcp_storage_bucket_policies](gcp_storage_bucket_policies.md) - [gcp_websecurityscanner_scan_configs](gcp_websecurityscanner_scan_configs.md) - [gcp_websecurityscanner_scan_config_scan_runs](gcp_websecurityscanner_scan_config_scan_runs.md) - - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) + - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) - [gcp_workflows_workflows](gcp_workflows_workflows.md) \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md index 09e8ed367c4d72..f8997c6abf6791 100644 --- a/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md +++ b/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md @@ -9,8 +9,8 @@ The composite primary key for this table is (**project_id**, **name**). This table depends on [gcp_websecurityscanner_scan_configs](gcp_websecurityscanner_scan_configs.md). The following tables depend on gcp_websecurityscanner_scan_config_scan_runs: - - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) + - [gcp_websecurityscanner_scan_config_scan_run_findings](gcp_websecurityscanner_scan_config_scan_run_findings.md) ## Columns diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index e8d28cfd56358f..b833a0180f9230 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -36,7 +36,7 @@ require ( cloud.google.com/go/storage v1.28.0 cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/googleapis/gax-go/v2 v2.7.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index 4147fbfc27a0de..19880ae73f8035 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -114,8 +114,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= diff --git a/plugins/source/github/docs/tables/README.md b/plugins/source/github/docs/tables/README.md index 5fa32d41af9b92..219008448f98a8 100644 --- a/plugins/source/github/docs/tables/README.md +++ b/plugins/source/github/docs/tables/README.md @@ -2,24 +2,24 @@ ## Tables -- [github_workflows](github_workflows.md) - [github_billing_action](github_billing_action.md) -- [github_billing_storage](github_billing_storage.md) - [github_billing_package](github_billing_package.md) +- [github_billing_storage](github_billing_storage.md) - [github_external_groups](github_external_groups.md) -- [github_issues](github_issues.md) - [github_hooks](github_hooks.md) - [github_hook_deliveries](github_hook_deliveries.md) - [github_installations](github_installations.md) +- [github_issues](github_issues.md) - [github_organizations](github_organizations.md) - [github_organization_dependabot_alerts](github_organization_dependabot_alerts.md) - [github_organization_dependabot_secrets](github_organization_dependabot_secrets.md) - [github_organization_members](github_organization_members.md) - [github_repositories](github_repositories.md) - - [github_repository_dependabot_alerts](github_repository_dependabot_alerts.md) - - [github_repository_dependabot_secrets](github_repository_dependabot_secrets.md) - [github_releases](github_releases.md) - [github_release_assets](github_release_assets.md) + - [github_repository_dependabot_alerts](github_repository_dependabot_alerts.md) + - [github_repository_dependabot_secrets](github_repository_dependabot_secrets.md) - [github_teams](github_teams.md) - [github_team_members](github_team_members.md) - - [github_team_repositories](github_team_repositories.md) \ No newline at end of file + - [github_team_repositories](github_team_repositories.md) +- [github_workflows](github_workflows.md) \ No newline at end of file diff --git a/plugins/source/github/docs/tables/github_repositories.md b/plugins/source/github/docs/tables/github_repositories.md index 11ec90a65e8f24..9a0d5d8d01f90b 100644 --- a/plugins/source/github/docs/tables/github_repositories.md +++ b/plugins/source/github/docs/tables/github_repositories.md @@ -5,9 +5,9 @@ The composite primary key for this table is (**org**, **id**). ## Relations The following tables depend on github_repositories: + - [github_releases](github_releases.md) - [github_repository_dependabot_alerts](github_repository_dependabot_alerts.md) - [github_repository_dependabot_secrets](github_repository_dependabot_secrets.md) - - [github_releases](github_releases.md) ## Columns diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index 489f61a5090651..3d0778d11ac04f 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/github go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/google/go-github/v48 v48.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index c099f7e2720010..baaefe3a6a2097 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gitlab/docs/tables/README.md b/plugins/source/gitlab/docs/tables/README.md index 4481f021cfe241..42cd719ace538f 100644 --- a/plugins/source/gitlab/docs/tables/README.md +++ b/plugins/source/gitlab/docs/tables/README.md @@ -5,7 +5,7 @@ - [gitlab_groups](gitlab_groups.md) - [gitlab_group_members](gitlab_group_members.md) - [gitlab_projects](gitlab_projects.md) - - [gitlab_projects_releases](gitlab_projects_releases.md) - [gitlab_project_branches](gitlab_project_branches.md) + - [gitlab_projects_releases](gitlab_projects_releases.md) - [gitlab_settings](gitlab_settings.md) - [gitlab_users](gitlab_users.md) \ No newline at end of file diff --git a/plugins/source/gitlab/docs/tables/gitlab_projects.md b/plugins/source/gitlab/docs/tables/gitlab_projects.md index f421ed7b9bda0b..69de847cb68a7d 100644 --- a/plugins/source/gitlab/docs/tables/gitlab_projects.md +++ b/plugins/source/gitlab/docs/tables/gitlab_projects.md @@ -5,8 +5,8 @@ The composite primary key for this table is (**base_url**, **id**). ## Relations The following tables depend on gitlab_projects: - - [gitlab_projects_releases](gitlab_projects_releases.md) - [gitlab_project_branches](gitlab_project_branches.md) + - [gitlab_projects_releases](gitlab_projects_releases.md) ## Columns diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index 195d653fe60ac6..7dd915d898a3c1 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gitlab go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/xanzy/go-gitlab v0.74.0 diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index 1f9ee28e79ee95..b27527a416c899 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index a403f9bc4a7e08..6f801b6d50cdb4 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/hackernews go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index 78038fb21d4072..743db0bd3e9be8 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/heroku/docs/tables/README.md b/plugins/source/heroku/docs/tables/README.md index 957189c144dcd5..0a8b2b4711b664 100644 --- a/plugins/source/heroku/docs/tables/README.md +++ b/plugins/source/heroku/docs/tables/README.md @@ -3,29 +3,29 @@ ## Tables - [heroku_account_features](heroku_account_features.md) -- [heroku_add_ons](heroku_add_ons.md) - [heroku_add_on_attachments](heroku_add_on_attachments.md) - [heroku_add_on_configs](heroku_add_on_configs.md) - [heroku_add_on_region_capabilities](heroku_add_on_region_capabilities.md) - [heroku_add_on_services](heroku_add_on_services.md) -- [heroku_add_on_webhooks](heroku_add_on_webhooks.md) - [heroku_add_on_webhook_deliveries](heroku_add_on_webhook_deliveries.md) - [heroku_add_on_webhook_events](heroku_add_on_webhook_events.md) -- [heroku_apps](heroku_apps.md) +- [heroku_add_on_webhooks](heroku_add_on_webhooks.md) +- [heroku_add_ons](heroku_add_ons.md) - [heroku_app_features](heroku_app_features.md) - [heroku_app_transfers](heroku_app_transfers.md) -- [heroku_app_webhooks](heroku_app_webhooks.md) - [heroku_app_webhook_deliveries](heroku_app_webhook_deliveries.md) - [heroku_app_webhook_events](heroku_app_webhook_events.md) -- [heroku_builds](heroku_builds.md) +- [heroku_app_webhooks](heroku_app_webhooks.md) +- [heroku_apps](heroku_apps.md) - [heroku_buildpack_installations](heroku_buildpack_installations.md) +- [heroku_builds](heroku_builds.md) - [heroku_collaborators](heroku_collaborators.md) - [heroku_credits](heroku_credits.md) - [heroku_domains](heroku_domains.md) -- [heroku_dynos](heroku_dynos.md) - [heroku_dyno_sizes](heroku_dyno_sizes.md) -- [heroku_enterprise_accounts](heroku_enterprise_accounts.md) +- [heroku_dynos](heroku_dynos.md) - [heroku_enterprise_account_members](heroku_enterprise_account_members.md) +- [heroku_enterprise_accounts](heroku_enterprise_accounts.md) - [heroku_formations](heroku_formations.md) - [heroku_inbound_rulesets](heroku_inbound_rulesets.md) - [heroku_invoices](heroku_invoices.md) @@ -36,22 +36,22 @@ - [heroku_outbound_rulesets](heroku_outbound_rulesets.md) - [heroku_peerings](heroku_peerings.md) - [heroku_permission_entities](heroku_permission_entities.md) -- [heroku_pipelines](heroku_pipelines.md) - [heroku_pipeline_builds](heroku_pipeline_builds.md) - [heroku_pipeline_couplings](heroku_pipeline_couplings.md) - [heroku_pipeline_deployments](heroku_pipeline_deployments.md) - [heroku_pipeline_releases](heroku_pipeline_releases.md) +- [heroku_pipelines](heroku_pipelines.md) - [heroku_regions](heroku_regions.md) - [heroku_releases](heroku_releases.md) - [heroku_review_apps](heroku_review_apps.md) -- [heroku_spaces](heroku_spaces.md) - [heroku_space_app_accesses](heroku_space_app_accesses.md) +- [heroku_spaces](heroku_spaces.md) - [heroku_stacks](heroku_stacks.md) - [heroku_team_app_permissions](heroku_team_app_permissions.md) - [heroku_team_features](heroku_team_features.md) -- [heroku_teams](heroku_teams.md) - [heroku_team_invitations](heroku_team_invitations.md) - [heroku_team_invoices](heroku_team_invoices.md) - [heroku_team_members](heroku_team_members.md) - [heroku_team_spaces](heroku_team_spaces.md) +- [heroku_teams](heroku_teams.md) - [heroku_vpn_connections](heroku_vpn_connections.md) \ No newline at end of file diff --git a/plugins/source/heroku/go.mod b/plugins/source/heroku/go.mod index 65e848177beb71..718c9e03f36084 100644 --- a/plugins/source/heroku/go.mod +++ b/plugins/source/heroku/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/heroku go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/go-cmp v0.5.9 github.com/googleapis/gax-go/v2 v2.7.0 github.com/heroku/heroku-go/v5 v5.5.0 diff --git a/plugins/source/heroku/go.sum b/plugins/source/heroku/go.sum index 1322c0bf8e1b62..91a4cf40b8884b 100644 --- a/plugins/source/heroku/go.sum +++ b/plugins/source/heroku/go.sum @@ -49,8 +49,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/k8s/docs/tables/README.md b/plugins/source/k8s/docs/tables/README.md index 26c8468ba476a4..7d38b054e75961 100644 --- a/plugins/source/k8s/docs/tables/README.md +++ b/plugins/source/k8s/docs/tables/README.md @@ -2,7 +2,6 @@ ## Tables -- [k8s_discovery_endpoint_slices](k8s_discovery_endpoint_slices.md) - [k8s_admissionregistration_mutating_webhook_configurations](k8s_admissionregistration_mutating_webhook_configurations.md) - [k8s_admissionregistration_validating_webhook_configurations](k8s_admissionregistration_validating_webhook_configurations.md) - [k8s_apps_daemon_sets](k8s_apps_daemon_sets.md) @@ -10,8 +9,8 @@ - [k8s_apps_replica_sets](k8s_apps_replica_sets.md) - [k8s_apps_stateful_sets](k8s_apps_stateful_sets.md) - [k8s_autoscaling_hpas](k8s_autoscaling_hpas.md) -- [k8s_batch_jobs](k8s_batch_jobs.md) - [k8s_batch_cron_jobs](k8s_batch_cron_jobs.md) +- [k8s_batch_jobs](k8s_batch_jobs.md) - [k8s_certificates_signing_requests](k8s_certificates_signing_requests.md) - [k8s_coordination_leases](k8s_coordination_leases.md) - [k8s_core_component_statuses](k8s_core_component_statuses.md) @@ -21,22 +20,23 @@ - [k8s_core_limit_ranges](k8s_core_limit_ranges.md) - [k8s_core_namespaces](k8s_core_namespaces.md) - [k8s_core_nodes](k8s_core_nodes.md) -- [k8s_core_pvs](k8s_core_pvs.md) -- [k8s_core_pvcs](k8s_core_pvcs.md) - [k8s_core_pods](k8s_core_pods.md) +- [k8s_core_pvcs](k8s_core_pvcs.md) +- [k8s_core_pvs](k8s_core_pvs.md) - [k8s_core_replication_controllers](k8s_core_replication_controllers.md) - [k8s_core_resource_quotas](k8s_core_resource_quotas.md) - [k8s_core_secrets](k8s_core_secrets.md) -- [k8s_core_services](k8s_core_services.md) - [k8s_core_service_accounts](k8s_core_service_accounts.md) +- [k8s_core_services](k8s_core_services.md) +- [k8s_discovery_endpoint_slices](k8s_discovery_endpoint_slices.md) +- [k8s_networking_ingress_classes](k8s_networking_ingress_classes.md) - [k8s_networking_ingresses](k8s_networking_ingresses.md) - [k8s_networking_network_policies](k8s_networking_network_policies.md) -- [k8s_networking_ingress_classes](k8s_networking_ingress_classes.md) - [k8s_nodes_runtime_classes](k8s_nodes_runtime_classes.md) -- [k8s_rbac_cluster_roles](k8s_rbac_cluster_roles.md) - [k8s_rbac_cluster_role_bindings](k8s_rbac_cluster_role_bindings.md) -- [k8s_rbac_roles](k8s_rbac_roles.md) +- [k8s_rbac_cluster_roles](k8s_rbac_cluster_roles.md) - [k8s_rbac_role_bindings](k8s_rbac_role_bindings.md) +- [k8s_rbac_roles](k8s_rbac_roles.md) - [k8s_storage_csi_drivers](k8s_storage_csi_drivers.md) - [k8s_storage_csi_nodes](k8s_storage_csi_nodes.md) - [k8s_storage_csi_storage_capacities](k8s_storage_csi_storage_capacities.md) diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index 4793f1fb898c3d..14a724099f602c 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.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/google/gnostic v0.6.9 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index 5ed4781bc19005..fd2de479de6f5b 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/source/okta/docs/tables/README.md b/plugins/source/okta/docs/tables/README.md index 29ed7bfb4f8eb4..f855f51352b1f6 100644 --- a/plugins/source/okta/docs/tables/README.md +++ b/plugins/source/okta/docs/tables/README.md @@ -2,9 +2,9 @@ ## Tables -- [okta_users](okta_users.md) -- [okta_groups](okta_groups.md) - - [okta_group_users](okta_group_users.md) - [okta_applications](okta_applications.md) + - [okta_application_group_assignments](okta_application_group_assignments.md) - [okta_application_users](okta_application_users.md) - - [okta_application_group_assignments](okta_application_group_assignments.md) \ No newline at end of file +- [okta_groups](okta_groups.md) + - [okta_group_users](okta_group_users.md) +- [okta_users](okta_users.md) \ No newline at end of file diff --git a/plugins/source/okta/docs/tables/okta_applications.md b/plugins/source/okta/docs/tables/okta_applications.md index 6519065674ca04..008de09527753f 100644 --- a/plugins/source/okta/docs/tables/okta_applications.md +++ b/plugins/source/okta/docs/tables/okta_applications.md @@ -5,8 +5,8 @@ The primary key for this table is **id**. ## Relations The following tables depend on okta_applications: - - [okta_application_users](okta_application_users.md) - [okta_application_group_assignments](okta_application_group_assignments.md) + - [okta_application_users](okta_application_users.md) ## Columns diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index 7892f196c6fe9b..5c261775021c54 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/okta go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gorilla/mux v1.8.0 github.com/okta/okta-sdk-golang/v3 v3.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index abedff47b76879..9769ad01e745fe 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/pagerduty/docs/tables/README.md b/plugins/source/pagerduty/docs/tables/README.md index eef66e6169416b..55e7332c90e2f6 100644 --- a/plugins/source/pagerduty/docs/tables/README.md +++ b/plugins/source/pagerduty/docs/tables/README.md @@ -3,14 +3,14 @@ ## Tables - [pagerduty_addons](pagerduty_addons.md) -- [pagerduty_incidents](pagerduty_incidents.md) - - [pagerduty_incident_alerts](pagerduty_incident_alerts.md) - - [pagerduty_incident_notes](pagerduty_incident_notes.md) - - [pagerduty_incident_log_entries](pagerduty_incident_log_entries.md) - [pagerduty_business_services](pagerduty_business_services.md) - [pagerduty_escalation_policies](pagerduty_escalation_policies.md) - [pagerduty_extension_schemas](pagerduty_extension_schemas.md) - [pagerduty_extensions](pagerduty_extensions.md) +- [pagerduty_incidents](pagerduty_incidents.md) + - [pagerduty_incident_alerts](pagerduty_incident_alerts.md) + - [pagerduty_incident_log_entries](pagerduty_incident_log_entries.md) + - [pagerduty_incident_notes](pagerduty_incident_notes.md) - [pagerduty_maintenance_windows](pagerduty_maintenance_windows.md) - [pagerduty_priorities](pagerduty_priorities.md) - [pagerduty_rulesets](pagerduty_rulesets.md) diff --git a/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md b/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md index 30802f6ff12dc6..c0a753966d808b 100644 --- a/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md +++ b/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md @@ -8,8 +8,8 @@ The primary key for this table is **id**. The following tables depend on pagerduty_incidents: - [pagerduty_incident_alerts](pagerduty_incident_alerts.md) - - [pagerduty_incident_notes](pagerduty_incident_notes.md) - [pagerduty_incident_log_entries](pagerduty_incident_log_entries.md) + - [pagerduty_incident_notes](pagerduty_incident_notes.md) ## Columns diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index 02362c49c818e8..c68b0a9fd74fae 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/PagerDuty/go-pagerduty v1.6.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 gopkg.in/yaml.v3 v3.0.1 diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 979cd2d3105c8b..8d3db96e0388a7 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/salesforce/go.mod b/plugins/source/salesforce/go.mod index b49ee6d5641461..e21316db2eda3b 100644 --- a/plugins/source/salesforce/go.mod +++ b/plugins/source/salesforce/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/salesforce go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/salesforce/go.sum b/plugins/source/salesforce/go.sum index d6207d6b50446a..5a48ce8a393be7 100644 --- a/plugins/source/salesforce/go.sum +++ b/plugins/source/salesforce/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/shopify/docs/tables/README.md b/plugins/source/shopify/docs/tables/README.md index 30201b1d8148ea..90f49ef7b93ebb 100644 --- a/plugins/source/shopify/docs/tables/README.md +++ b/plugins/source/shopify/docs/tables/README.md @@ -2,11 +2,11 @@ ## Tables +- [shopify_abandoned_checkouts](shopify_abandoned_checkouts.md) - [shopify_customers](shopify_customers.md) - [shopify_orders](shopify_orders.md) -- [shopify_products](shopify_products.md) - - [shopify_product_variants](shopify_product_variants.md) - - [shopify_product_images](shopify_product_images.md) - [shopify_price_rules](shopify_price_rules.md) - [shopify_price_rule_discount_codes](shopify_price_rule_discount_codes.md) -- [shopify_abandoned_checkouts](shopify_abandoned_checkouts.md) \ No newline at end of file +- [shopify_products](shopify_products.md) + - [shopify_product_images](shopify_product_images.md) + - [shopify_product_variants](shopify_product_variants.md) \ No newline at end of file diff --git a/plugins/source/shopify/docs/tables/shopify_products.md b/plugins/source/shopify/docs/tables/shopify_products.md index f381746e2cd966..4894f78c142e7e 100644 --- a/plugins/source/shopify/docs/tables/shopify_products.md +++ b/plugins/source/shopify/docs/tables/shopify_products.md @@ -5,8 +5,8 @@ The primary key for this table is **id**. ## Relations The following tables depend on shopify_products: - - [shopify_product_variants](shopify_product_variants.md) - [shopify_product_images](shopify_product_images.md) + - [shopify_product_variants](shopify_product_variants.md) ## Columns diff --git a/plugins/source/shopify/go.mod b/plugins/source/shopify/go.mod index 270b31ebf4eaec..28c959056ececc 100644 --- a/plugins/source/shopify/go.mod +++ b/plugins/source/shopify/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/shopify go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 golang.org/x/time v0.3.0 diff --git a/plugins/source/shopify/go.sum b/plugins/source/shopify/go.sum index f1f223beaad12e..058f504132b6b9 100644 --- a/plugins/source/shopify/go.sum +++ b/plugins/source/shopify/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/slack/go.mod b/plugins/source/slack/go.mod index 12f821f86b2a33..4ebf0b3c124ea2 100644 --- a/plugins/source/slack/go.mod +++ b/plugins/source/slack/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/slack go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/slack-go/slack v0.12.1 diff --git a/plugins/source/slack/go.sum b/plugins/source/slack/go.sum index 90b582cbf78230..6fa7adfcb84718 100644 --- a/plugins/source/slack/go.sum +++ b/plugins/source/slack/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/snyk/go.mod b/plugins/source/snyk/go.mod index 91a7a4360588c2..aa56653ef97809 100644 --- a/plugins/source/snyk/go.mod +++ b/plugins/source/snyk/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/snyk go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/google/uuid v1.3.0 github.com/julienschmidt/httprouter v1.3.0 github.com/pavel-snyk/snyk-sdk-go v0.4.1 diff --git a/plugins/source/snyk/go.sum b/plugins/source/snyk/go.sum index b47ee615623595..191cd0d55acf6e 100644 --- a/plugins/source/snyk/go.sum +++ b/plugins/source/snyk/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cloudquery/snyk-sdk-go v0.1.0 h1:lJ/3EhLwUAdcR/sukSA+EzAnRE1jRRxm8ewLESCNW5Q= github.com/cloudquery/snyk-sdk-go v0.1.0/go.mod h1:LRL1TRuuM925gnyGp54WtS9p8S4yJMd0oS4JpLg+n7Y= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/source/tailscale/go.mod b/plugins/source/tailscale/go.mod index b2ad2ff895d975..c5ef0f03ebcaa7 100644 --- a/plugins/source/tailscale/go.mod +++ b/plugins/source/tailscale/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/tailscale go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/tailscale/tailscale-client-go v1.8.0 diff --git a/plugins/source/tailscale/go.sum b/plugins/source/tailscale/go.sum index 5ababe933044cc..915175ebec3c4a 100644 --- a/plugins/source/tailscale/go.sum +++ b/plugins/source/tailscale/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/terraform/go.mod b/plugins/source/terraform/go.mod index f838705f1f0c17..e6d8266f394aee 100644 --- a/plugins/source/terraform/go.mod +++ b/plugins/source/terraform/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/terraform/go.sum b/plugins/source/terraform/go.sum index 0b32bced4f1310..ffb274537c8af6 100644 --- a/plugins/source/terraform/go.sum +++ b/plugins/source/terraform/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index 1f01e3df7a1501..6eddf34a12df27 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index a8db4ecdbe1b2a..035588d3d6841c 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/vercel/docs/tables/README.md b/plugins/source/vercel/docs/tables/README.md index 5d56aa8c4a66ca..2cd05a7c0ba709 100644 --- a/plugins/source/vercel/docs/tables/README.md +++ b/plugins/source/vercel/docs/tables/README.md @@ -2,11 +2,11 @@ ## Tables +- [vercel_deployments](vercel_deployments.md) + - [vercel_deployment_checks](vercel_deployment_checks.md) - [vercel_domains](vercel_domains.md) - [vercel_domain_records](vercel_domain_records.md) -- [vercel_teams](vercel_teams.md) - - [vercel_team_members](vercel_team_members.md) - [vercel_projects](vercel_projects.md) - [vercel_project_envs](vercel_project_envs.md) -- [vercel_deployments](vercel_deployments.md) - - [vercel_deployment_checks](vercel_deployment_checks.md) \ No newline at end of file +- [vercel_teams](vercel_teams.md) + - [vercel_team_members](vercel_team_members.md) \ No newline at end of file diff --git a/plugins/source/vercel/go.mod b/plugins/source/vercel/go.mod index a01c6fb1b10e86..bf1669125427c1 100644 --- a/plugins/source/vercel/go.mod +++ b/plugins/source/vercel/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/vercel go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.24.2 + github.com/cloudquery/plugin-sdk v1.25.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/vercel/go.sum b/plugins/source/vercel/go.sum index fca1c11045cbe3..e79ad888dfbfab 100644 --- a/plugins/source/vercel/go.sum +++ b/plugins/source/vercel/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.24.2 h1:Ub0ZKkBBOgrRiZVYeeaRG2Rv4xA+e8f8Qh3VfRn8I80= -github.com/cloudquery/plugin-sdk v1.24.2/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/website/pages/docs/plugins/sources/aws/tables.md b/website/pages/docs/plugins/sources/aws/tables.md index a103b8904a9d14..b1d5f4e999f4fd 100644 --- a/website/pages/docs/plugins/sources/aws/tables.md +++ b/website/pages/docs/plugins/sources/aws/tables.md @@ -3,8 +3,8 @@ ## Tables - [aws_accessanalyzer_analyzers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzers.md) - - [aws_accessanalyzer_analyzer_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzer_findings.md) - [aws_accessanalyzer_analyzer_archive_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzer_archive_rules.md) + - [aws_accessanalyzer_analyzer_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_accessanalyzer_analyzer_findings.md) - [aws_account_alternate_contacts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_account_alternate_contacts.md) - [aws_account_contacts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_account_contacts.md) - [aws_acm_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_acm_certificates.md) @@ -44,8 +44,8 @@ - [aws_apprunner_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_connections.md) - [aws_apprunner_observability_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_observability_configurations.md) - [aws_apprunner_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_services.md) - - [aws_apprunner_operations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_operations.md) - [aws_apprunner_custom_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_custom_domains.md) + - [aws_apprunner_operations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_operations.md) - [aws_apprunner_vpc_connectors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_vpc_connectors.md) - [aws_apprunner_vpc_ingress_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_apprunner_vpc_ingress_connections.md) - [aws_appstream_app_blocks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_appstream_app_blocks.md) @@ -65,13 +65,13 @@ - [aws_athena_data_catalog_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_data_catalog_databases.md) - [aws_athena_data_catalog_database_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_data_catalog_database_tables.md) - [aws_athena_work_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_work_groups.md) + - [aws_athena_work_group_named_queries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_work_group_named_queries.md) - [aws_athena_work_group_prepared_statements](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_work_group_prepared_statements.md) - [aws_athena_work_group_query_executions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_work_group_query_executions.md) - - [aws_athena_work_group_named_queries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_athena_work_group_named_queries.md) -- [aws_autoscaling_launch_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_launch_configurations.md) - [aws_autoscaling_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_groups.md) - - [aws_autoscaling_group_scaling_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_group_scaling_policies.md) - [aws_autoscaling_group_lifecycle_hooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_group_lifecycle_hooks.md) + - [aws_autoscaling_group_scaling_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_group_scaling_policies.md) +- [aws_autoscaling_launch_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_launch_configurations.md) - [aws_autoscaling_scheduled_actions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_autoscaling_scheduled_actions.md) - [aws_backup_global_settings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_backup_global_settings.md) - [aws_backup_plans](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_backup_plans.md) @@ -83,25 +83,25 @@ - [aws_cloudformation_stack_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudformation_stack_resources.md) - [aws_cloudfront_cache_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudfront_cache_policies.md) - [aws_cloudfront_distributions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudfront_distributions.md) -- [aws_cloudhsmv2_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudhsmv2_clusters.md) - [aws_cloudhsmv2_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudhsmv2_backups.md) +- [aws_cloudhsmv2_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudhsmv2_clusters.md) - [aws_cloudtrail_trails](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudtrail_trails.md) - [aws_cloudtrail_trail_event_selectors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudtrail_trail_event_selectors.md) -- [aws_cloudwatchlogs_resource_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_resource_policies.md) -- [aws_cloudwatchlogs_metric_filters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_metric_filters.md) -- [aws_cloudwatchlogs_log_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_log_groups.md) - [aws_cloudwatch_alarms](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatch_alarms.md) +- [aws_cloudwatchlogs_log_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_log_groups.md) +- [aws_cloudwatchlogs_metric_filters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_metric_filters.md) +- [aws_cloudwatchlogs_resource_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cloudwatchlogs_resource_policies.md) - [aws_codebuild_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_codebuild_projects.md) -- [aws_codepipeline_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_codepipeline_webhooks.md) - [aws_codepipeline_pipelines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_codepipeline_pipelines.md) +- [aws_codepipeline_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_codepipeline_webhooks.md) - [aws_cognito_identity_pools](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cognito_identity_pools.md) - [aws_cognito_user_pools](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cognito_user_pools.md) - [aws_cognito_user_pool_identity_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_cognito_user_pool_identity_providers.md) +- [aws_config_config_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_config_rules.md) + - [aws_config_config_rule_compliances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_config_rule_compliances.md) - [aws_config_configuration_recorders](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_configuration_recorders.md) - [aws_config_conformance_packs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_conformance_packs.md) - [aws_config_conformance_pack_rule_compliances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_conformance_pack_rule_compliances.md) -- [aws_config_config_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_config_rules.md) - - [aws_config_config_rule_compliances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_config_config_rule_compliances.md) - [aws_dax_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dax_clusters.md) - [aws_directconnect_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_directconnect_connections.md) - [aws_directconnect_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_directconnect_gateways.md) @@ -111,23 +111,23 @@ - [aws_directconnect_virtual_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_directconnect_virtual_gateways.md) - [aws_directconnect_virtual_interfaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_directconnect_virtual_interfaces.md) - [aws_dms_replication_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dms_replication_instances.md) +- [aws_docdb_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_certificates.md) +- [aws_docdb_cluster_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_cluster_parameter_groups.md) - [aws_docdb_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_clusters.md) - [aws_docdb_cluster_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_cluster_snapshots.md) - [aws_docdb_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_instances.md) -- [aws_docdb_cluster_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_cluster_parameter_groups.md) -- [aws_docdb_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_certificates.md) - [aws_docdb_engine_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_engine_versions.md) - [aws_docdb_cluster_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_cluster_parameters.md) - [aws_docdb_orderable_db_instance_options](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_orderable_db_instance_options.md) -- [aws_docdb_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_subnet_groups.md) -- [aws_docdb_global_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_global_clusters.md) -- [aws_docdb_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_events.md) -- [aws_docdb_event_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_event_subscriptions.md) - [aws_docdb_event_categories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_event_categories.md) +- [aws_docdb_event_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_event_subscriptions.md) +- [aws_docdb_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_events.md) +- [aws_docdb_global_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_global_clusters.md) - [aws_docdb_pending_maintenance_actions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_pending_maintenance_actions.md) +- [aws_docdb_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_docdb_subnet_groups.md) - [aws_dynamodb_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dynamodb_tables.md) - - [aws_dynamodb_table_replica_auto_scalings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dynamodb_table_replica_auto_scalings.md) - [aws_dynamodb_table_continuous_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dynamodb_table_continuous_backups.md) + - [aws_dynamodb_table_replica_auto_scalings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_dynamodb_table_replica_auto_scalings.md) - [aws_ec2_byoip_cidrs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_byoip_cidrs.md) - [aws_ec2_customer_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_customer_gateways.md) - [aws_ec2_ebs_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_ebs_snapshots.md) @@ -138,14 +138,13 @@ - [aws_ec2_hosts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_hosts.md) - [aws_ec2_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_images.md) - [aws_ec2_instance_statuses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_instance_statuses.md) -- [aws_ec2_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_instances.md) - [aws_ec2_instance_types](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_instance_types.md) +- [aws_ec2_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_instances.md) - [aws_ec2_internet_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_internet_gateways.md) - [aws_ec2_key_pairs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_key_pairs.md) - [aws_ec2_nat_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_nat_gateways.md) - [aws_ec2_network_acls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_network_acls.md) - [aws_ec2_network_interfaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_network_interfaces.md) -- [aws_regions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_regions.md) - [aws_ec2_regional_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_regional_configs.md) - [aws_ec2_reserved_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_reserved_instances.md) - [aws_ec2_route_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_route_tables.md) @@ -153,27 +152,27 @@ - [aws_ec2_subnets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_subnets.md) - [aws_ec2_transit_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateways.md) - [aws_ec2_transit_gateway_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_attachments.md) + - [aws_ec2_transit_gateway_multicast_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_multicast_domains.md) + - [aws_ec2_transit_gateway_peering_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_peering_attachments.md) - [aws_ec2_transit_gateway_route_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_route_tables.md) - [aws_ec2_transit_gateway_vpc_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_vpc_attachments.md) - - [aws_ec2_transit_gateway_peering_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_peering_attachments.md) - - [aws_ec2_transit_gateway_multicast_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_transit_gateway_multicast_domains.md) - [aws_ec2_vpc_endpoint_service_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpc_endpoint_service_configurations.md) - [aws_ec2_vpc_endpoint_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpc_endpoint_services.md) - [aws_ec2_vpc_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpc_endpoints.md) - [aws_ec2_vpc_peering_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpc_peering_connections.md) - [aws_ec2_vpcs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpcs.md) - [aws_ec2_vpn_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ec2_vpn_gateways.md) -- [aws_ecrpublic_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecrpublic_repositories.md) - - [aws_ecrpublic_repository_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecrpublic_repository_images.md) - [aws_ecr_registries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecr_registries.md) - [aws_ecr_registry_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecr_registry_policies.md) - [aws_ecr_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecr_repositories.md) - [aws_ecr_repository_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecr_repository_images.md) - [aws_ecr_repository_image_scan_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecr_repository_image_scan_findings.md) +- [aws_ecrpublic_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecrpublic_repositories.md) + - [aws_ecrpublic_repository_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecrpublic_repository_images.md) - [aws_ecs_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_clusters.md) - - [aws_ecs_cluster_tasks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_cluster_tasks.md) - - [aws_ecs_cluster_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_cluster_services.md) - [aws_ecs_cluster_container_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_cluster_container_instances.md) + - [aws_ecs_cluster_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_cluster_services.md) + - [aws_ecs_cluster_tasks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_cluster_tasks.md) - [aws_ecs_task_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ecs_task_definitions.md) - [aws_efs_filesystems](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_efs_filesystems.md) - [aws_eks_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eks_clusters.md) @@ -182,18 +181,18 @@ - [aws_elasticache_global_replication_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_global_replication_groups.md) - [aws_elasticache_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_parameter_groups.md) - [aws_elasticache_replication_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_replication_groups.md) -- [aws_elasticache_reserved_cache_nodes_offerings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_reserved_cache_nodes_offerings.md) - [aws_elasticache_reserved_cache_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_reserved_cache_nodes.md) +- [aws_elasticache_reserved_cache_nodes_offerings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_reserved_cache_nodes_offerings.md) - [aws_elasticache_service_updates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_service_updates.md) - [aws_elasticache_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_snapshots.md) +- [aws_elasticache_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_subnet_groups.md) - [aws_elasticache_user_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_user_groups.md) - [aws_elasticache_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_users.md) -- [aws_elasticache_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticache_subnet_groups.md) - [aws_elasticbeanstalk_application_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_application_versions.md) - [aws_elasticbeanstalk_applications](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_applications.md) - [aws_elasticbeanstalk_environments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_environments.md) - - [aws_elasticbeanstalk_configuration_settings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_configuration_settings.md) - [aws_elasticbeanstalk_configuration_options](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_configuration_options.md) + - [aws_elasticbeanstalk_configuration_settings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticbeanstalk_configuration_settings.md) - [aws_elasticsearch_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticsearch_domains.md) - [aws_elasticsearch_packages](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticsearch_packages.md) - [aws_elasticsearch_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elasticsearch_versions.md) @@ -211,14 +210,14 @@ - [aws_elbv2_target_group_target_health_descriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_elbv2_target_group_target_health_descriptions.md) - [aws_emr_block_public_access_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_emr_block_public_access_configs.md) - [aws_emr_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_emr_clusters.md) -- [aws_eventbridge_event_buses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_event_buses.md) - - [aws_eventbridge_event_bus_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_event_bus_rules.md) - [aws_eventbridge_api_destinations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_api_destinations.md) - [aws_eventbridge_archives](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_archives.md) - [aws_eventbridge_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_connections.md) +- [aws_eventbridge_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_endpoints.md) +- [aws_eventbridge_event_buses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_event_buses.md) + - [aws_eventbridge_event_bus_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_event_bus_rules.md) - [aws_eventbridge_event_sources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_event_sources.md) - [aws_eventbridge_replays](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_replays.md) -- [aws_eventbridge_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_eventbridge_endpoints.md) - [aws_firehose_delivery_streams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_firehose_delivery_streams.md) - [aws_frauddetector_batch_imports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_frauddetector_batch_imports.md) - [aws_frauddetector_batch_predictions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_frauddetector_batch_predictions.md) @@ -240,11 +239,11 @@ - [aws_fsx_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_fsx_snapshots.md) - [aws_fsx_storage_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_fsx_storage_virtual_machines.md) - [aws_fsx_volumes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_fsx_volumes.md) +- [aws_glacier_data_retrieval_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_data_retrieval_policies.md) - [aws_glacier_vaults](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_vaults.md) - [aws_glacier_vault_access_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_vault_access_policies.md) - [aws_glacier_vault_lock_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_vault_lock_policies.md) - [aws_glacier_vault_notifications](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_vault_notifications.md) -- [aws_glacier_data_retrieval_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glacier_data_retrieval_policies.md) - [aws_glue_classifiers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glue_classifiers.md) - [aws_glue_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glue_connections.md) - [aws_glue_crawlers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_glue_crawlers.md) @@ -277,11 +276,11 @@ - [aws_iam_saml_identity_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_saml_identity_providers.md) - [aws_iam_server_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_server_certificates.md) - [aws_iam_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_users.md) + - [aws_iam_ssh_public_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_ssh_public_keys.md) - [aws_iam_user_access_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_user_access_keys.md) - - [aws_iam_user_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_user_groups.md) - [aws_iam_user_attached_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_user_attached_policies.md) + - [aws_iam_user_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_user_groups.md) - [aws_iam_user_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_user_policies.md) - - [aws_iam_ssh_public_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_ssh_public_keys.md) - [aws_iam_virtual_mfa_devices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iam_virtual_mfa_devices.md) - [aws_identitystore_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_identitystore_groups.md) - [aws_identitystore_group_memberships](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_identitystore_group_memberships.md) @@ -300,8 +299,8 @@ - [aws_iot_things](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iot_things.md) - [aws_iot_topic_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_iot_topic_rules.md) - [aws_kafka_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kafka_clusters.md) - - [aws_kafka_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kafka_nodes.md) - [aws_kafka_cluster_operations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kafka_cluster_operations.md) + - [aws_kafka_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kafka_nodes.md) - [aws_kafka_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kafka_configurations.md) - [aws_kinesis_streams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kinesis_streams.md) - [aws_kms_aliases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kms_aliases.md) @@ -309,11 +308,11 @@ - [aws_kms_key_grants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kms_key_grants.md) - [aws_kms_key_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_kms_key_policies.md) - [aws_lambda_functions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_functions.md) - - [aws_lambda_function_event_invoke_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_aliases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_aliases.md) - - [aws_lambda_function_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_versions.md) - [aws_lambda_function_concurrency_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_concurrency_configs.md) + - [aws_lambda_function_event_invoke_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_event_invoke_configs.md) - [aws_lambda_function_event_source_mappings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_event_source_mappings.md) + - [aws_lambda_function_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_function_versions.md) - [aws_lambda_layers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_layers.md) - [aws_lambda_layer_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_layer_versions.md) - [aws_lambda_layer_version_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lambda_layer_version_policies.md) @@ -327,9 +326,9 @@ - [aws_lightsail_container_service_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_container_service_images.md) - [aws_lightsail_database_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_database_snapshots.md) - [aws_lightsail_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_databases.md) - - [aws_lightsail_database_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_database_parameters.md) - [aws_lightsail_database_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_database_events.md) - [aws_lightsail_database_log_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_database_log_events.md) + - [aws_lightsail_database_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_database_parameters.md) - [aws_lightsail_disks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_disks.md) - [aws_lightsail_disk_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_disk_snapshots.md) - [aws_lightsail_distributions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_lightsail_distributions.md) @@ -350,13 +349,13 @@ - [aws_neptune_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_clusters.md) - [aws_neptune_db_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_db_parameter_groups.md) - [aws_neptune_db_parameter_group_db_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_db_parameter_group_db_parameters.md) -- [aws_neptune_global_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_global_clusters.md) - [aws_neptune_event_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_event_subscriptions.md) +- [aws_neptune_global_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_global_clusters.md) - [aws_neptune_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_instances.md) - [aws_neptune_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_neptune_subnet_groups.md) -- [aws_organizations_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_organizations_accounts.md) -- [aws_organizations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_organizations.md) - [aws_organization_resource_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_organization_resource_policies.md) +- [aws_organizations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_organizations.md) +- [aws_organizations_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_organizations_accounts.md) - [aws_qldb_ledgers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_qldb_ledgers.md) - [aws_qldb_ledger_journal_kinesis_streams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_qldb_ledger_journal_kinesis_streams.md) - [aws_qldb_ledger_journal_s3_exports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_qldb_ledger_journal_s3_exports.md) @@ -371,15 +370,13 @@ - [aws_quicksight_templates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_quicksight_templates.md) - [aws_quicksight_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_quicksight_users.md) - [aws_ram_principals](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_principals.md) -- [aws_ram_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resources.md) -- [aws_ram_resource_shares](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_shares.md) - - [aws_ram_resource_share_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_share_permissions.md) - [aws_ram_resource_share_associations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_share_associations.md) - [aws_ram_resource_share_invitations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_share_invitations.md) +- [aws_ram_resource_shares](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_shares.md) + - [aws_ram_resource_share_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_share_permissions.md) - [aws_ram_resource_types](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resource_types.md) +- [aws_ram_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ram_resources.md) - [aws_rds_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_certificates.md) -- [aws_rds_engine_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_engine_versions.md) - - [aws_rds_cluster_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_cluster_parameters.md) - [aws_rds_cluster_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_cluster_parameter_groups.md) - [aws_rds_cluster_parameter_group_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_cluster_parameter_group_parameters.md) - [aws_rds_cluster_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_cluster_snapshots.md) @@ -388,15 +385,18 @@ - [aws_rds_db_parameter_group_db_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_db_parameter_group_db_parameters.md) - [aws_rds_db_security_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_db_security_groups.md) - [aws_rds_db_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_db_snapshots.md) +- [aws_rds_engine_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_engine_versions.md) + - [aws_rds_cluster_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_cluster_parameters.md) - [aws_rds_event_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_event_subscriptions.md) - [aws_rds_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_instances.md) - [aws_rds_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_rds_subnet_groups.md) - [aws_redshift_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_clusters.md) - - [aws_redshift_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_snapshots.md) - [aws_redshift_cluster_parameter_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_cluster_parameter_groups.md) - [aws_redshift_cluster_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_cluster_parameters.md) + - [aws_redshift_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_snapshots.md) - [aws_redshift_event_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_event_subscriptions.md) - [aws_redshift_subnet_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_redshift_subnet_groups.md) +- [aws_regions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_regions.md) - [aws_resourcegroups_resource_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_resourcegroups_resource_groups.md) - [aws_route53_delegation_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_route53_delegation_sets.md) - [aws_route53_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_route53_domains.md) @@ -409,10 +409,10 @@ - [aws_route53_traffic_policy_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_route53_traffic_policy_versions.md) - [aws_s3_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_accounts.md) - [aws_s3_buckets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_buckets.md) + - [aws_s3_bucket_cors_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_cors_rules.md) - [aws_s3_bucket_encryption_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_encryption_rules.md) - - [aws_s3_bucket_lifecycles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_lifecycles.md) - [aws_s3_bucket_grants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md) - - [aws_s3_bucket_cors_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_cors_rules.md) + - [aws_s3_bucket_lifecycles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_s3_bucket_lifecycles.md) - [aws_sagemaker_endpoint_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sagemaker_endpoint_configurations.md) - [aws_sagemaker_models](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sagemaker_models.md) - [aws_sagemaker_notebook_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sagemaker_notebook_instances.md) @@ -440,15 +440,15 @@ - [aws_sns_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sns_subscriptions.md) - [aws_sns_topics](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sns_topics.md) - [aws_sqs_queues](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_sqs_queues.md) +- [aws_ssm_associations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_associations.md) +- [aws_ssm_compliance_summary_items](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_compliance_summary_items.md) - [aws_ssm_documents](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_documents.md) - [aws_ssm_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_instances.md) - [aws_ssm_instance_compliance_items](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_instance_compliance_items.md) - [aws_ssm_instance_patches](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_instance_patches.md) -- [aws_ssm_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_parameters.md) -- [aws_ssm_compliance_summary_items](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_compliance_summary_items.md) -- [aws_ssm_associations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_associations.md) - [aws_ssm_inventories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_inventories.md) - [aws_ssm_inventory_schemas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_inventory_schemas.md) +- [aws_ssm_parameters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_parameters.md) - [aws_ssm_patch_baselines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssm_patch_baselines.md) - [aws_ssoadmin_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssoadmin_instances.md) - [aws_ssoadmin_permission_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_ssoadmin_permission_sets.md) @@ -457,22 +457,22 @@ - [aws_timestream_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_timestream_databases.md) - [aws_timestream_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_timestream_tables.md) - [aws_transfer_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_transfer_servers.md) -- [aws_wafregional_rate_based_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rate_based_rules.md) -- [aws_wafregional_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rule_groups.md) -- [aws_wafregional_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rules.md) -- [aws_wafregional_web_acls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_web_acls.md) - [aws_waf_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_waf_rule_groups.md) - [aws_waf_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_waf_rules.md) - [aws_waf_subscribed_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_waf_subscribed_rule_groups.md) - [aws_waf_web_acls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_waf_web_acls.md) +- [aws_wafregional_rate_based_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rate_based_rules.md) +- [aws_wafregional_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rule_groups.md) +- [aws_wafregional_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_rules.md) +- [aws_wafregional_web_acls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafregional_web_acls.md) - [aws_wafv2_ipsets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafv2_ipsets.md) - [aws_wafv2_managed_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafv2_managed_rule_groups.md) - [aws_wafv2_regex_pattern_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafv2_regex_pattern_sets.md) - [aws_wafv2_rule_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafv2_rule_groups.md) - [aws_wafv2_web_acls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_wafv2_web_acls.md) -- [aws_workspaces_workspaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_workspaces_workspaces.md) - [aws_workspaces_directories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_workspaces_directories.md) +- [aws_workspaces_workspaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_workspaces_workspaces.md) - [aws_xray_encryption_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_encryption_configs.md) - [aws_xray_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_groups.md) -- [aws_xray_sampling_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_sampling_rules.md) -- [aws_xray_resource_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_resource_policies.md) \ No newline at end of file +- [aws_xray_resource_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_resource_policies.md) +- [aws_xray_sampling_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/aws/docs/tables/aws_xray_sampling_rules.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/azure/tables.md b/website/pages/docs/plugins/sources/azure/tables.md index 4659a090c04798..ab7797d381b5a7 100644 --- a/website/pages/docs/plugins/sources/azure/tables.md +++ b/website/pages/docs/plugins/sources/azure/tables.md @@ -25,10 +25,12 @@ - [azure_authorization_classic_administrators](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_authorization_classic_administrators.md) - [azure_authorization_provider_operations_metadata](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_authorization_provider_operations_metadata.md) - [azure_authorization_role_assignments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_authorization_role_assignments.md) +- [azure_authorization_role_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_authorization_role_definitions.md) - [azure_automation_account](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_automation_account.md) - [azure_azurearcdata_postgres_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_azurearcdata_postgres_instances.md) - [azure_azurearcdata_sql_managed_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_azurearcdata_sql_managed_instances.md) - [azure_azurearcdata_sql_server_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_azurearcdata_sql_server_instances.md) +- [azure_azuredata_sql_server_registrations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_azuredata_sql_server_registrations.md) - [azure_batch_account](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_batch_account.md) - [azure_billing_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_billing_accounts.md) - [azure_billing_enrollment_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_billing_enrollment_accounts.md) @@ -36,6 +38,10 @@ - [azure_botservice_bots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_botservice_bots.md) - [azure_cdn_edge_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_edge_nodes.md) - [azure_cdn_managed_rule_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_managed_rule_sets.md) +- [azure_cdn_profiles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_profiles.md) + - [azure_cdn_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_endpoints.md) + - [azure_cdn_rule_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_rule_sets.md) + - [azure_cdn_security_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_security_policies.md) - [azure_cognitiveservices_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cognitiveservices_accounts.md) - [azure_cognitiveservices_deleted_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cognitiveservices_deleted_accounts.md) - [azure_compute_cloud_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_cloud_services.md) @@ -45,7 +51,11 @@ - [azure_compute_galleries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_galleries.md) - [azure_compute_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_images.md) - [azure_compute_restore_point_collections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_restore_point_collections.md) +- [azure_compute_skus](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_skus.md) - [azure_compute_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_snapshots.md) +- [azure_compute_virtual_machine_scale_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machine_scale_sets.md) + - [azure_compute_virtual_machine_scale_set_vms](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machine_scale_set_vms.md) +- [azure_compute_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machines.md) - [azure_confluent_marketplace_agreements](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md) - [azure_connectedvmware_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md) - [azure_connectedvmware_datastores](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md) @@ -59,13 +69,19 @@ - [azure_containerregistry_registries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_containerregistry_registries.md) - [azure_containerservice_managed_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_containerservice_managed_clusters.md) - [azure_containerservice_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_containerservice_snapshots.md) +- [azure_cosmos_database_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_database_accounts.md) + - [azure_cosmos_mongo_db_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_mongo_db_databases.md) + - [azure_cosmos_sql_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_sql_databases.md) - [azure_cosmos_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_locations.md) - [azure_cosmos_restorable_database_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_restorable_database_accounts.md) +- [azure_costmanagement_views](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_views.md) + - [azure_costmanagement_view_queries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md) - [azure_customerinsights_hubs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_customerinsights_hubs.md) - [azure_dashboard_grafana](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_dashboard_grafana.md) - [azure_databox_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_databox_jobs.md) - [azure_datadog_marketplace_agreements](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md) - [azure_datadog_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datadog_monitors.md) +- [azure_datafactory_factories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datafactory_factories.md) - [azure_datalakeanalytics_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md) - [azure_datalakestore_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datalakestore_accounts.md) - [azure_datamigration_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datamigration_services.md) @@ -84,16 +100,27 @@ - [azure_frontdoor_network_experiment_profiles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_frontdoor_network_experiment_profiles.md) - [azure_hanaonazure_sap_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_hanaonazure_sap_monitors.md) - [azure_hdinsight_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_hdinsight_clusters.md) +- [azure_healthbot_bots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_healthbot_bots.md) - [azure_healthcareapis_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_healthcareapis_services.md) - [azure_hybridcompute_private_link_scopes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_hybridcompute_private_link_scopes.md) - [azure_hybriddatamanager_data_managers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_hybriddatamanager_data_managers.md) +- [azure_keyvault_keyvault](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md) + - [azure_keyvault_keyvault_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md) + - [azure_keyvault_keyvault_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md) +- [azure_keyvault_keyvault_managed_hsms](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md) - [azure_kusto_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_kusto_clusters.md) +- [azure_logic_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_logic_workflows.md) - [azure_maintenance_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_maintenance_configurations.md) - [azure_maintenance_public_maintenance_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_maintenance_public_maintenance_configurations.md) +- [azure_mariadb_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mariadb_servers.md) + - [azure_mariadb_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mariadb_server_configurations.md) - [azure_marketplace_private_store](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_marketplace_private_store.md) - [azure_monitor_log_profiles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_monitor_log_profiles.md) - [azure_monitor_private_link_scopes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_monitor_private_link_scopes.md) +- [azure_monitor_tenant_activity_log_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md) - [azure_monitor_tenant_activity_logs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_logs.md) +- [azure_mysql_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mysql_servers.md) + - [azure_mysql_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mysql_server_configurations.md) - [azure_mysqlflexibleservers_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mysqlflexibleservers_servers.md) - [azure_network_application_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_application_gateways.md) - [azure_network_application_security_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_application_security_groups.md) @@ -105,13 +132,14 @@ - [azure_network_ddos_protection_plans](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_ddos_protection_plans.md) - [azure_network_dscp_configuration](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_dscp_configuration.md) - [azure_network_express_route_circuits](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_circuits.md) +- [azure_network_express_route_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_gateways.md) - [azure_network_express_route_ports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_ports.md) - [azure_network_express_route_ports_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_ports_locations.md) - [azure_network_express_route_service_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_service_providers.md) - [azure_network_firewall_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_firewall_policies.md) +- [azure_network_interfaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_interfaces.md) - [azure_network_ip_allocations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_ip_allocations.md) - [azure_network_ip_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_ip_groups.md) -- [azure_network_interfaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_interfaces.md) - [azure_network_load_balancers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_load_balancers.md) - [azure_network_nat_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_nat_gateways.md) - [azure_network_profiles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_profiles.md) @@ -123,23 +151,30 @@ - [azure_network_security_partner_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_security_partner_providers.md) - [azure_network_service_endpoint_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_service_endpoint_policies.md) - [azure_network_subscription_network_manager_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_subscription_network_manager_connections.md) -- [azure_network_vpn_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_gateways.md) -- [azure_network_vpn_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md) -- [azure_network_vpn_sites](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_sites.md) - [azure_network_virtual_appliances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_appliances.md) - [azure_network_virtual_hubs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_hubs.md) - [azure_network_virtual_network_taps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_network_taps.md) - [azure_network_virtual_networks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_networks.md) - [azure_network_virtual_routers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_routers.md) - [azure_network_virtual_wans](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_virtual_wans.md) +- [azure_network_vpn_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_gateways.md) +- [azure_network_vpn_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md) +- [azure_network_vpn_sites](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_vpn_sites.md) - [azure_network_watchers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_watchers.md) - [azure_network_web_application_firewall_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_web_application_firewall_policies.md) - [azure_networkfunction_azure_traffic_collectors_by_subscription](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_networkfunction_azure_traffic_collectors_by_subscription.md) +- [azure_nginx_deployments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_nginx_deployments.md) - [azure_notificationhubs_namespaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_notificationhubs_namespaces.md) - [azure_operationalinsights_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_operationalinsights_clusters.md) - [azure_operationalinsights_workspaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_operationalinsights_workspaces.md) - [azure_peering_service_countries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_peering_service_countries.md) - [azure_peering_service_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_peering_service_locations.md) +- [azure_peering_service_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_peering_service_providers.md) +- [azure_policy_assignments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_assignments.md) +- [azure_policy_data_policy_manifests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md) +- [azure_policy_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_definitions.md) +- [azure_policy_exemptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_exemptions.md) +- [azure_policy_set_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_set_definitions.md) - [azure_portal_list_tenant_configuration_violations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_portal_list_tenant_configuration_violations.md) - [azure_portal_tenant_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_portal_tenant_configurations.md) - [azure_postgresql_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_postgresql_servers.md) @@ -149,15 +184,13 @@ - [azure_privatedns_private_zones](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_privatedns_private_zones.md) - [azure_providerhub_provider_registrations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_providerhub_provider_registrations.md) - [azure_redhatopenshift_open_shift_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_redhatopenshift_open_shift_clusters.md) +- [azure_redis_caches](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_redis_caches.md) - [azure_relay_namespaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_relay_namespaces.md) - [azure_reservations_reservation](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_reservations_reservation.md) - [azure_reservations_reservation_order](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_reservations_reservation_order.md) -- [azure_policy_assignments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_assignments.md) -- [azure_policy_data_policy_manifests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md) -- [azure_policy_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_definitions.md) -- [azure_policy_exemptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_exemptions.md) -- [azure_policy_set_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_policy_set_definitions.md) +- [azure_resources_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_resources_resources.md) - [azure_saas_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_saas_resources.md) +- [azure_search_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_search_services.md) - [azure_security_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_alerts.md) - [azure_security_alerts_suppression_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_alerts_suppression_rules.md) - [azure_security_allowed_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_allowed_connections.md) @@ -171,6 +204,7 @@ - [azure_security_governance_rule](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_governance_rule.md) - [azure_security_jit_network_access_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_jit_network_access_policies.md) - [azure_security_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_locations.md) +- [azure_security_pricings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_pricings.md) - [azure_security_regulatory_compliance_standards](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_regulatory_compliance_standards.md) - [azure_security_secure_score_control_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_secure_score_control_definitions.md) - [azure_security_secure_score_controls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_secure_score_controls.md) @@ -186,51 +220,17 @@ - [azure_sql_virtual_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_sql_virtual_clusters.md) - [azure_sqlvirtualmachine_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_sqlvirtualmachine_groups.md) - [azure_sqlvirtualmachine_sql_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_sqlvirtualmachine_sql_virtual_machines.md) +- [azure_storage_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_accounts.md) + - [azure_storage_blob_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_blob_services.md) + - [azure_storage_containers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_containers.md) + - [azure_storage_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_tables.md) - [azure_storagecache_caches](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storagecache_caches.md) - [azure_streamanalytics_streaming_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_streamanalytics_streaming_jobs.md) +- [azure_subscription_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_subscription_subscriptions.md) +- [azure_subscription_tenants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_subscription_tenants.md) - [azure_support_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_support_services.md) - [azure_support_tickets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_support_tickets.md) - [azure_synapse_private_link_hubs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_synapse_private_link_hubs.md) - [azure_synapse_workspaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_synapse_workspaces.md) - [azure_windowsiot_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_windowsiot_services.md) -- [azure_workloads_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_workloads_monitors.md) -- [azure_authorization_role_definitions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_authorization_role_definitions.md) -- [azure_azuredata_sql_server_registrations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_azuredata_sql_server_registrations.md) -- [azure_cdn_profiles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_profiles.md) - - [azure_cdn_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_endpoints.md) - - [azure_cdn_rule_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_rule_sets.md) - - [azure_cdn_security_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cdn_security_policies.md) -- [azure_compute_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machines.md) -- [azure_compute_skus](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_skus.md) -- [azure_compute_virtual_machine_scale_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machine_scale_sets.md) - - [azure_compute_virtual_machine_scale_set_vms](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machine_scale_set_vms.md) -- [azure_cosmos_database_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_database_accounts.md) - - [azure_cosmos_mongo_db_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_mongo_db_databases.md) - - [azure_cosmos_sql_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_cosmos_sql_databases.md) -- [azure_costmanagement_views](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_views.md) - - [azure_costmanagement_view_queries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md) -- [azure_datafactory_factories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_datafactory_factories.md) -- [azure_healthbot_bots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_healthbot_bots.md) -- [azure_keyvault_keyvault](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md) - - [azure_keyvault_keyvault_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md) - - [azure_keyvault_keyvault_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md) -- [azure_keyvault_keyvault_managed_hsms](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md) -- [azure_logic_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_logic_workflows.md) -- [azure_mariadb_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mariadb_servers.md) - - [azure_mariadb_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mariadb_server_configurations.md) -- [azure_monitor_tenant_activity_log_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md) -- [azure_mysql_servers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mysql_servers.md) - - [azure_mysql_server_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_mysql_server_configurations.md) -- [azure_network_express_route_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_network_express_route_gateways.md) -- [azure_security_pricings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_security_pricings.md) -- [azure_storage_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_accounts.md) - - [azure_storage_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_tables.md) - - [azure_storage_containers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_containers.md) - - [azure_storage_blob_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_storage_blob_services.md) -- [azure_subscription_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_subscription_subscriptions.md) -- [azure_redis_caches](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_redis_caches.md) -- [azure_resources_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_resources_resources.md) -- [azure_subscription_tenants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_subscription_tenants.md) -- [azure_search_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_search_services.md) -- [azure_nginx_deployments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_nginx_deployments.md) -- [azure_peering_service_providers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_peering_service_providers.md) \ No newline at end of file +- [azure_workloads_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_workloads_monitors.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/cloudflare/tables.md b/website/pages/docs/plugins/sources/cloudflare/tables.md index 4920d440de6e75..cbae1239463acf 100644 --- a/website/pages/docs/plugins/sources/cloudflare/tables.md +++ b/website/pages/docs/plugins/sources/cloudflare/tables.md @@ -9,10 +9,10 @@ - [cloudflare_dns_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_dns_records.md) - [cloudflare_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_images.md) - [cloudflare_ips](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_ips.md) +- [cloudflare_waf_overrides](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_waf_overrides.md) - [cloudflare_waf_packages](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_waf_packages.md) - [cloudflare_waf_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_waf_groups.md) - [cloudflare_waf_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_waf_rules.md) -- [cloudflare_waf_overrides](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_waf_overrides.md) - [cloudflare_worker_meta_data](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_worker_meta_data.md) - [cloudflare_worker_cron_triggers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_worker_cron_triggers.md) - [cloudflare_workers_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/cloudflare/docs/tables/cloudflare_workers_secrets.md) diff --git a/website/pages/docs/plugins/sources/datadog/tables.md b/website/pages/docs/plugins/sources/datadog/tables.md index 9f4324490ae470..398db0c4321634 100644 --- a/website/pages/docs/plugins/sources/datadog/tables.md +++ b/website/pages/docs/plugins/sources/datadog/tables.md @@ -5,17 +5,17 @@ - [datadog_dashboard_lists](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_dashboard_lists.md) - [datadog_dashboards](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_dashboards.md) - [datadog_downtimes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_downtimes.md) +- [datadog_global_variables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_global_variables.md) - [datadog_hosts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_hosts.md) - [datadog_incidents](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_incidents.md) - [datadog_incident_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_incident_attachments.md) - [datadog_monitors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_monitors.md) - [datadog_monitor_downtimes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_monitor_downtimes.md) - [datadog_notebooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_notebooks.md) +- [datadog_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_permissions.md) - [datadog_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_roles.md) - [datadog_role_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_role_permissions.md) - [datadog_role_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_role_users.md) -- [datadog_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_permissions.md) -- [datadog_global_variables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_global_variables.md) - [datadog_synthetics](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_synthetics.md) - [datadog_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_users.md) - [datadog_user_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/datadog/docs/tables/datadog_user_permissions.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/digitalocean/tables.md b/website/pages/docs/plugins/sources/digitalocean/tables.md index 9cf81db42bd107..b4ef854db7863a 100644 --- a/website/pages/docs/plugins/sources/digitalocean/tables.md +++ b/website/pages/docs/plugins/sources/digitalocean/tables.md @@ -3,25 +3,25 @@ ## Tables - [digitalocean_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_accounts.md) -- [digitalocean_cdns](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_cdns.md) -- [digitalocean_billing_history](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_billing_history.md) -- [digitalocean_monitoring_alert_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_monitoring_alert_policies.md) - [digitalocean_balances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_balances.md) +- [digitalocean_billing_history](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_billing_history.md) +- [digitalocean_cdns](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_cdns.md) - [digitalocean_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_certificates.md) - [digitalocean_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_databases.md) + - [digitalocean_database_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_database_backups.md) - [digitalocean_database_firewall_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_database_firewall_rules.md) - [digitalocean_database_replicas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_database_replicas.md) - - [digitalocean_database_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_database_backups.md) +- [digitalocean_domain_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md) - [digitalocean_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_domains.md) - [digitalocean_domain_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md) -- [digitalocean_domain_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_domain_records.md) +- [digitalocean_droplet_neighbors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md) - [digitalocean_droplets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_droplets.md) - [digitalocean_droplet_neighbors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md) -- [digitalocean_droplet_neighbors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_droplet_neighbors.md) - [digitalocean_firewalls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_firewalls.md) - [digitalocean_floating_ips](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_floating_ips.md) - [digitalocean_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_images.md) - [digitalocean_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_keys.md) +- [digitalocean_monitoring_alert_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_monitoring_alert_policies.md) - [digitalocean_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_projects.md) - [digitalocean_project_resources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_project_resources.md) - [digitalocean_registries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/digitalocean/docs/tables/digitalocean_registries.md) diff --git a/website/pages/docs/plugins/sources/fastly/tables.md b/website/pages/docs/plugins/sources/fastly/tables.md index 5052488e4c77b4..40b21cdcfc640f 100644 --- a/website/pages/docs/plugins/sources/fastly/tables.md +++ b/website/pages/docs/plugins/sources/fastly/tables.md @@ -2,13 +2,13 @@ ## Tables -- [fastly_account_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_account_users.md) - [fastly_account_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_account_events.md) +- [fastly_account_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_account_users.md) - [fastly_auth_tokens](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_auth_tokens.md) - [fastly_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_services.md) - [fastly_service_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_versions.md) - - [fastly_service_health_checks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_health_checks.md) - - [fastly_service_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_domains.md) - [fastly_service_backends](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_backends.md) + - [fastly_service_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_domains.md) + - [fastly_service_health_checks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_service_health_checks.md) - [fastly_stats_regions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_stats_regions.md) - [fastly_stats_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/fastly/docs/tables/fastly_stats_services.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/gandi/tables.md b/website/pages/docs/plugins/sources/gandi/tables.md index 7378e02537e651..ef0fc2a7e3cc68 100644 --- a/website/pages/docs/plugins/sources/gandi/tables.md +++ b/website/pages/docs/plugins/sources/gandi/tables.md @@ -2,13 +2,13 @@ ## Tables -- [gandi_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_certificates.md) - [gandi_certificate_packages](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_certificate_packages.md) +- [gandi_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_certificates.md) - [gandi_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domains.md) + - [gandi_domain_dnssec_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_dnssec_keys.md) + - [gandi_domain_glue_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_glue_records.md) - [gandi_domain_livedns](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_livedns.md) - [gandi_domain_web_redirections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_web_redirections.md) - - [gandi_domain_glue_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_glue_records.md) - - [gandi_domain_dnssec_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_domain_dnssec_keys.md) - [gandi_livedns_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_livedns_domains.md) - [gandi_livedns_domain_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_livedns_domain_snapshots.md) - [gandi_simplehosting_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gandi/docs/tables/gandi_simplehosting_instances.md) diff --git a/website/pages/docs/plugins/sources/gcp/tables.md b/website/pages/docs/plugins/sources/gcp/tables.md index 2b5de89cbd14c9..31189884103f03 100644 --- a/website/pages/docs/plugins/sources/gcp/tables.md +++ b/website/pages/docs/plugins/sources/gcp/tables.md @@ -2,47 +2,47 @@ ## Tables -- [gcp_aiplatform_job_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_job_locations.md) - - [gcp_aiplatform_batch_prediction_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_batch_prediction_jobs.md) - - [gcp_aiplatform_custom_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_custom_jobs.md) - - [gcp_aiplatform_data_labeling_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_data_labeling_jobs.md) - - [gcp_aiplatform_hyperparameter_tuning_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_hyperparameter_tuning_jobs.md) - - [gcp_aiplatform_model_deployment_monitoring_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_model_deployment_monitoring_jobs.md) - [gcp_aiplatform_dataset_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_dataset_locations.md) - [gcp_aiplatform_datasets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_datasets.md) - [gcp_aiplatform_endpoint_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_endpoint_locations.md) - [gcp_aiplatform_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_endpoints.md) - [gcp_aiplatform_featurestore_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_featurestore_locations.md) - [gcp_aiplatform_featurestores](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_featurestores.md) -- [gcp_aiplatform_indexendpoint_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_indexendpoint_locations.md) - - [gcp_aiplatform_index_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_index_endpoints.md) - [gcp_aiplatform_index_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_index_locations.md) - [gcp_aiplatform_indexes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_indexes.md) +- [gcp_aiplatform_indexendpoint_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_indexendpoint_locations.md) + - [gcp_aiplatform_index_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_index_endpoints.md) +- [gcp_aiplatform_job_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_job_locations.md) + - [gcp_aiplatform_batch_prediction_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_batch_prediction_jobs.md) + - [gcp_aiplatform_custom_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_custom_jobs.md) + - [gcp_aiplatform_data_labeling_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_data_labeling_jobs.md) + - [gcp_aiplatform_hyperparameter_tuning_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_hyperparameter_tuning_jobs.md) + - [gcp_aiplatform_model_deployment_monitoring_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_model_deployment_monitoring_jobs.md) - [gcp_aiplatform_metadata_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_metadata_locations.md) - [gcp_aiplatform_metadata_stores](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_metadata_stores.md) - [gcp_aiplatform_model_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_model_locations.md) - [gcp_aiplatform_models](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_models.md) +- [gcp_aiplatform_operations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_operations.md) - [gcp_aiplatform_pipeline_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_pipeline_locations.md) - [gcp_aiplatform_pipeline_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_pipeline_jobs.md) - [gcp_aiplatform_training_pipelines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_training_pipelines.md) - [gcp_aiplatform_specialistpool_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_specialistpool_locations.md) - [gcp_aiplatform_specialist_pools](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_specialist_pools.md) -- [gcp_aiplatform_vizier_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_vizier_locations.md) - - [gcp_aiplatform_studies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_studies.md) - [gcp_aiplatform_tensorboard_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_tensorboard_locations.md) - [gcp_aiplatform_tensorboards](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_tensorboards.md) -- [gcp_aiplatform_operations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_operations.md) +- [gcp_aiplatform_vizier_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_vizier_locations.md) + - [gcp_aiplatform_studies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_aiplatform_studies.md) - [gcp_apigateway_apis](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_apigateway_apis.md) - [gcp_apigateway_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_apigateway_gateways.md) - [gcp_apikeys_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_apikeys_keys.md) - [gcp_appengine_apps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_apps.md) -- [gcp_appengine_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_services.md) - - [gcp_appengine_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_versions.md) - - [gcp_appengine_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_instances.md) - [gcp_appengine_authorized_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_authorized_certificates.md) - [gcp_appengine_authorized_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_authorized_domains.md) - [gcp_appengine_domain_mappings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_domain_mappings.md) - [gcp_appengine_firewall_ingress_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_firewall_ingress_rules.md) +- [gcp_appengine_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_services.md) + - [gcp_appengine_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_versions.md) + - [gcp_appengine_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_appengine_instances.md) - [gcp_artifactregistry_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_artifactregistry_locations.md) - [gcp_artifactregistry_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_artifactregistry_repositories.md) - [gcp_artifactregistry_docker_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_artifactregistry_docker_images.md) @@ -79,11 +79,11 @@ - [gcp_certificatemanager_certificate_map_entries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_certificatemanager_certificate_map_entries.md) - [gcp_certificatemanager_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_certificatemanager_certificates.md) - [gcp_certificatemanager_dns_authorizations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_certificatemanager_dns_authorizations.md) -- [gcp_clouddeploy_targets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_targets.md) - [gcp_clouddeploy_delivery_pipelines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_delivery_pipelines.md) - [gcp_clouddeploy_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_releases.md) - [gcp_clouddeploy_rollouts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_rollouts.md) - [gcp_clouddeploy_job_runs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_job_runs.md) +- [gcp_clouddeploy_targets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouddeploy_targets.md) - [gcp_clouderrorreporting_error_group_stats](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouderrorreporting_error_group_stats.md) - [gcp_clouderrorreporting_error_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_clouderrorreporting_error_events.md) - [gcp_cloudiot_device_registries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_cloudiot_device_registries.md) @@ -95,31 +95,31 @@ - [gcp_compute_backend_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_backend_services.md) - [gcp_compute_disk_types](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_disk_types.md) - [gcp_compute_disks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_disks.md) +- [gcp_compute_firewalls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_firewalls.md) - [gcp_compute_forwarding_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_forwarding_rules.md) +- [gcp_compute_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_images.md) +- [gcp_compute_instance_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_instance_groups.md) - [gcp_compute_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_instances.md) +- [gcp_compute_interconnects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_interconnects.md) +- [gcp_compute_networks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_networks.md) +- [gcp_compute_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_projects.md) - [gcp_compute_ssl_certificates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_ssl_certificates.md) +- [gcp_compute_ssl_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_ssl_policies.md) - [gcp_compute_subnetworks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_subnetworks.md) - [gcp_compute_target_http_proxies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_target_http_proxies.md) +- [gcp_compute_target_ssl_proxies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_target_ssl_proxies.md) - [gcp_compute_url_maps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_url_maps.md) - [gcp_compute_vpn_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_vpn_gateways.md) -- [gcp_compute_instance_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_instance_groups.md) -- [gcp_compute_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_images.md) -- [gcp_compute_firewalls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_firewalls.md) -- [gcp_compute_networks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_networks.md) -- [gcp_compute_ssl_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_ssl_policies.md) -- [gcp_compute_interconnects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_interconnects.md) -- [gcp_compute_target_ssl_proxies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_target_ssl_proxies.md) -- [gcp_compute_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_compute_projects.md) - [gcp_container_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_container_clusters.md) - [gcp_containeranalysis_occurrences](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_containeranalysis_occurrences.md) -- [gcp_dns_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_dns_policies.md) - [gcp_dns_managed_zones](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_dns_managed_zones.md) +- [gcp_dns_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_dns_policies.md) - [gcp_domains_registrations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_domains_registrations.md) - [gcp_functions_functions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_functions_functions.md) +- [gcp_iam_deny_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_iam_deny_policies.md) - [gcp_iam_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_iam_roles.md) - [gcp_iam_service_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_iam_service_accounts.md) - [gcp_iam_service_account_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_iam_service_account_keys.md) -- [gcp_iam_deny_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_iam_deny_policies.md) - [gcp_kms_keyrings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_kms_keyrings.md) - [gcp_kms_crypto_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_kms_crypto_keys.md) - [gcp_logging_metrics](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_logging_metrics.md) @@ -127,8 +127,8 @@ - [gcp_monitoring_alert_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_monitoring_alert_policies.md) - [gcp_redis_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_redis_instances.md) - [gcp_resourcemanager_folders](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_resourcemanager_folders.md) -- [gcp_resourcemanager_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_resourcemanager_projects.md) - [gcp_resourcemanager_project_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_resourcemanager_project_policies.md) +- [gcp_resourcemanager_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_resourcemanager_projects.md) - [gcp_run_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_run_locations.md) - [gcp_run_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_run_services.md) - [gcp_secretmanager_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_secretmanager_secrets.md) @@ -139,6 +139,6 @@ - [gcp_storage_bucket_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_storage_bucket_policies.md) - [gcp_websecurityscanner_scan_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_configs.md) - [gcp_websecurityscanner_scan_config_scan_runs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_runs.md) - - [gcp_websecurityscanner_scan_config_scan_run_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md) - [gcp_websecurityscanner_scan_config_scan_run_crawled_urls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_crawled_urls.md) + - [gcp_websecurityscanner_scan_config_scan_run_findings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_websecurityscanner_scan_config_scan_run_findings.md) - [gcp_workflows_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_workflows_workflows.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/github/tables.md b/website/pages/docs/plugins/sources/github/tables.md index 03edc22c70dba6..00d00e72e0e510 100644 --- a/website/pages/docs/plugins/sources/github/tables.md +++ b/website/pages/docs/plugins/sources/github/tables.md @@ -2,24 +2,24 @@ ## Tables -- [github_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_workflows.md) - [github_billing_action](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_billing_action.md) -- [github_billing_storage](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_billing_storage.md) - [github_billing_package](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_billing_package.md) +- [github_billing_storage](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_billing_storage.md) - [github_external_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_external_groups.md) -- [github_issues](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_issues.md) - [github_hooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_hooks.md) - [github_hook_deliveries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_hook_deliveries.md) - [github_installations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_installations.md) +- [github_issues](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_issues.md) - [github_organizations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_organizations.md) - [github_organization_dependabot_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_organization_dependabot_alerts.md) - [github_organization_dependabot_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_organization_dependabot_secrets.md) - [github_organization_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_organization_members.md) - [github_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_repositories.md) - - [github_repository_dependabot_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_repository_dependabot_alerts.md) - - [github_repository_dependabot_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_repository_dependabot_secrets.md) - [github_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_releases.md) - [github_release_assets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_release_assets.md) + - [github_repository_dependabot_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_repository_dependabot_alerts.md) + - [github_repository_dependabot_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_repository_dependabot_secrets.md) - [github_teams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_teams.md) - [github_team_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_team_members.md) - - [github_team_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_team_repositories.md) \ No newline at end of file + - [github_team_repositories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_team_repositories.md) +- [github_workflows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/github/docs/tables/github_workflows.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/gitlab/tables.md b/website/pages/docs/plugins/sources/gitlab/tables.md index 2f60d1787ceacc..7d920cb0ea026f 100644 --- a/website/pages/docs/plugins/sources/gitlab/tables.md +++ b/website/pages/docs/plugins/sources/gitlab/tables.md @@ -5,7 +5,7 @@ - [gitlab_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_groups.md) - [gitlab_group_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_group_members.md) - [gitlab_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_projects.md) - - [gitlab_projects_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_projects_releases.md) - [gitlab_project_branches](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_project_branches.md) + - [gitlab_projects_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_projects_releases.md) - [gitlab_settings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_settings.md) - [gitlab_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gitlab/docs/tables/gitlab_users.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/heroku/tables.md b/website/pages/docs/plugins/sources/heroku/tables.md index 5f84e92d943c8c..cbcaffc5a2990c 100644 --- a/website/pages/docs/plugins/sources/heroku/tables.md +++ b/website/pages/docs/plugins/sources/heroku/tables.md @@ -3,29 +3,29 @@ ## Tables - [heroku_account_features](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_account_features.md) -- [heroku_add_ons](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_ons.md) - [heroku_add_on_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_attachments.md) - [heroku_add_on_configs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_configs.md) - [heroku_add_on_region_capabilities](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_region_capabilities.md) - [heroku_add_on_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_services.md) -- [heroku_add_on_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_webhooks.md) - [heroku_add_on_webhook_deliveries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_webhook_deliveries.md) - [heroku_add_on_webhook_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_webhook_events.md) -- [heroku_apps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_apps.md) +- [heroku_add_on_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_on_webhooks.md) +- [heroku_add_ons](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_add_ons.md) - [heroku_app_features](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_features.md) - [heroku_app_transfers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_transfers.md) -- [heroku_app_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_webhooks.md) - [heroku_app_webhook_deliveries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_webhook_deliveries.md) - [heroku_app_webhook_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_webhook_events.md) -- [heroku_builds](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_builds.md) +- [heroku_app_webhooks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_app_webhooks.md) +- [heroku_apps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_apps.md) - [heroku_buildpack_installations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_buildpack_installations.md) +- [heroku_builds](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_builds.md) - [heroku_collaborators](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_collaborators.md) - [heroku_credits](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_credits.md) - [heroku_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_domains.md) -- [heroku_dynos](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_dynos.md) - [heroku_dyno_sizes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_dyno_sizes.md) -- [heroku_enterprise_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_enterprise_accounts.md) +- [heroku_dynos](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_dynos.md) - [heroku_enterprise_account_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_enterprise_account_members.md) +- [heroku_enterprise_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_enterprise_accounts.md) - [heroku_formations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_formations.md) - [heroku_inbound_rulesets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_inbound_rulesets.md) - [heroku_invoices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_invoices.md) @@ -36,22 +36,22 @@ - [heroku_outbound_rulesets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_outbound_rulesets.md) - [heroku_peerings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_peerings.md) - [heroku_permission_entities](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_permission_entities.md) -- [heroku_pipelines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipelines.md) - [heroku_pipeline_builds](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipeline_builds.md) - [heroku_pipeline_couplings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipeline_couplings.md) - [heroku_pipeline_deployments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipeline_deployments.md) - [heroku_pipeline_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipeline_releases.md) +- [heroku_pipelines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_pipelines.md) - [heroku_regions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_regions.md) - [heroku_releases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_releases.md) - [heroku_review_apps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_review_apps.md) -- [heroku_spaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_spaces.md) - [heroku_space_app_accesses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_space_app_accesses.md) +- [heroku_spaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_spaces.md) - [heroku_stacks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_stacks.md) - [heroku_team_app_permissions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_app_permissions.md) - [heroku_team_features](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_features.md) -- [heroku_teams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_teams.md) - [heroku_team_invitations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_invitations.md) - [heroku_team_invoices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_invoices.md) - [heroku_team_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_members.md) - [heroku_team_spaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_team_spaces.md) +- [heroku_teams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_teams.md) - [heroku_vpn_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/heroku/docs/tables/heroku_vpn_connections.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/k8s/tables.md b/website/pages/docs/plugins/sources/k8s/tables.md index 7f9006b4893474..6d306598b30dd8 100644 --- a/website/pages/docs/plugins/sources/k8s/tables.md +++ b/website/pages/docs/plugins/sources/k8s/tables.md @@ -2,7 +2,6 @@ ## Tables -- [k8s_discovery_endpoint_slices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_discovery_endpoint_slices.md) - [k8s_admissionregistration_mutating_webhook_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_admissionregistration_mutating_webhook_configurations.md) - [k8s_admissionregistration_validating_webhook_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_admissionregistration_validating_webhook_configurations.md) - [k8s_apps_daemon_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_apps_daemon_sets.md) @@ -10,8 +9,8 @@ - [k8s_apps_replica_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_apps_replica_sets.md) - [k8s_apps_stateful_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_apps_stateful_sets.md) - [k8s_autoscaling_hpas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_autoscaling_hpas.md) -- [k8s_batch_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_batch_jobs.md) - [k8s_batch_cron_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_batch_cron_jobs.md) +- [k8s_batch_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_batch_jobs.md) - [k8s_certificates_signing_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_certificates_signing_requests.md) - [k8s_coordination_leases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_coordination_leases.md) - [k8s_core_component_statuses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_component_statuses.md) @@ -21,22 +20,23 @@ - [k8s_core_limit_ranges](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_limit_ranges.md) - [k8s_core_namespaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_namespaces.md) - [k8s_core_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_nodes.md) -- [k8s_core_pvs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_pvs.md) -- [k8s_core_pvcs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_pvcs.md) - [k8s_core_pods](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_pods.md) +- [k8s_core_pvcs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_pvcs.md) +- [k8s_core_pvs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_pvs.md) - [k8s_core_replication_controllers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_replication_controllers.md) - [k8s_core_resource_quotas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_resource_quotas.md) - [k8s_core_secrets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_secrets.md) -- [k8s_core_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_services.md) - [k8s_core_service_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_service_accounts.md) +- [k8s_core_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_core_services.md) +- [k8s_discovery_endpoint_slices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_discovery_endpoint_slices.md) +- [k8s_networking_ingress_classes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_networking_ingress_classes.md) - [k8s_networking_ingresses](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_networking_ingresses.md) - [k8s_networking_network_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_networking_network_policies.md) -- [k8s_networking_ingress_classes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_networking_ingress_classes.md) - [k8s_nodes_runtime_classes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_nodes_runtime_classes.md) -- [k8s_rbac_cluster_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_cluster_roles.md) - [k8s_rbac_cluster_role_bindings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_cluster_role_bindings.md) -- [k8s_rbac_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_roles.md) +- [k8s_rbac_cluster_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_cluster_roles.md) - [k8s_rbac_role_bindings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_role_bindings.md) +- [k8s_rbac_roles](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_rbac_roles.md) - [k8s_storage_csi_drivers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_storage_csi_drivers.md) - [k8s_storage_csi_nodes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_storage_csi_nodes.md) - [k8s_storage_csi_storage_capacities](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/k8s/docs/tables/k8s_storage_csi_storage_capacities.md) diff --git a/website/pages/docs/plugins/sources/okta/tables.md b/website/pages/docs/plugins/sources/okta/tables.md index ed85dbf7dc4120..d81ec88e4c4deb 100644 --- a/website/pages/docs/plugins/sources/okta/tables.md +++ b/website/pages/docs/plugins/sources/okta/tables.md @@ -2,9 +2,9 @@ ## Tables -- [okta_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_users.md) -- [okta_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_groups.md) - - [okta_group_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_group_users.md) - [okta_applications](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_applications.md) + - [okta_application_group_assignments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_application_group_assignments.md) - [okta_application_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_application_users.md) - - [okta_application_group_assignments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_application_group_assignments.md) \ No newline at end of file +- [okta_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_groups.md) + - [okta_group_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_group_users.md) +- [okta_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/okta/docs/tables/okta_users.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/pagerduty/tables.md b/website/pages/docs/plugins/sources/pagerduty/tables.md index 59bc188e1e2a0b..07b835ce1aa1dd 100644 --- a/website/pages/docs/plugins/sources/pagerduty/tables.md +++ b/website/pages/docs/plugins/sources/pagerduty/tables.md @@ -3,14 +3,14 @@ ## Tables - [pagerduty_addons](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_addons.md) -- [pagerduty_incidents](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md) - - [pagerduty_incident_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_alerts.md) - - [pagerduty_incident_notes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_notes.md) - - [pagerduty_incident_log_entries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_log_entries.md) - [pagerduty_business_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_business_services.md) - [pagerduty_escalation_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_escalation_policies.md) - [pagerduty_extension_schemas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_extension_schemas.md) - [pagerduty_extensions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_extensions.md) +- [pagerduty_incidents](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incidents.md) + - [pagerduty_incident_alerts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_alerts.md) + - [pagerduty_incident_log_entries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_log_entries.md) + - [pagerduty_incident_notes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_incident_notes.md) - [pagerduty_maintenance_windows](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_maintenance_windows.md) - [pagerduty_priorities](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_priorities.md) - [pagerduty_rulesets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/pagerduty/docs/tables/pagerduty_rulesets.md) diff --git a/website/pages/docs/plugins/sources/shopify/tables.md b/website/pages/docs/plugins/sources/shopify/tables.md index d99549eb650948..61e662aca4d385 100644 --- a/website/pages/docs/plugins/sources/shopify/tables.md +++ b/website/pages/docs/plugins/sources/shopify/tables.md @@ -2,11 +2,11 @@ ## Tables +- [shopify_abandoned_checkouts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_abandoned_checkouts.md) - [shopify_customers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_customers.md) - [shopify_orders](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_orders.md) -- [shopify_products](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_products.md) - - [shopify_product_variants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_product_variants.md) - - [shopify_product_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_product_images.md) - [shopify_price_rules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_price_rules.md) - [shopify_price_rule_discount_codes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_price_rule_discount_codes.md) -- [shopify_abandoned_checkouts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_abandoned_checkouts.md) \ No newline at end of file +- [shopify_products](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_products.md) + - [shopify_product_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_product_images.md) + - [shopify_product_variants](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/shopify/docs/tables/shopify_product_variants.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/vercel/tables.md b/website/pages/docs/plugins/sources/vercel/tables.md index 734959f4ac726b..415329288e5a9b 100644 --- a/website/pages/docs/plugins/sources/vercel/tables.md +++ b/website/pages/docs/plugins/sources/vercel/tables.md @@ -2,11 +2,11 @@ ## Tables +- [vercel_deployments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_deployments.md) + - [vercel_deployment_checks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_deployment_checks.md) - [vercel_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_domains.md) - [vercel_domain_records](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_domain_records.md) -- [vercel_teams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_teams.md) - - [vercel_team_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_team_members.md) - [vercel_projects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_projects.md) - [vercel_project_envs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_project_envs.md) -- [vercel_deployments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_deployments.md) - - [vercel_deployment_checks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_deployment_checks.md) \ No newline at end of file +- [vercel_teams](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_teams.md) + - [vercel_team_members](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/vercel/docs/tables/vercel_team_members.md) \ No newline at end of file From 740a428cb2f6c64c762aae4c0d7071a492b72b39 Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Thu, 12 Jan 2023 12:34:22 +0200 Subject: [PATCH 108/186] feat: Oracle plugin (#6353) First version of oracle plugin. See more information below. TODOs: - Add descriptions with links to oracle's API - Add mock tests. - Add more resources - Understand why `mysql` and `nosql` resources make the plugin get stuck. - You can modify the `codegen/main.go` `servicesAllowlist` and `servicesDenylist` to generate more resources. - Fix column names (e.g. `oracle_volumes->size_in_m_bs`) - Add nested tables. Codegen explanation: - `codegen` generates table-definitions and fetcher-functions, based on `oracle_clients.go`. - The `oracle_clients` was semi-manually generated by me using the script `generate_oracleClients_struct.py`. - `generate_oracleClients_struct.py` requires cloning [https://github.com/oracle/oci-go-sdk] and running the [pkgreflect] tool on it. --- .github/pr_labeler.yml | 2 + .github/workflows/source_oracle.yml | 85 + .../workflows/wait_for_required_workflows.yml | 1 + plugins/source/oracle/.gitignore | 1 + plugins/source/oracle/Makefile | 22 + plugins/source/oracle/README.md | 7 + plugins/source/oracle/client/client.go | 223 +++ plugins/source/oracle/client/multiplex.go | 49 + .../source/oracle/client/oracle_clients.go | 1570 +++++++++++++++++ plugins/source/oracle/client/resovers.go | 19 + plugins/source/oracle/client/transform.go | 23 + plugins/source/oracle/codegen/generate.go | 161 ++ plugins/source/oracle/codegen/main.go | 245 +++ plugins/source/oracle/codegen/table.go | 13 + .../oracle/codegen/templates/fetch.go.tpl | 38 + .../oracle/codegen/templates/table.go.tpl | 44 + .../codegen/templates/table_list.go.tpl | 16 + plugins/source/oracle/docs/tables/README.md | 82 + ...oracle_blockstorage_boot_volume_backups.md | 31 + ...racle_blockstorage_boot_volume_replicas.md | 27 + .../oracle_blockstorage_boot_volumes.md | 33 + ...cle_blockstorage_volume_backup_policies.md | 21 + .../oracle_blockstorage_volume_backups.md | 32 + ...racle_blockstorage_volume_group_backups.md | 31 + .../oracle_blockstorage_volume_groups.md | 26 + .../tables/oracle_blockstorage_volumes.md | 32 + ...e_compute_compute_capacity_reservations.md | 24 + .../oracle_compute_console_histories.md | 22 + .../oracle_compute_dedicated_vm_hosts.md | 25 + .../docs/tables/oracle_compute_images.md | 30 + ...le_compute_instance_console_connections.md | 23 + .../docs/tables/oracle_compute_instances.md | 38 + .../tables/oracle_compute_vnic_attachments.md | 25 + ...database_autonomous_container_databases.md | 48 + .../oracle_database_autonomous_databases.md | 104 ++ ...base_autonomous_exadata_infrastructures.md | 33 + .../oracle_database_autonomous_vm_clusters.md | 47 + .../oracle_database_backup_destination.md | 29 + ...e_database_cloud_autonomous_vm_clusters.md | 51 + ..._database_cloud_exadata_infrastructures.md | 41 + .../oracle_database_cloud_vm_clusters.md | 58 + ...oracle_database_exadata_infrastructures.md | 57 + ...e_database_external_container_databases.md | 32 + ...tabase_external_non_container_databases.md | 33 + ...e_database_external_pluggable_databases.md | 35 + .../docs/tables/oracle_database_key_stores.md | 22 + .../tables/oracle_database_vm_clusters.md | 40 + .../tables/oracle_filestorage_export_sets.md | 20 + .../docs/tables/oracle_filestorage_exports.md | 20 + .../tables/oracle_filestorage_file_systems.md | 27 + .../oracle_filestorage_mount_targets.md | 25 + .../oracle_filestorage_replication_targets.md | 23 + .../tables/oracle_filestorage_replications.md | 24 + .../tables/oracle_identity_compartments.md | 22 + .../oracle_identity_cost_tracking_tags.md | 24 + .../docs/tables/oracle_identity_domains.md | 29 + .../tables/oracle_identity_dynamic_groups.md | 22 + .../docs/tables/oracle_identity_groups.md | 21 + .../oracle_identity_iam_work_requests.md | 22 + .../tables/oracle_identity_network_sources.md | 22 + .../docs/tables/oracle_identity_policies.md | 24 + .../tables/oracle_identity_tag_namespaces.md | 23 + .../oracle_identity_tagging_work_requests.md | 22 + .../docs/tables/oracle_identity_users.md | 30 + .../tables/oracle_identity_work_requests.md | 23 + .../oracle_loadbalancer_load_balancers.md | 35 + ...tworkfirewall_network_firewall_policies.md | 23 + ...racle_networkfirewall_network_firewalls.md | 28 + .../oracle_networkfirewall_work_requests.md | 22 + ...workloadbalancer_network_load_balancers.md | 31 + ...racle_networkloadbalancer_work_requests.md | 22 + .../tables/oracle_objectstorage_buckets.md | 21 + .../oracle_objectstorage_work_requests.md | 22 + .../oracle_virtualnetwork_byoip_ranges.md | 24 + .../oracle_virtualnetwork_capture_filters.md | 22 + .../docs/tables/oracle_virtualnetwork_cpes.md | 21 + ...cle_virtualnetwork_cross_connect_groups.md | 24 + .../oracle_virtualnetwork_cross_connects.md | 28 + .../oracle_virtualnetwork_dhcp_options.md | 23 + .../oracle_virtualnetwork_drg_attachments.md | 26 + .../docs/tables/oracle_virtualnetwork_drgs.md | 22 + ...lnetwork_fast_connect_provider_services.md | 26 + ...oracle_virtualnetwork_internet_gateways.md | 23 + ...racle_virtualnetwork_ip_sec_connections.md | 25 + ...e_virtualnetwork_local_peering_gateways.md | 28 + .../oracle_virtualnetwork_nat_gateways.md | 25 + .../oracle_virtualnetwork_public_ip_pools.md | 20 + ...rtualnetwork_remote_peering_connections.md | 26 + .../oracle_virtualnetwork_route_tables.md | 22 + .../oracle_virtualnetwork_security_lists.md | 23 + .../oracle_virtualnetwork_service_gateways.md | 24 + .../tables/oracle_virtualnetwork_subnets.md | 35 + .../docs/tables/oracle_virtualnetwork_vcns.md | 30 + .../oracle_virtualnetwork_virtual_circuits.md | 42 + .../tables/oracle_virtualnetwork_vlans.md | 26 + .../tables/oracle_virtualnetwork_vtaps.md | 35 + plugins/source/oracle/go.mod | 37 + plugins/source/oracle/go.sum | 477 +++++ plugins/source/oracle/main.go | 12 + .../oracle/resources/plugin/autogen_tables.go | 51 + .../source/oracle/resources/plugin/plugin.go | 79 + .../blockstorage/boot_volume_backups.go | 44 + .../blockstorage/boot_volume_backups_fetch.go | 38 + .../blockstorage/boot_volume_replicas.go | 44 + .../boot_volume_replicas_fetch.go | 38 + .../services/blockstorage/boot_volumes.go | 44 + .../blockstorage/boot_volumes_fetch.go | 38 + .../blockstorage/volume_backup_policies.go | 44 + .../volume_backup_policies_fetch.go | 38 + .../services/blockstorage/volume_backups.go | 44 + .../blockstorage/volume_backups_fetch.go | 38 + .../blockstorage/volume_group_backups.go | 44 + .../volume_group_backups_fetch.go | 38 + .../services/blockstorage/volume_groups.go | 44 + .../blockstorage/volume_groups_fetch.go | 38 + .../services/blockstorage/volumes.go | 44 + .../services/blockstorage/volumes_fetch.go | 38 + .../compute/compute_capacity_reservations.go | 44 + .../compute_capacity_reservations_fetch.go | 38 + .../services/compute/console_histories.go | 44 + .../compute/console_histories_fetch.go | 38 + .../services/compute/dedicated_vm_hosts.go | 44 + .../compute/dedicated_vm_hosts_fetch.go | 38 + .../resources/services/compute/images.go | 44 + .../services/compute/images_fetch.go | 38 + .../compute/instance_console_connections.go | 44 + .../instance_console_connections_fetch.go | 38 + .../resources/services/compute/instances.go | 44 + .../services/compute/instances_fetch.go | 38 + .../services/compute/vnic_attachments.go | 44 + .../compute/vnic_attachments_fetch.go | 38 + .../autonomous_container_databases.go | 44 + .../autonomous_container_databases_fetch.go | 38 + .../services/database/autonomous_databases.go | 44 + .../database/autonomous_databases_fetch.go | 38 + .../autonomous_exadata_infrastructures.go | 44 + ...utonomous_exadata_infrastructures_fetch.go | 38 + .../database/autonomous_vm_clusters.go | 44 + .../database/autonomous_vm_clusters_fetch.go | 38 + .../services/database/backup_destination.go | 44 + .../database/backup_destination_fetch.go | 38 + .../database/cloud_autonomous_vm_clusters.go | 44 + .../cloud_autonomous_vm_clusters_fetch.go | 38 + .../database/cloud_exadata_infrastructures.go | 44 + .../cloud_exadata_infrastructures_fetch.go | 38 + .../services/database/cloud_vm_clusters.go | 44 + .../database/cloud_vm_clusters_fetch.go | 38 + .../database/exadata_infrastructures.go | 44 + .../database/exadata_infrastructures_fetch.go | 38 + .../database/external_container_databases.go | 44 + .../external_container_databases_fetch.go | 38 + .../external_non_container_databases.go | 44 + .../external_non_container_databases_fetch.go | 38 + .../database/external_pluggable_databases.go | 44 + .../external_pluggable_databases_fetch.go | 38 + .../resources/services/database/key_stores.go | 44 + .../services/database/key_stores_fetch.go | 38 + .../services/database/vm_clusters.go | 44 + .../services/database/vm_clusters_fetch.go | 38 + .../services/filestorage/export_sets.go | 44 + .../services/filestorage/export_sets_fetch.go | 39 + .../resources/services/filestorage/exports.go | 44 + .../services/filestorage/exports_fetch.go | 38 + .../services/filestorage/file_systems.go | 44 + .../filestorage/file_systems_fetch.go | 39 + .../services/filestorage/mount_targets.go | 44 + .../filestorage/mount_targets_fetch.go | 39 + .../filestorage/replication_targets.go | 44 + .../filestorage/replication_targets_fetch.go | 39 + .../services/filestorage/replications.go | 44 + .../filestorage/replications_fetch.go | 39 + .../services/identity/compartments.go | 28 + .../services/identity/compartments_fetch.go | 39 + .../services/identity/cost_tracking_tags.go | 28 + .../identity/cost_tracking_tags_fetch.go | 38 + .../resources/services/identity/domains.go | 44 + .../services/identity/domains_fetch.go | 38 + .../services/identity/dynamic_groups.go | 28 + .../services/identity/dynamic_groups_fetch.go | 38 + .../resources/services/identity/groups.go | 28 + .../services/identity/groups_fetch.go | 38 + .../services/identity/iam_work_requests.go | 44 + .../identity/iam_work_requests_fetch.go | 38 + .../services/identity/network_sources.go | 28 + .../identity/network_sources_fetch.go | 38 + .../resources/services/identity/policies.go | 44 + .../services/identity/policies_fetch.go | 38 + .../services/identity/tag_namespaces.go | 44 + .../services/identity/tag_namespaces_fetch.go | 38 + .../identity/tagging_work_requests.go | 44 + .../identity/tagging_work_requests_fetch.go | 38 + .../resources/services/identity/users.go | 28 + .../services/identity/users_fetch.go | 38 + .../services/identity/work_requests.go | 44 + .../services/identity/work_requests_fetch.go | 38 + .../services/loadbalancer/load_balancers.go | 44 + .../loadbalancer/load_balancers_fetch.go | 38 + .../network_firewall_policies.go | 44 + .../network_firewall_policies_fetch.go | 38 + .../networkfirewall/network_firewalls.go | 44 + .../network_firewalls_fetch.go | 38 + .../services/networkfirewall/work_requests.go | 44 + .../networkfirewall/work_requests_fetch.go | 38 + .../network_load_balancers.go | 44 + .../network_load_balancers_fetch.go | 38 + .../networkloadbalancer/work_requests.go | 44 + .../work_requests_fetch.go | 38 + .../services/objectstorage/buckets.go | 52 + .../services/objectstorage/buckets_fetch.go | 39 + .../services/objectstorage/work_requests.go | 44 + .../objectstorage/work_requests_fetch.go | 38 + .../services/virtualnetwork/byoip_ranges.go | 44 + .../virtualnetwork/byoip_ranges_fetch.go | 38 + .../virtualnetwork/capture_filters.go | 44 + .../virtualnetwork/capture_filters_fetch.go | 38 + .../resources/services/virtualnetwork/cpes.go | 44 + .../services/virtualnetwork/cpes_fetch.go | 38 + .../virtualnetwork/cross_connect_groups.go | 44 + .../cross_connect_groups_fetch.go | 38 + .../services/virtualnetwork/cross_connects.go | 44 + .../virtualnetwork/cross_connects_fetch.go | 38 + .../services/virtualnetwork/dhcp_options.go | 44 + .../virtualnetwork/dhcp_options_fetch.go | 38 + .../virtualnetwork/drg_attachments.go | 44 + .../virtualnetwork/drg_attachments_fetch.go | 38 + .../resources/services/virtualnetwork/drgs.go | 44 + .../services/virtualnetwork/drgs_fetch.go | 38 + .../fast_connect_provider_services.go | 44 + .../fast_connect_provider_services_fetch.go | 38 + .../virtualnetwork/internet_gateways.go | 44 + .../virtualnetwork/internet_gateways_fetch.go | 38 + .../virtualnetwork/ip_sec_connections.go | 44 + .../ip_sec_connections_fetch.go | 38 + .../virtualnetwork/local_peering_gateways.go | 44 + .../local_peering_gateways_fetch.go | 38 + .../services/virtualnetwork/nat_gateways.go | 44 + .../virtualnetwork/nat_gateways_fetch.go | 38 + .../virtualnetwork/public_ip_pools.go | 44 + .../virtualnetwork/public_ip_pools_fetch.go | 38 + .../remote_peering_connections.go | 44 + .../remote_peering_connections_fetch.go | 38 + .../services/virtualnetwork/route_tables.go | 44 + .../virtualnetwork/route_tables_fetch.go | 38 + .../services/virtualnetwork/security_lists.go | 44 + .../virtualnetwork/security_lists_fetch.go | 38 + .../virtualnetwork/service_gateways.go | 44 + .../virtualnetwork/service_gateways_fetch.go | 38 + .../services/virtualnetwork/subnets.go | 44 + .../services/virtualnetwork/subnets_fetch.go | 38 + .../resources/services/virtualnetwork/vcns.go | 44 + .../services/virtualnetwork/vcns_fetch.go | 38 + .../virtualnetwork/virtual_circuits.go | 44 + .../virtualnetwork/virtual_circuits_fetch.go | 38 + .../services/virtualnetwork/vlans.go | 44 + .../services/virtualnetwork/vlans_fetch.go | 38 + .../services/virtualnetwork/vtaps.go | 44 + .../services/virtualnetwork/vtaps_fetch.go | 38 + website/pages/docs/plugins/sources/_meta.json | 1 + .../docs/plugins/sources/oracle/_meta.json | 4 + .../docs/plugins/sources/oracle/overview.md | 46 + .../docs/plugins/sources/oracle/tables.md | 82 + .../pages/docs/plugins/sources/overview.mdx | 1 + website/versions/source-oracle.json | 1 + 263 files changed, 11984 insertions(+) create mode 100644 .github/workflows/source_oracle.yml create mode 100644 plugins/source/oracle/.gitignore create mode 100644 plugins/source/oracle/Makefile create mode 100644 plugins/source/oracle/README.md create mode 100644 plugins/source/oracle/client/client.go create mode 100644 plugins/source/oracle/client/multiplex.go create mode 100644 plugins/source/oracle/client/oracle_clients.go create mode 100644 plugins/source/oracle/client/resovers.go create mode 100644 plugins/source/oracle/client/transform.go create mode 100644 plugins/source/oracle/codegen/generate.go create mode 100644 plugins/source/oracle/codegen/main.go create mode 100644 plugins/source/oracle/codegen/table.go create mode 100644 plugins/source/oracle/codegen/templates/fetch.go.tpl create mode 100644 plugins/source/oracle/codegen/templates/table.go.tpl create mode 100644 plugins/source/oracle/codegen/templates/table_list.go.tpl create mode 100644 plugins/source/oracle/docs/tables/README.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_backups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_replicas.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volumes.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backup_policies.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_volume_group_backups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_volume_groups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_blockstorage_volumes.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_compute_capacity_reservations.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_console_histories.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_dedicated_vm_hosts.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_images.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_instance_console_connections.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_instances.md create mode 100644 plugins/source/oracle/docs/tables/oracle_compute_vnic_attachments.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_autonomous_container_databases.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_autonomous_databases.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_autonomous_exadata_infrastructures.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_autonomous_vm_clusters.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_backup_destination.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_cloud_autonomous_vm_clusters.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_cloud_exadata_infrastructures.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_cloud_vm_clusters.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_exadata_infrastructures.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_external_container_databases.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_external_non_container_databases.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_external_pluggable_databases.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_key_stores.md create mode 100644 plugins/source/oracle/docs/tables/oracle_database_vm_clusters.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_export_sets.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_exports.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_file_systems.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_mount_targets.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_replication_targets.md create mode 100644 plugins/source/oracle/docs/tables/oracle_filestorage_replications.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_compartments.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_cost_tracking_tags.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_domains.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_dynamic_groups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_groups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_iam_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_network_sources.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_policies.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_tag_namespaces.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_tagging_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_users.md create mode 100644 plugins/source/oracle/docs/tables/oracle_identity_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_loadbalancer_load_balancers.md create mode 100644 plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewall_policies.md create mode 100644 plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewalls.md create mode 100644 plugins/source/oracle/docs/tables/oracle_networkfirewall_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_networkloadbalancer_network_load_balancers.md create mode 100644 plugins/source/oracle/docs/tables/oracle_networkloadbalancer_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_objectstorage_buckets.md create mode 100644 plugins/source/oracle/docs/tables/oracle_objectstorage_work_requests.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_byoip_ranges.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_capture_filters.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_cpes.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connect_groups.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connects.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_dhcp_options.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_drg_attachments.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_drgs.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_fast_connect_provider_services.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_internet_gateways.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_ip_sec_connections.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_local_peering_gateways.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_nat_gateways.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_public_ip_pools.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_remote_peering_connections.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_route_tables.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_security_lists.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_service_gateways.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_subnets.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_vcns.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_virtual_circuits.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_vlans.md create mode 100644 plugins/source/oracle/docs/tables/oracle_virtualnetwork_vtaps.md create mode 100644 plugins/source/oracle/go.mod create mode 100644 plugins/source/oracle/go.sum create mode 100644 plugins/source/oracle/main.go create mode 100644 plugins/source/oracle/resources/plugin/autogen_tables.go create mode 100644 plugins/source/oracle/resources/plugin/plugin.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volume_backups.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volume_backups_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volumes.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/boot_volumes_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_backup_policies.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_backup_policies_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_backups.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_backups_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_group_backups.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_group_backups_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_groups.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volume_groups_fetch.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volumes.go create mode 100644 plugins/source/oracle/resources/services/blockstorage/volumes_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/compute_capacity_reservations.go create mode 100644 plugins/source/oracle/resources/services/compute/compute_capacity_reservations_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/console_histories.go create mode 100644 plugins/source/oracle/resources/services/compute/console_histories_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/dedicated_vm_hosts.go create mode 100644 plugins/source/oracle/resources/services/compute/dedicated_vm_hosts_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/images.go create mode 100644 plugins/source/oracle/resources/services/compute/images_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/instance_console_connections.go create mode 100644 plugins/source/oracle/resources/services/compute/instance_console_connections_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/instances.go create mode 100644 plugins/source/oracle/resources/services/compute/instances_fetch.go create mode 100644 plugins/source/oracle/resources/services/compute/vnic_attachments.go create mode 100644 plugins/source/oracle/resources/services/compute/vnic_attachments_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_container_databases.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_container_databases_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_databases.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_databases_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_vm_clusters.go create mode 100644 plugins/source/oracle/resources/services/database/autonomous_vm_clusters_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/backup_destination.go create mode 100644 plugins/source/oracle/resources/services/database/backup_destination_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_vm_clusters.go create mode 100644 plugins/source/oracle/resources/services/database/cloud_vm_clusters_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/exadata_infrastructures.go create mode 100644 plugins/source/oracle/resources/services/database/exadata_infrastructures_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/external_container_databases.go create mode 100644 plugins/source/oracle/resources/services/database/external_container_databases_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/external_non_container_databases.go create mode 100644 plugins/source/oracle/resources/services/database/external_non_container_databases_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/external_pluggable_databases.go create mode 100644 plugins/source/oracle/resources/services/database/external_pluggable_databases_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/key_stores.go create mode 100644 plugins/source/oracle/resources/services/database/key_stores_fetch.go create mode 100644 plugins/source/oracle/resources/services/database/vm_clusters.go create mode 100644 plugins/source/oracle/resources/services/database/vm_clusters_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/export_sets.go create mode 100644 plugins/source/oracle/resources/services/filestorage/export_sets_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/exports.go create mode 100644 plugins/source/oracle/resources/services/filestorage/exports_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/file_systems.go create mode 100644 plugins/source/oracle/resources/services/filestorage/file_systems_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/mount_targets.go create mode 100644 plugins/source/oracle/resources/services/filestorage/mount_targets_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/replication_targets.go create mode 100644 plugins/source/oracle/resources/services/filestorage/replication_targets_fetch.go create mode 100644 plugins/source/oracle/resources/services/filestorage/replications.go create mode 100644 plugins/source/oracle/resources/services/filestorage/replications_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/compartments.go create mode 100644 plugins/source/oracle/resources/services/identity/compartments_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/cost_tracking_tags.go create mode 100644 plugins/source/oracle/resources/services/identity/cost_tracking_tags_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/domains.go create mode 100644 plugins/source/oracle/resources/services/identity/domains_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/dynamic_groups.go create mode 100644 plugins/source/oracle/resources/services/identity/dynamic_groups_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/groups.go create mode 100644 plugins/source/oracle/resources/services/identity/groups_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/iam_work_requests.go create mode 100644 plugins/source/oracle/resources/services/identity/iam_work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/network_sources.go create mode 100644 plugins/source/oracle/resources/services/identity/network_sources_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/policies.go create mode 100644 plugins/source/oracle/resources/services/identity/policies_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/tag_namespaces.go create mode 100644 plugins/source/oracle/resources/services/identity/tag_namespaces_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/tagging_work_requests.go create mode 100644 plugins/source/oracle/resources/services/identity/tagging_work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/users.go create mode 100644 plugins/source/oracle/resources/services/identity/users_fetch.go create mode 100644 plugins/source/oracle/resources/services/identity/work_requests.go create mode 100644 plugins/source/oracle/resources/services/identity/work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/loadbalancer/load_balancers.go create mode 100644 plugins/source/oracle/resources/services/loadbalancer/load_balancers_fetch.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies_fetch.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/network_firewalls.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/network_firewalls_fetch.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/work_requests.go create mode 100644 plugins/source/oracle/resources/services/networkfirewall/work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers.go create mode 100644 plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers_fetch.go create mode 100644 plugins/source/oracle/resources/services/networkloadbalancer/work_requests.go create mode 100644 plugins/source/oracle/resources/services/networkloadbalancer/work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/objectstorage/buckets.go create mode 100644 plugins/source/oracle/resources/services/objectstorage/buckets_fetch.go create mode 100644 plugins/source/oracle/resources/services/objectstorage/work_requests.go create mode 100644 plugins/source/oracle/resources/services/objectstorage/work_requests_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/capture_filters.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/capture_filters_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cpes.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cpes_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cross_connects.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/cross_connects_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/dhcp_options.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/dhcp_options_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/drg_attachments.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/drg_attachments_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/drgs.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/drgs_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/internet_gateways.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/internet_gateways_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/nat_gateways.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/nat_gateways_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/route_tables.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/route_tables_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/security_lists.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/security_lists_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/service_gateways.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/service_gateways_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/subnets.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/subnets_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vcns.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vcns_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vlans.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vlans_fetch.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vtaps.go create mode 100644 plugins/source/oracle/resources/services/virtualnetwork/vtaps_fetch.go create mode 100644 website/pages/docs/plugins/sources/oracle/_meta.json create mode 100644 website/pages/docs/plugins/sources/oracle/overview.md create mode 100644 website/pages/docs/plugins/sources/oracle/tables.md create mode 100644 website/versions/source-oracle.json diff --git a/.github/pr_labeler.yml b/.github/pr_labeler.yml index df8a559fc17320..77792b1e1275f4 100644 --- a/.github/pr_labeler.yml +++ b/.github/pr_labeler.yml @@ -32,6 +32,8 @@ heroku: - plugins/source/heroku/**/* okta: - plugins/source/okta/**/* +oracle: + - plugins/source/oracle/**/* slack: - plugins/source/slack/**/* shopify: diff --git a/.github/workflows/source_oracle.yml b/.github/workflows/source_oracle.yml new file mode 100644 index 00000000000000..22c9fc8005932f --- /dev/null +++ b/.github/workflows/source_oracle.yml @@ -0,0 +1,85 @@ +name: Source Plugin Oracle Workflow + +on: + pull_request: + paths: + - "plugins/source/oracle/**" + - ".github/workflows/source_oracle.yml" + push: + branches: + - main + paths: + - "plugins/source/oracle/**" + - ".github/workflows/source_oracle.yml" + +jobs: + plugins-source-oracle: + timeout-minutes: 30 + name: "plugins/source/oracle" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./plugins/source/oracle + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 2 + - name: Set up Go 1.x + uses: actions/setup-go@v3 + with: + go-version-file: plugins/source/oracle/go.mod + cache: true + cache-dependency-path: plugins/source/oracle/go.sum + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.50.1 + working-directory: plugins/source/oracle + args: "--config ../../.golangci.yml" + - name: Get dependencies + run: go get -t -d ./... + - name: Build + run: go build . + - name: Test + run: make test + - name: gen-docs + if: github.event_name == 'pull_request' + run: make gen-docs + - name: Fail if generation updated files + if: github.event_name == 'pull_request' + run: test "$(git status -s | wc -l)" -eq 0 || (git status -s; exit 1) + validate-release: + timeout-minutes: 30 + runs-on: ubuntu-latest + env: + CGO_ENABLED: 0 + steps: + - name: Checkout + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/checkout@v3 + - uses: actions/cache@v3 + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-1.19.3-release-cache-${{ hashFiles('plugins/source/oracle/go.sum') }} + restore-keys: | + ${{ runner.os }}-go-1.19.3-release-cache-plugins-source-oracle + - name: Set up Go + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/setup-go@v3 + with: + go-version-file: plugins/source/oracle/go.mod + - name: Install GoReleaser + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: goreleaser/goreleaser-action@v3 + with: + distribution: goreleaser-pro + version: latest + install-only: true + - name: Run GoReleaser Dry-Run + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + run: goreleaser release --snapshot --rm-dist --skip-validate --skip-publish --skip-sign -f ./plugins/source/oracle/.goreleaser.yaml + env: + GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} \ No newline at end of file diff --git a/.github/workflows/wait_for_required_workflows.yml b/.github/workflows/wait_for_required_workflows.yml index c2788f4fe8a1ea..b2e8d1c717a9ea 100644 --- a/.github/workflows/wait_for_required_workflows.yml +++ b/.github/workflows/wait_for_required_workflows.yml @@ -57,6 +57,7 @@ jobs: "plugins/source/k8s", "plugins/source/okta", "plugins/source/shopify", + "plugins/source/oracle", "plugins/source/slack", "plugins/source/salesforce", "plugins/source/snyk", diff --git a/plugins/source/oracle/.gitignore b/plugins/source/oracle/.gitignore new file mode 100644 index 00000000000000..ab29e641fe5493 --- /dev/null +++ b/plugins/source/oracle/.gitignore @@ -0,0 +1 @@ +oracle \ No newline at end of file diff --git a/plugins/source/oracle/Makefile b/plugins/source/oracle/Makefile new file mode 100644 index 00000000000000..df26e6a502be9f --- /dev/null +++ b/plugins/source/oracle/Makefile @@ -0,0 +1,22 @@ +# Test unit +.PHONY: test +test: + go test -timeout 3m ./... + +.PHONY: lint +lint: + golangci-lint run --config ../../.golangci.yml + +.PHONY: gen-code +gen-code: + go run codegen/*.go + +.PHONY: gen-docs +gen-docs: + rm -rf ./docs/tables/* + go run main.go doc ./docs/tables + sed 's_(\(.*\))_(https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/\1)_' docs/tables/README.md > ../../../website/pages/docs/plugins/sources/oracle/tables.md + +# All gen targets +.PHONY: gen +gen: gen-docs \ No newline at end of file diff --git a/plugins/source/oracle/README.md b/plugins/source/oracle/README.md new file mode 100644 index 00000000000000..f032be9c873d5d --- /dev/null +++ b/plugins/source/oracle/README.md @@ -0,0 +1,7 @@ +# Oracle Source Plugin + +The Oracle source plugin extracts information from the Oracle Cloud (`oci`) API. + +## Links + +- [User Guide](https://cloudquery.io/docs/plugins/sources/oracle/overview) \ No newline at end of file diff --git a/plugins/source/oracle/client/client.go b/plugins/source/oracle/client/client.go new file mode 100644 index 00000000000000..0bce33886769ef --- /dev/null +++ b/plugins/source/oracle/client/client.go @@ -0,0 +1,223 @@ +package client + +import ( + "context" + "fmt" + "strings" + + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/specs" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" + "github.com/oracle/oci-go-sdk/v65/objectstorage" + "github.com/rs/zerolog" +) + +type Client struct { + // A map of region->`OracleClients` struct. + // Every OracleClients struct contains all the clients we need for a single regionXcompartment + OracleClients map[string]*OracleClients + AllCompartmentOcids []string + + TenancyOcid string // Tenancy == RootCompartment + HomeRegion string + + ObjectStorageNamespace string // A global value, used for object-storage (i.e. buckets) + + // All availibility domains in the tenancy. + RegionAvaililbilityDomainMap map[string][]string + + // These are different per "cq-client", i.e. per multiplexed-cq-client. + // By default (if no multiplexer is defined), Region is set to the home region, and CompartmentOcid is set to the tenancy ocid. + Region string + CompartmentOcid string + AvailibilityDomain string // For fetches that are multiplexed by availibility domain (and not region) + + logger zerolog.Logger +} + +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source) (schema.ClientMeta, error) { + configProvider := common.DefaultConfigProvider() + + tenancyOcid, err := configProvider.TenancyOCID() + if err != nil { + return nil, err + } + + // The identity-client in the home region, that we use for initialization. + homeIdentityClient, err := identity.NewIdentityClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + + allCompartmentOcids, err := getAllCompartmentIdsInTenancy(ctx, homeIdentityClient, tenancyOcid) + if err != nil { + return nil, err + } + logger.Info().Int("num_compartments", len(allCompartmentOcids)).Msg("syncing from all compartments in tenancy") + + allRegions, homeRegion, err := getAllSubscribedRegions(ctx, homeIdentityClient, tenancyOcid) + if err != nil { + return nil, err + } + logger.Info().Int("num_regions", len(allRegions)).Msg("syncing from all subscribed regions") + + oracleClients, err := initOracleClientsInAllRegions(configProvider, allRegions) + if err != nil { + return nil, err + } + + objectStorageNamespace, err := getObjectStorageNamespace(ctx, oracleClients[homeRegion].ObjectstorageObjectstorageClient) + + if err != nil { + return nil, err + } + + regionAvailibilityDomainMap, err := getRegionAvailibilityDomainMap(ctx, oracleClients, tenancyOcid) + if err != nil { + return nil, err + } + + logger = logger.With().Str("region", homeRegion).Str("compartment_ocid", tenancyOcid).Logger() + + return &Client{ + OracleClients: oracleClients, + AllCompartmentOcids: allCompartmentOcids, + HomeRegion: homeRegion, + TenancyOcid: tenancyOcid, + RegionAvaililbilityDomainMap: regionAvailibilityDomainMap, + ObjectStorageNamespace: objectStorageNamespace, + Region: homeRegion, // Default value if no multiplexer is defined + CompartmentOcid: tenancyOcid, // Default value if no multiplexer is defined + logger: logger, + }, nil +} + +// cq-client id is comprised of region and compartment-ocid. +func (c *Client) ID() string { + return strings.Join([]string{c.Region, c.CompartmentOcid}, ":") +} + +func (c *Client) Logger() *zerolog.Logger { + return &c.logger +} + +func (c *Client) withRegion(region string) *Client { + newClient := *c + newClient.logger = c.logger.With().Str("region", region).Logger() + newClient.Region = region + return &newClient +} + +func (c *Client) withCompartment(compartmentOcid string) *Client { + newClient := *c + newClient.logger = c.logger.With().Str("compartment_ocid", compartmentOcid).Logger() + newClient.CompartmentOcid = compartmentOcid + return &newClient +} + +func (c *Client) withAvailibilityDomain(availabilityDomain string) *Client { + newClient := *c + newClient.logger = c.logger.With().Str("availability_domain", availabilityDomain).Logger() + newClient.AvailibilityDomain = availabilityDomain + return &newClient +} + +// Returns a list of all compartment-ids in a tenancy, recursively. (including the tenancy itself, which is the 'root compartment'). +func getAllCompartmentIdsInTenancy(ctx context.Context, client identity.IdentityClient, tenancyId string) ([]string, error) { + allCompartmentIds := []string{tenancyId} + + var page *string + for { + request := identity.ListCompartmentsRequest{ + CompartmentId: common.String(tenancyId), + CompartmentIdInSubtree: common.Bool(true), // recursively traverse the compartment hierarchy + LifecycleState: identity.CompartmentLifecycleStateActive, + Page: page, + } + + response, err := client.ListCompartments(ctx, request) + if err != nil { + return nil, fmt.Errorf("failed to list compartments in tenancy: %w", err) + } + + for i := range response.Items { + allCompartmentIds = append(allCompartmentIds, *response.Items[i].Id) + } + + page = response.OpcNextPage + if response.OpcNextPage == nil { + break + } + } + + return allCompartmentIds, nil +} + +// Returns a list of all subscribed regions in a tenancy. Also returns the name of the home-region. +func getAllSubscribedRegions(ctx context.Context, client identity.IdentityClient, tenancyOcid string) ([]string, string, error) { + request := identity.ListRegionSubscriptionsRequest{ + TenancyId: common.String(tenancyOcid), + } + + response, err := client.ListRegionSubscriptions(ctx, request) + if err != nil { + return nil, "", err + } + + regionNames := make([]string, 0) + var homeRegion string + + for _, region := range response.Items { + if region.Status != identity.RegionSubscriptionStatusReady { + continue + } + + regionNames = append(regionNames, *region.RegionName) + if *region.IsHomeRegion { + homeRegion = *region.RegionName + } + } + + if homeRegion == "" { + return nil, "", fmt.Errorf("no home region found") + } + + return regionNames, homeRegion, nil +} + +func getObjectStorageNamespace(ctx context.Context, client *objectstorage.ObjectStorageClient) (string, error) { + request := objectstorage.GetNamespaceRequest{} + + response, err := client.GetNamespace(ctx, request) + if err != nil { + return "", err + } + + return *response.Value, nil +} + +func getRegionAvailibilityDomainMap(ctx context.Context, oracleClients map[string]*OracleClients, tenancyOcid string) (map[string][]string, error) { + regionAvailibilityDomainMap := make(map[string][]string) + + for region, clients := range oracleClients { + request := identity.ListAvailabilityDomainsRequest{ + CompartmentId: common.String(tenancyOcid), + } + + response, err := clients.IdentityIdentityClient.ListAvailabilityDomains(ctx, request) + if err != nil { + return nil, err + } + + availabilityDomains := make([]string, 0) + + for _, domain := range response.Items { + availabilityDomains = append(availabilityDomains, *domain.Name) + } + + regionAvailibilityDomainMap[region] = availabilityDomains + } + + return regionAvailibilityDomainMap, nil +} diff --git a/plugins/source/oracle/client/multiplex.go b/plugins/source/oracle/client/multiplex.go new file mode 100644 index 00000000000000..2efc3e557fb625 --- /dev/null +++ b/plugins/source/oracle/client/multiplex.go @@ -0,0 +1,49 @@ +package client + +import "github.com/cloudquery/plugin-sdk/schema" + +func RegionCompartmentMultiplex(meta schema.ClientMeta) []schema.ClientMeta { + cqClient := meta.(*Client) + + multiplexedClients := make([]schema.ClientMeta, 0, len(cqClient.OracleClients)*len(cqClient.AllCompartmentOcids)) + + // The `OracleClients` map is keyed by region. + for region := range cqClient.OracleClients { + for _, compartmentOcid := range cqClient.AllCompartmentOcids { + multiplexedClients = append(multiplexedClients, cqClient.withRegion(region).withCompartment(compartmentOcid)) + } + } + + return multiplexedClients +} + +// Returns a new cq-client for the home-region and root-compartment. +// root-compartment - tenancy ocid. +func TenancyMultiplex(meta schema.ClientMeta) []schema.ClientMeta { + cqClient := meta.(*Client) + + multiplexedClient := cqClient.withRegion(cqClient.HomeRegion).withCompartment(cqClient.TenancyOcid) + + return []schema.ClientMeta{ + multiplexedClient, + } +} + +func AvailibilityDomainCompartmentMultiplex(meta schema.ClientMeta) []schema.ClientMeta { + cqClient := meta.(*Client) + + multiplexedClients := make([]schema.ClientMeta, 0) + + for region, availibilityDomains := range cqClient.RegionAvaililbilityDomainMap { + for _, availibilityDomain := range availibilityDomains { + for _, compartmentOcid := range cqClient.AllCompartmentOcids { + multiplexedClients = append(multiplexedClients, cqClient. + withRegion(region). + withCompartment(compartmentOcid). + withAvailibilityDomain(availibilityDomain)) + } + } + } + + return multiplexedClients +} diff --git a/plugins/source/oracle/client/oracle_clients.go b/plugins/source/oracle/client/oracle_clients.go new file mode 100644 index 00000000000000..36323221614598 --- /dev/null +++ b/plugins/source/oracle/client/oracle_clients.go @@ -0,0 +1,1570 @@ +// This is "almost-autogenerated" by a python script `generate_OracleClients.py` + +package client + +import ( + "github.com/oracle/oci-go-sdk/v65/adm" + "github.com/oracle/oci-go-sdk/v65/aianomalydetection" + "github.com/oracle/oci-go-sdk/v65/ailanguage" + "github.com/oracle/oci-go-sdk/v65/aispeech" + "github.com/oracle/oci-go-sdk/v65/aivision" + "github.com/oracle/oci-go-sdk/v65/analytics" + "github.com/oracle/oci-go-sdk/v65/announcementsservice" + "github.com/oracle/oci-go-sdk/v65/apigateway" + "github.com/oracle/oci-go-sdk/v65/apmconfig" + "github.com/oracle/oci-go-sdk/v65/apmcontrolplane" + "github.com/oracle/oci-go-sdk/v65/apmsynthetics" + "github.com/oracle/oci-go-sdk/v65/apmtraces" + "github.com/oracle/oci-go-sdk/v65/applicationmigration" + "github.com/oracle/oci-go-sdk/v65/appmgmtcontrol" + "github.com/oracle/oci-go-sdk/v65/artifacts" + "github.com/oracle/oci-go-sdk/v65/audit" + "github.com/oracle/oci-go-sdk/v65/autoscaling" + "github.com/oracle/oci-go-sdk/v65/bastion" + "github.com/oracle/oci-go-sdk/v65/bds" + "github.com/oracle/oci-go-sdk/v65/blockchain" + "github.com/oracle/oci-go-sdk/v65/budget" + "github.com/oracle/oci-go-sdk/v65/certificates" + "github.com/oracle/oci-go-sdk/v65/certificatesmanagement" + "github.com/oracle/oci-go-sdk/v65/cims" + "github.com/oracle/oci-go-sdk/v65/cloudbridge" + "github.com/oracle/oci-go-sdk/v65/cloudguard" + "github.com/oracle/oci-go-sdk/v65/cloudmigrations" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/computeinstanceagent" + "github.com/oracle/oci-go-sdk/v65/containerengine" + "github.com/oracle/oci-go-sdk/v65/containerinstances" + "github.com/oracle/oci-go-sdk/v65/core" + "github.com/oracle/oci-go-sdk/v65/dashboardservice" + "github.com/oracle/oci-go-sdk/v65/database" + "github.com/oracle/oci-go-sdk/v65/databasemanagement" + "github.com/oracle/oci-go-sdk/v65/databasemigration" + "github.com/oracle/oci-go-sdk/v65/databasetools" + "github.com/oracle/oci-go-sdk/v65/datacatalog" + "github.com/oracle/oci-go-sdk/v65/dataconnectivity" + "github.com/oracle/oci-go-sdk/v65/dataflow" + "github.com/oracle/oci-go-sdk/v65/dataintegration" + "github.com/oracle/oci-go-sdk/v65/datalabelingservice" + "github.com/oracle/oci-go-sdk/v65/datalabelingservicedataplane" + "github.com/oracle/oci-go-sdk/v65/datasafe" + "github.com/oracle/oci-go-sdk/v65/datascience" + "github.com/oracle/oci-go-sdk/v65/devops" + "github.com/oracle/oci-go-sdk/v65/disasterrecovery" + "github.com/oracle/oci-go-sdk/v65/dns" + "github.com/oracle/oci-go-sdk/v65/dts" + "github.com/oracle/oci-go-sdk/v65/email" + "github.com/oracle/oci-go-sdk/v65/emwarehouse" + "github.com/oracle/oci-go-sdk/v65/events" + "github.com/oracle/oci-go-sdk/v65/filestorage" + "github.com/oracle/oci-go-sdk/v65/functions" + "github.com/oracle/oci-go-sdk/v65/fusionapps" + "github.com/oracle/oci-go-sdk/v65/goldengate" + "github.com/oracle/oci-go-sdk/v65/governancerulescontrolplane" + "github.com/oracle/oci-go-sdk/v65/healthchecks" + "github.com/oracle/oci-go-sdk/v65/identity" + "github.com/oracle/oci-go-sdk/v65/integration" + "github.com/oracle/oci-go-sdk/v65/jms" + "github.com/oracle/oci-go-sdk/v65/keymanagement" + "github.com/oracle/oci-go-sdk/v65/licensemanager" + "github.com/oracle/oci-go-sdk/v65/limits" + "github.com/oracle/oci-go-sdk/v65/loadbalancer" + "github.com/oracle/oci-go-sdk/v65/lockbox" + "github.com/oracle/oci-go-sdk/v65/loganalytics" + "github.com/oracle/oci-go-sdk/v65/logging" + "github.com/oracle/oci-go-sdk/v65/managementagent" + "github.com/oracle/oci-go-sdk/v65/managementdashboard" + "github.com/oracle/oci-go-sdk/v65/marketplace" + "github.com/oracle/oci-go-sdk/v65/mediaservices" + "github.com/oracle/oci-go-sdk/v65/monitoring" + "github.com/oracle/oci-go-sdk/v65/mysql" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" + "github.com/oracle/oci-go-sdk/v65/networkloadbalancer" + "github.com/oracle/oci-go-sdk/v65/nosql" + "github.com/oracle/oci-go-sdk/v65/objectstorage" + "github.com/oracle/oci-go-sdk/v65/oce" + "github.com/oracle/oci-go-sdk/v65/ocvp" + "github.com/oracle/oci-go-sdk/v65/oda" + "github.com/oracle/oci-go-sdk/v65/onesubscription" + "github.com/oracle/oci-go-sdk/v65/ons" + "github.com/oracle/oci-go-sdk/v65/opa" + "github.com/oracle/oci-go-sdk/v65/opensearch" + "github.com/oracle/oci-go-sdk/v65/operatoraccesscontrol" + "github.com/oracle/oci-go-sdk/v65/opsi" + "github.com/oracle/oci-go-sdk/v65/optimizer" + "github.com/oracle/oci-go-sdk/v65/osmanagement" + "github.com/oracle/oci-go-sdk/v65/ospgateway" + "github.com/oracle/oci-go-sdk/v65/osubbillingschedule" + "github.com/oracle/oci-go-sdk/v65/osuborganizationsubscription" + "github.com/oracle/oci-go-sdk/v65/osubsubscription" + "github.com/oracle/oci-go-sdk/v65/osubusage" + "github.com/oracle/oci-go-sdk/v65/queue" + "github.com/oracle/oci-go-sdk/v65/resourcemanager" + "github.com/oracle/oci-go-sdk/v65/resourcesearch" + "github.com/oracle/oci-go-sdk/v65/rover" + "github.com/oracle/oci-go-sdk/v65/sch" + "github.com/oracle/oci-go-sdk/v65/secrets" + "github.com/oracle/oci-go-sdk/v65/servicecatalog" + "github.com/oracle/oci-go-sdk/v65/servicemanagerproxy" + "github.com/oracle/oci-go-sdk/v65/servicemesh" + "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + "github.com/oracle/oci-go-sdk/v65/streaming" + "github.com/oracle/oci-go-sdk/v65/tenantmanagercontrolplane" + "github.com/oracle/oci-go-sdk/v65/threatintelligence" + "github.com/oracle/oci-go-sdk/v65/usage" + "github.com/oracle/oci-go-sdk/v65/usageapi" + "github.com/oracle/oci-go-sdk/v65/vault" + "github.com/oracle/oci-go-sdk/v65/visualbuilder" + "github.com/oracle/oci-go-sdk/v65/vnmonitoring" + "github.com/oracle/oci-go-sdk/v65/vulnerabilityscanning" + "github.com/oracle/oci-go-sdk/v65/waa" + "github.com/oracle/oci-go-sdk/v65/waas" + "github.com/oracle/oci-go-sdk/v65/waf" + "github.com/oracle/oci-go-sdk/v65/workrequests" +) + +type OracleClients struct { + AdmApplicationdependencymanagementClient *adm.ApplicationDependencyManagementClient + AianomalydetectionAnomalydetectionClient *aianomalydetection.AnomalyDetectionClient + AilanguageAiservicelanguageClient *ailanguage.AIServiceLanguageClient + AispeechAiservicespeechClient *aispeech.AIServiceSpeechClient + AivisionAiservicevisionClient *aivision.AIServiceVisionClient + AnalyticsAnalyticsClient *analytics.AnalyticsClient + AnnouncementsserviceAnnouncementClient *announcementsservice.AnnouncementClient + AnnouncementsserviceAnnouncementspreferencesClient *announcementsservice.AnnouncementsPreferencesClient + AnnouncementsserviceAnnouncementsubscriptionClient *announcementsservice.AnnouncementSubscriptionClient + ApigatewayApigatewayClient *apigateway.ApiGatewayClient + ApigatewayDeploymentClient *apigateway.DeploymentClient + ApigatewayGatewayClient *apigateway.GatewayClient + ApigatewaySubscribersClient *apigateway.SubscribersClient + ApigatewayUsageplansClient *apigateway.UsagePlansClient + ApigatewayWorkrequestsClient *apigateway.WorkRequestsClient + ApmconfigConfigClient *apmconfig.ConfigClient + ApmcontrolplaneApmdomainClient *apmcontrolplane.ApmDomainClient + ApmsyntheticsApmsyntheticClient *apmsynthetics.ApmSyntheticClient + ApmtracesQueryClient *apmtraces.QueryClient + ApplicationmigrationApplicationmigrationClient *applicationmigration.ApplicationMigrationClient + AppmgmtcontrolAppmgmtcontrolClient *appmgmtcontrol.AppmgmtControlClient + ArtifactsArtifactsClient *artifacts.ArtifactsClient + AuditAuditClient *audit.AuditClient + AutoscalingAutoscalingClient *autoscaling.AutoScalingClient + BastionBastionClient *bastion.BastionClient + BdsBdsClient *bds.BdsClient + BlockchainBlockchainplatformClient *blockchain.BlockchainPlatformClient + BudgetBudgetClient *budget.BudgetClient + CertificatesCertificatesClient *certificates.CertificatesClient + CertificatesmanagementCertificatesmanagementClient *certificatesmanagement.CertificatesManagementClient + CimsIncidentClient *cims.IncidentClient + CloudbridgeCommonClient *cloudbridge.CommonClient + CloudbridgeDiscoveryClient *cloudbridge.DiscoveryClient + CloudbridgeInventoryClient *cloudbridge.InventoryClient + CloudbridgeOcbagentsvcClient *cloudbridge.OcbAgentSvcClient + CloudguardCloudguardClient *cloudguard.CloudGuardClient + CloudmigrationsMigrationClient *cloudmigrations.MigrationClient + ComputeinstanceagentComputeinstanceagentClient *computeinstanceagent.ComputeInstanceAgentClient + ComputeinstanceagentPluginClient *computeinstanceagent.PluginClient + ComputeinstanceagentPluginconfigClient *computeinstanceagent.PluginconfigClient + ContainerengineContainerengineClient *containerengine.ContainerEngineClient + ContainerinstancesContainerinstanceClient *containerinstances.ContainerInstanceClient + CoreBlockstorageClient *core.BlockstorageClient + CoreComputeClient *core.ComputeClient + CoreComputemanagementClient *core.ComputeManagementClient + CoreVirtualnetworkClient *core.VirtualNetworkClient + DashboardserviceDashboardClient *dashboardservice.DashboardClient + DashboardserviceDashboardgroupClient *dashboardservice.DashboardGroupClient + DatabaseDatabaseClient *database.DatabaseClient + DatabasemanagementDbmanagementClient *databasemanagement.DbManagementClient + DatabasemanagementDiagnosabilityClient *databasemanagement.DiagnosabilityClient + DatabasemanagementSqltuningClient *databasemanagement.SqlTuningClient + DatabasemigrationDatabasemigrationClient *databasemigration.DatabaseMigrationClient + DatabasetoolsDatabasetoolsClient *databasetools.DatabaseToolsClient + DatacatalogDatacatalogClient *datacatalog.DataCatalogClient + DataconnectivityDataconnectivitymanagementClient *dataconnectivity.DataConnectivityManagementClient + DataflowDataflowClient *dataflow.DataFlowClient + DataintegrationDataintegrationClient *dataintegration.DataIntegrationClient + DatalabelingserviceDatalabelingmanagementClient *datalabelingservice.DataLabelingManagementClient + DatalabelingservicedataplaneDatalabelingClient *datalabelingservicedataplane.DataLabelingClient + DatasafeDatasafeClient *datasafe.DataSafeClient + DatascienceDatascienceClient *datascience.DataScienceClient + DevopsDevopsClient *devops.DevopsClient + DisasterrecoveryDisasterrecoveryClient *disasterrecovery.DisasterRecoveryClient + DnsDnsClient *dns.DnsClient + DtsApplianceexportjobClient *dts.ApplianceExportJobClient + DtsShippingvendorsClient *dts.ShippingVendorsClient + DtsTransferapplianceClient *dts.TransferApplianceClient + DtsTransferapplianceentitlementClient *dts.TransferApplianceEntitlementClient + DtsTransferdeviceClient *dts.TransferDeviceClient + DtsTransferjobClient *dts.TransferJobClient + DtsTransferpackageClient *dts.TransferPackageClient + EmailEmailClient *email.EmailClient + EmwarehouseEmwarehouseClient *emwarehouse.EmWarehouseClient + EventsEventsClient *events.EventsClient + FilestorageFilestorageClient *filestorage.FileStorageClient + FunctionsFunctionsmanagementClient *functions.FunctionsManagementClient + FusionappsFusionapplicationsClient *fusionapps.FusionApplicationsClient + GoldengateGoldengateClient *goldengate.GoldenGateClient + GovernancerulescontrolplaneGovernanceruleClient *governancerulescontrolplane.GovernanceRuleClient + GovernancerulescontrolplaneWorkrequestClient *governancerulescontrolplane.WorkRequestClient + HealthchecksHealthchecksClient *healthchecks.HealthChecksClient + IdentityIdentityClient *identity.IdentityClient + IntegrationIntegrationinstanceClient *integration.IntegrationInstanceClient + JmsJavamanagementserviceClient *jms.JavaManagementServiceClient + KeymanagementKmsvaultClient *keymanagement.KmsVaultClient + LicensemanagerLicensemanagerClient *licensemanager.LicenseManagerClient + LimitsLimitsClient *limits.LimitsClient + LimitsQuotasClient *limits.QuotasClient + LoadbalancerLoadbalancerClient *loadbalancer.LoadBalancerClient + LockboxLockboxClient *lockbox.LockboxClient + LoganalyticsLoganalyticsClient *loganalytics.LogAnalyticsClient + LoggingLoggingmanagementClient *logging.LoggingManagementClient + ManagementagentManagementagentClient *managementagent.ManagementAgentClient + ManagementdashboardDashxapisClient *managementdashboard.DashxApisClient + MarketplaceMarketplaceClient *marketplace.MarketplaceClient + MediaservicesMediaservicesClient *mediaservices.MediaServicesClient + MonitoringMonitoringClient *monitoring.MonitoringClient + MysqlChannelsClient *mysql.ChannelsClient + MysqlDbbackupsClient *mysql.DbBackupsClient + MysqlDbsystemClient *mysql.DbSystemClient + MysqlMysqlaasClient *mysql.MysqlaasClient + MysqlReplicasClient *mysql.ReplicasClient + MysqlWorkrequestsClient *mysql.WorkRequestsClient + NetworkfirewallNetworkfirewallClient *networkfirewall.NetworkFirewallClient + NetworkloadbalancerNetworkloadbalancerClient *networkloadbalancer.NetworkLoadBalancerClient + NosqlNosqlClient *nosql.NosqlClient + ObjectstorageObjectstorageClient *objectstorage.ObjectStorageClient + OceOceinstanceClient *oce.OceInstanceClient + OcvpEsxihostClient *ocvp.EsxiHostClient + OcvpSddcClient *ocvp.SddcClient + OcvpWorkrequestClient *ocvp.WorkRequestClient + OdaManagementClient *oda.ManagementClient + OdaOdaClient *oda.OdaClient + OdaOdapackageClient *oda.OdapackageClient + OnesubscriptionBillingscheduleClient *onesubscription.BillingScheduleClient + OnesubscriptionCommitmentClient *onesubscription.CommitmentClient + OnesubscriptionComputedusageClient *onesubscription.ComputedUsageClient + OnesubscriptionInvoicesummaryClient *onesubscription.InvoiceSummaryClient + OnesubscriptionOrganizationsubscriptionClient *onesubscription.OrganizationSubscriptionClient + OnesubscriptionRatecardClient *onesubscription.RatecardClient + OnesubscriptionSubscribedserviceClient *onesubscription.SubscribedServiceClient + OnesubscriptionSubscriptionClient *onesubscription.SubscriptionClient + OnsNotificationcontrolplaneClient *ons.NotificationControlPlaneClient + OnsNotificationdataplaneClient *ons.NotificationDataPlaneClient + OpaOpainstanceClient *opa.OpaInstanceClient + OpensearchOpensearchclusterClient *opensearch.OpensearchClusterClient + OpensearchOpensearchclusterbackupClient *opensearch.OpensearchClusterBackupClient + OperatoraccesscontrolAccessrequestsClient *operatoraccesscontrol.AccessRequestsClient + OperatoraccesscontrolOperatoractionsClient *operatoraccesscontrol.OperatorActionsClient + OperatoraccesscontrolOperatorcontrolClient *operatoraccesscontrol.OperatorControlClient + OperatoraccesscontrolOperatorcontrolassignmentClient *operatoraccesscontrol.OperatorControlAssignmentClient + OpsiOperationsinsightsClient *opsi.OperationsInsightsClient + OptimizerOptimizerClient *optimizer.OptimizerClient + OsmanagementEventClient *osmanagement.EventClient + OsmanagementOsmanagementClient *osmanagement.OsManagementClient + OspgatewayInvoiceserviceClient *ospgateway.InvoiceServiceClient + OspgatewaySubscriptionserviceClient *ospgateway.SubscriptionServiceClient + OsubbillingscheduleBillingscheduleClient *osubbillingschedule.BillingScheduleClient + OsuborganizationsubscriptionOrganizationsubscriptionClient *osuborganizationsubscription.OrganizationSubscriptionClient + OsubsubscriptionCommitmentClient *osubsubscription.CommitmentClient + OsubsubscriptionRatecardClient *osubsubscription.RatecardClient + OsubsubscriptionSubscriptionClient *osubsubscription.SubscriptionClient + OsubusageComputedusageClient *osubusage.ComputedUsageClient + QueueQueueadminClient *queue.QueueAdminClient + ResourcemanagerResourcemanagerClient *resourcemanager.ResourceManagerClient + ResourcesearchResourcesearchClient *resourcesearch.ResourceSearchClient + RoverRoverclusterClient *rover.RoverClusterClient + RoverRoverentitlementClient *rover.RoverEntitlementClient + RoverRovernodeClient *rover.RoverNodeClient + RoverShapeClient *rover.ShapeClient + SchServiceconnectorClient *sch.ServiceConnectorClient + SecretsSecretsClient *secrets.SecretsClient + ServicecatalogServicecatalogClient *servicecatalog.ServiceCatalogClient + ServicemanagerproxyServicemanagerproxyClient *servicemanagerproxy.ServiceManagerProxyClient + ServicemeshServicemeshClient *servicemesh.ServiceMeshClient + StackmonitoringStackmonitoringClient *stackmonitoring.StackMonitoringClient + StreamingStreamadminClient *streaming.StreamAdminClient + TenantmanagercontrolplaneDomainClient *tenantmanagercontrolplane.DomainClient + TenantmanagercontrolplaneDomaingovernanceClient *tenantmanagercontrolplane.DomainGovernanceClient + TenantmanagercontrolplaneLinkClient *tenantmanagercontrolplane.LinkClient + TenantmanagercontrolplaneOrganizationClient *tenantmanagercontrolplane.OrganizationClient + TenantmanagercontrolplaneRecipientinvitationClient *tenantmanagercontrolplane.RecipientInvitationClient + TenantmanagercontrolplaneSenderinvitationClient *tenantmanagercontrolplane.SenderInvitationClient + TenantmanagercontrolplaneSubscriptionClient *tenantmanagercontrolplane.SubscriptionClient + TenantmanagercontrolplaneWorkrequestClient *tenantmanagercontrolplane.WorkRequestClient + ThreatintelligenceThreatintelClient *threatintelligence.ThreatintelClient + UsageRewardsClient *usage.RewardsClient + UsageapiUsageapiClient *usageapi.UsageapiClient + VaultVaultsClient *vault.VaultsClient + VisualbuilderVbinstanceClient *visualbuilder.VbInstanceClient + VnmonitoringVnmonitoringClient *vnmonitoring.VnMonitoringClient + VulnerabilityscanningVulnerabilityscanningClient *vulnerabilityscanning.VulnerabilityScanningClient + WaaWaaClient *waa.WaaClient + WaaWorkrequestClient *waa.WorkRequestClient + WaasRedirectClient *waas.RedirectClient + WaasWaasClient *waas.WaasClient + WafWafClient *waf.WafClient + WorkrequestsWorkrequestClient *workrequests.WorkRequestClient +} + +func initOracleClientsInAllRegions( + configProvider common.ConfigurationProvider, + allRegionOcids []string) (map[string]*OracleClients, error) { + oracleClients := make(map[string]*OracleClients) + + for _, regionOcid := range allRegionOcids { + oracleClients[regionOcid] = &OracleClients{} + + admApplicationDependencyManagementClient, err := adm.NewApplicationDependencyManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + admApplicationDependencyManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].AdmApplicationdependencymanagementClient = &admApplicationDependencyManagementClient + + aianomalydetectionAnomalyDetectionClient, err := aianomalydetection.NewAnomalyDetectionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + aianomalydetectionAnomalyDetectionClient.SetRegion(regionOcid) + oracleClients[regionOcid].AianomalydetectionAnomalydetectionClient = &aianomalydetectionAnomalyDetectionClient + + ailanguageAIServiceLanguageClient, err := ailanguage.NewAIServiceLanguageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ailanguageAIServiceLanguageClient.SetRegion(regionOcid) + oracleClients[regionOcid].AilanguageAiservicelanguageClient = &ailanguageAIServiceLanguageClient + + aispeechAIServiceSpeechClient, err := aispeech.NewAIServiceSpeechClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + aispeechAIServiceSpeechClient.SetRegion(regionOcid) + oracleClients[regionOcid].AispeechAiservicespeechClient = &aispeechAIServiceSpeechClient + + aivisionAIServiceVisionClient, err := aivision.NewAIServiceVisionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + aivisionAIServiceVisionClient.SetRegion(regionOcid) + oracleClients[regionOcid].AivisionAiservicevisionClient = &aivisionAIServiceVisionClient + + analyticsAnalyticsClient, err := analytics.NewAnalyticsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + analyticsAnalyticsClient.SetRegion(regionOcid) + oracleClients[regionOcid].AnalyticsAnalyticsClient = &analyticsAnalyticsClient + + announcementsserviceAnnouncementClient, err := announcementsservice.NewAnnouncementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + announcementsserviceAnnouncementClient.SetRegion(regionOcid) + oracleClients[regionOcid].AnnouncementsserviceAnnouncementClient = &announcementsserviceAnnouncementClient + + announcementsserviceAnnouncementSubscriptionClient, err := announcementsservice.NewAnnouncementSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + announcementsserviceAnnouncementSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].AnnouncementsserviceAnnouncementsubscriptionClient = &announcementsserviceAnnouncementSubscriptionClient + + announcementsserviceAnnouncementsPreferencesClient, err := announcementsservice.NewAnnouncementsPreferencesClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + announcementsserviceAnnouncementsPreferencesClient.SetRegion(regionOcid) + oracleClients[regionOcid].AnnouncementsserviceAnnouncementspreferencesClient = &announcementsserviceAnnouncementsPreferencesClient + + apigatewayApiGatewayClient, err := apigateway.NewApiGatewayClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewayApiGatewayClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewayApigatewayClient = &apigatewayApiGatewayClient + + apigatewayDeploymentClient, err := apigateway.NewDeploymentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewayDeploymentClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewayDeploymentClient = &apigatewayDeploymentClient + + apigatewayGatewayClient, err := apigateway.NewGatewayClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewayGatewayClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewayGatewayClient = &apigatewayGatewayClient + + apigatewaySubscribersClient, err := apigateway.NewSubscribersClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewaySubscribersClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewaySubscribersClient = &apigatewaySubscribersClient + + apigatewayUsagePlansClient, err := apigateway.NewUsagePlansClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewayUsagePlansClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewayUsageplansClient = &apigatewayUsagePlansClient + + apigatewayWorkRequestsClient, err := apigateway.NewWorkRequestsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apigatewayWorkRequestsClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApigatewayWorkrequestsClient = &apigatewayWorkRequestsClient + + apmconfigConfigClient, err := apmconfig.NewConfigClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apmconfigConfigClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApmconfigConfigClient = &apmconfigConfigClient + + apmcontrolplaneApmDomainClient, err := apmcontrolplane.NewApmDomainClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apmcontrolplaneApmDomainClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApmcontrolplaneApmdomainClient = &apmcontrolplaneApmDomainClient + + apmsyntheticsApmSyntheticClient, err := apmsynthetics.NewApmSyntheticClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apmsyntheticsApmSyntheticClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApmsyntheticsApmsyntheticClient = &apmsyntheticsApmSyntheticClient + + apmtracesQueryClient, err := apmtraces.NewQueryClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + apmtracesQueryClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApmtracesQueryClient = &apmtracesQueryClient + + applicationmigrationApplicationMigrationClient, err := applicationmigration.NewApplicationMigrationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + applicationmigrationApplicationMigrationClient.SetRegion(regionOcid) + oracleClients[regionOcid].ApplicationmigrationApplicationmigrationClient = &applicationmigrationApplicationMigrationClient + + appmgmtcontrolAppmgmtControlClient, err := appmgmtcontrol.NewAppmgmtControlClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + appmgmtcontrolAppmgmtControlClient.SetRegion(regionOcid) + oracleClients[regionOcid].AppmgmtcontrolAppmgmtcontrolClient = &appmgmtcontrolAppmgmtControlClient + + artifactsArtifactsClient, err := artifacts.NewArtifactsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + artifactsArtifactsClient.SetRegion(regionOcid) + oracleClients[regionOcid].ArtifactsArtifactsClient = &artifactsArtifactsClient + + auditAuditClient, err := audit.NewAuditClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + auditAuditClient.SetRegion(regionOcid) + oracleClients[regionOcid].AuditAuditClient = &auditAuditClient + + autoscalingAutoScalingClient, err := autoscaling.NewAutoScalingClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + autoscalingAutoScalingClient.SetRegion(regionOcid) + oracleClients[regionOcid].AutoscalingAutoscalingClient = &autoscalingAutoScalingClient + + bastionBastionClient, err := bastion.NewBastionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + bastionBastionClient.SetRegion(regionOcid) + oracleClients[regionOcid].BastionBastionClient = &bastionBastionClient + + bdsBdsClient, err := bds.NewBdsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + bdsBdsClient.SetRegion(regionOcid) + oracleClients[regionOcid].BdsBdsClient = &bdsBdsClient + + blockchainBlockchainPlatformClient, err := blockchain.NewBlockchainPlatformClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + blockchainBlockchainPlatformClient.SetRegion(regionOcid) + oracleClients[regionOcid].BlockchainBlockchainplatformClient = &blockchainBlockchainPlatformClient + + budgetBudgetClient, err := budget.NewBudgetClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + budgetBudgetClient.SetRegion(regionOcid) + oracleClients[regionOcid].BudgetBudgetClient = &budgetBudgetClient + + certificatesCertificatesClient, err := certificates.NewCertificatesClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + certificatesCertificatesClient.SetRegion(regionOcid) + oracleClients[regionOcid].CertificatesCertificatesClient = &certificatesCertificatesClient + + certificatesmanagementCertificatesManagementClient, err := certificatesmanagement.NewCertificatesManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + certificatesmanagementCertificatesManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].CertificatesmanagementCertificatesmanagementClient = &certificatesmanagementCertificatesManagementClient + + cimsIncidentClient, err := cims.NewIncidentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cimsIncidentClient.SetRegion(regionOcid) + oracleClients[regionOcid].CimsIncidentClient = &cimsIncidentClient + + cloudbridgeCommonClient, err := cloudbridge.NewCommonClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudbridgeCommonClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudbridgeCommonClient = &cloudbridgeCommonClient + + cloudbridgeDiscoveryClient, err := cloudbridge.NewDiscoveryClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudbridgeDiscoveryClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudbridgeDiscoveryClient = &cloudbridgeDiscoveryClient + + cloudbridgeInventoryClient, err := cloudbridge.NewInventoryClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudbridgeInventoryClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudbridgeInventoryClient = &cloudbridgeInventoryClient + + cloudbridgeOcbAgentSvcClient, err := cloudbridge.NewOcbAgentSvcClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudbridgeOcbAgentSvcClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudbridgeOcbagentsvcClient = &cloudbridgeOcbAgentSvcClient + + cloudguardCloudGuardClient, err := cloudguard.NewCloudGuardClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudguardCloudGuardClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudguardCloudguardClient = &cloudguardCloudGuardClient + + cloudmigrationsMigrationClient, err := cloudmigrations.NewMigrationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + cloudmigrationsMigrationClient.SetRegion(regionOcid) + oracleClients[regionOcid].CloudmigrationsMigrationClient = &cloudmigrationsMigrationClient + + computeinstanceagentComputeInstanceAgentClient, err := computeinstanceagent.NewComputeInstanceAgentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + computeinstanceagentComputeInstanceAgentClient.SetRegion(regionOcid) + oracleClients[regionOcid].ComputeinstanceagentComputeinstanceagentClient = &computeinstanceagentComputeInstanceAgentClient + + computeinstanceagentPluginClient, err := computeinstanceagent.NewPluginClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + computeinstanceagentPluginClient.SetRegion(regionOcid) + oracleClients[regionOcid].ComputeinstanceagentPluginClient = &computeinstanceagentPluginClient + + computeinstanceagentPluginconfigClient, err := computeinstanceagent.NewPluginconfigClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + computeinstanceagentPluginconfigClient.SetRegion(regionOcid) + oracleClients[regionOcid].ComputeinstanceagentPluginconfigClient = &computeinstanceagentPluginconfigClient + + containerengineContainerEngineClient, err := containerengine.NewContainerEngineClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + containerengineContainerEngineClient.SetRegion(regionOcid) + oracleClients[regionOcid].ContainerengineContainerengineClient = &containerengineContainerEngineClient + + containerinstancesContainerInstanceClient, err := containerinstances.NewContainerInstanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + containerinstancesContainerInstanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].ContainerinstancesContainerinstanceClient = &containerinstancesContainerInstanceClient + + coreBlockstorageClient, err := core.NewBlockstorageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + coreBlockstorageClient.SetRegion(regionOcid) + oracleClients[regionOcid].CoreBlockstorageClient = &coreBlockstorageClient + + coreComputeClient, err := core.NewComputeClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + coreComputeClient.SetRegion(regionOcid) + oracleClients[regionOcid].CoreComputeClient = &coreComputeClient + + coreComputeManagementClient, err := core.NewComputeManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + coreComputeManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].CoreComputemanagementClient = &coreComputeManagementClient + + coreVirtualNetworkClient, err := core.NewVirtualNetworkClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + coreVirtualNetworkClient.SetRegion(regionOcid) + oracleClients[regionOcid].CoreVirtualnetworkClient = &coreVirtualNetworkClient + + dashboardserviceDashboardClient, err := dashboardservice.NewDashboardClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dashboardserviceDashboardClient.SetRegion(regionOcid) + oracleClients[regionOcid].DashboardserviceDashboardClient = &dashboardserviceDashboardClient + + dashboardserviceDashboardGroupClient, err := dashboardservice.NewDashboardGroupClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dashboardserviceDashboardGroupClient.SetRegion(regionOcid) + oracleClients[regionOcid].DashboardserviceDashboardgroupClient = &dashboardserviceDashboardGroupClient + + databaseDatabaseClient, err := database.NewDatabaseClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databaseDatabaseClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabaseDatabaseClient = &databaseDatabaseClient + + databasemanagementDbManagementClient, err := databasemanagement.NewDbManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databasemanagementDbManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabasemanagementDbmanagementClient = &databasemanagementDbManagementClient + + databasemanagementDiagnosabilityClient, err := databasemanagement.NewDiagnosabilityClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databasemanagementDiagnosabilityClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabasemanagementDiagnosabilityClient = &databasemanagementDiagnosabilityClient + + databasemanagementSqlTuningClient, err := databasemanagement.NewSqlTuningClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databasemanagementSqlTuningClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabasemanagementSqltuningClient = &databasemanagementSqlTuningClient + + databasemigrationDatabaseMigrationClient, err := databasemigration.NewDatabaseMigrationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databasemigrationDatabaseMigrationClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabasemigrationDatabasemigrationClient = &databasemigrationDatabaseMigrationClient + + databasetoolsDatabaseToolsClient, err := databasetools.NewDatabaseToolsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + databasetoolsDatabaseToolsClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatabasetoolsDatabasetoolsClient = &databasetoolsDatabaseToolsClient + + datacatalogDataCatalogClient, err := datacatalog.NewDataCatalogClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + datacatalogDataCatalogClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatacatalogDatacatalogClient = &datacatalogDataCatalogClient + + dataconnectivityDataConnectivityManagementClient, err := dataconnectivity.NewDataConnectivityManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dataconnectivityDataConnectivityManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].DataconnectivityDataconnectivitymanagementClient = &dataconnectivityDataConnectivityManagementClient + + dataflowDataFlowClient, err := dataflow.NewDataFlowClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dataflowDataFlowClient.SetRegion(regionOcid) + oracleClients[regionOcid].DataflowDataflowClient = &dataflowDataFlowClient + + dataintegrationDataIntegrationClient, err := dataintegration.NewDataIntegrationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dataintegrationDataIntegrationClient.SetRegion(regionOcid) + oracleClients[regionOcid].DataintegrationDataintegrationClient = &dataintegrationDataIntegrationClient + + datalabelingserviceDataLabelingManagementClient, err := datalabelingservice.NewDataLabelingManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + datalabelingserviceDataLabelingManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatalabelingserviceDatalabelingmanagementClient = &datalabelingserviceDataLabelingManagementClient + + datalabelingservicedataplaneDataLabelingClient, err := datalabelingservicedataplane.NewDataLabelingClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + datalabelingservicedataplaneDataLabelingClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatalabelingservicedataplaneDatalabelingClient = &datalabelingservicedataplaneDataLabelingClient + + datasafeDataSafeClient, err := datasafe.NewDataSafeClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + datasafeDataSafeClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatasafeDatasafeClient = &datasafeDataSafeClient + + datascienceDataScienceClient, err := datascience.NewDataScienceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + datascienceDataScienceClient.SetRegion(regionOcid) + oracleClients[regionOcid].DatascienceDatascienceClient = &datascienceDataScienceClient + + devopsDevopsClient, err := devops.NewDevopsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + devopsDevopsClient.SetRegion(regionOcid) + oracleClients[regionOcid].DevopsDevopsClient = &devopsDevopsClient + + disasterrecoveryDisasterRecoveryClient, err := disasterrecovery.NewDisasterRecoveryClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + disasterrecoveryDisasterRecoveryClient.SetRegion(regionOcid) + oracleClients[regionOcid].DisasterrecoveryDisasterrecoveryClient = &disasterrecoveryDisasterRecoveryClient + + dnsDnsClient, err := dns.NewDnsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dnsDnsClient.SetRegion(regionOcid) + oracleClients[regionOcid].DnsDnsClient = &dnsDnsClient + + dtsApplianceExportJobClient, err := dts.NewApplianceExportJobClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsApplianceExportJobClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsApplianceexportjobClient = &dtsApplianceExportJobClient + + dtsShippingVendorsClient, err := dts.NewShippingVendorsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsShippingVendorsClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsShippingvendorsClient = &dtsShippingVendorsClient + + dtsTransferApplianceClient, err := dts.NewTransferApplianceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsTransferApplianceClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsTransferapplianceClient = &dtsTransferApplianceClient + + dtsTransferApplianceEntitlementClient, err := dts.NewTransferApplianceEntitlementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsTransferApplianceEntitlementClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsTransferapplianceentitlementClient = &dtsTransferApplianceEntitlementClient + + dtsTransferDeviceClient, err := dts.NewTransferDeviceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsTransferDeviceClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsTransferdeviceClient = &dtsTransferDeviceClient + + dtsTransferJobClient, err := dts.NewTransferJobClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsTransferJobClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsTransferjobClient = &dtsTransferJobClient + + dtsTransferPackageClient, err := dts.NewTransferPackageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + dtsTransferPackageClient.SetRegion(regionOcid) + oracleClients[regionOcid].DtsTransferpackageClient = &dtsTransferPackageClient + + emailEmailClient, err := email.NewEmailClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + emailEmailClient.SetRegion(regionOcid) + oracleClients[regionOcid].EmailEmailClient = &emailEmailClient + + emwarehouseEmWarehouseClient, err := emwarehouse.NewEmWarehouseClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + emwarehouseEmWarehouseClient.SetRegion(regionOcid) + oracleClients[regionOcid].EmwarehouseEmwarehouseClient = &emwarehouseEmWarehouseClient + + eventsEventsClient, err := events.NewEventsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + eventsEventsClient.SetRegion(regionOcid) + oracleClients[regionOcid].EventsEventsClient = &eventsEventsClient + + filestorageFileStorageClient, err := filestorage.NewFileStorageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + filestorageFileStorageClient.SetRegion(regionOcid) + oracleClients[regionOcid].FilestorageFilestorageClient = &filestorageFileStorageClient + + functionsFunctionsManagementClient, err := functions.NewFunctionsManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + functionsFunctionsManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].FunctionsFunctionsmanagementClient = &functionsFunctionsManagementClient + + fusionappsFusionApplicationsClient, err := fusionapps.NewFusionApplicationsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + fusionappsFusionApplicationsClient.SetRegion(regionOcid) + oracleClients[regionOcid].FusionappsFusionapplicationsClient = &fusionappsFusionApplicationsClient + + goldengateGoldenGateClient, err := goldengate.NewGoldenGateClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + goldengateGoldenGateClient.SetRegion(regionOcid) + oracleClients[regionOcid].GoldengateGoldengateClient = &goldengateGoldenGateClient + + governancerulescontrolplaneGovernanceRuleClient, err := governancerulescontrolplane.NewGovernanceRuleClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + governancerulescontrolplaneGovernanceRuleClient.SetRegion(regionOcid) + oracleClients[regionOcid].GovernancerulescontrolplaneGovernanceruleClient = &governancerulescontrolplaneGovernanceRuleClient + + governancerulescontrolplaneWorkRequestClient, err := governancerulescontrolplane.NewWorkRequestClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + governancerulescontrolplaneWorkRequestClient.SetRegion(regionOcid) + oracleClients[regionOcid].GovernancerulescontrolplaneWorkrequestClient = &governancerulescontrolplaneWorkRequestClient + + healthchecksHealthChecksClient, err := healthchecks.NewHealthChecksClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + healthchecksHealthChecksClient.SetRegion(regionOcid) + oracleClients[regionOcid].HealthchecksHealthchecksClient = &healthchecksHealthChecksClient + + identityIdentityClient, err := identity.NewIdentityClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + identityIdentityClient.SetRegion(regionOcid) + oracleClients[regionOcid].IdentityIdentityClient = &identityIdentityClient + + integrationIntegrationInstanceClient, err := integration.NewIntegrationInstanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + integrationIntegrationInstanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].IntegrationIntegrationinstanceClient = &integrationIntegrationInstanceClient + + jmsJavaManagementServiceClient, err := jms.NewJavaManagementServiceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + jmsJavaManagementServiceClient.SetRegion(regionOcid) + oracleClients[regionOcid].JmsJavamanagementserviceClient = &jmsJavaManagementServiceClient + + keymanagementKmsVaultClient, err := keymanagement.NewKmsVaultClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + keymanagementKmsVaultClient.SetRegion(regionOcid) + oracleClients[regionOcid].KeymanagementKmsvaultClient = &keymanagementKmsVaultClient + + licensemanagerLicenseManagerClient, err := licensemanager.NewLicenseManagerClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + licensemanagerLicenseManagerClient.SetRegion(regionOcid) + oracleClients[regionOcid].LicensemanagerLicensemanagerClient = &licensemanagerLicenseManagerClient + + limitsLimitsClient, err := limits.NewLimitsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + limitsLimitsClient.SetRegion(regionOcid) + oracleClients[regionOcid].LimitsLimitsClient = &limitsLimitsClient + + limitsQuotasClient, err := limits.NewQuotasClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + limitsQuotasClient.SetRegion(regionOcid) + oracleClients[regionOcid].LimitsQuotasClient = &limitsQuotasClient + + loadbalancerLoadBalancerClient, err := loadbalancer.NewLoadBalancerClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + loadbalancerLoadBalancerClient.SetRegion(regionOcid) + oracleClients[regionOcid].LoadbalancerLoadbalancerClient = &loadbalancerLoadBalancerClient + + lockboxLockboxClient, err := lockbox.NewLockboxClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + lockboxLockboxClient.SetRegion(regionOcid) + oracleClients[regionOcid].LockboxLockboxClient = &lockboxLockboxClient + + loganalyticsLogAnalyticsClient, err := loganalytics.NewLogAnalyticsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + loganalyticsLogAnalyticsClient.SetRegion(regionOcid) + oracleClients[regionOcid].LoganalyticsLoganalyticsClient = &loganalyticsLogAnalyticsClient + + loggingLoggingManagementClient, err := logging.NewLoggingManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + loggingLoggingManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].LoggingLoggingmanagementClient = &loggingLoggingManagementClient + + managementagentManagementAgentClient, err := managementagent.NewManagementAgentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + managementagentManagementAgentClient.SetRegion(regionOcid) + oracleClients[regionOcid].ManagementagentManagementagentClient = &managementagentManagementAgentClient + + managementdashboardDashxApisClient, err := managementdashboard.NewDashxApisClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + managementdashboardDashxApisClient.SetRegion(regionOcid) + oracleClients[regionOcid].ManagementdashboardDashxapisClient = &managementdashboardDashxApisClient + + marketplaceMarketplaceClient, err := marketplace.NewMarketplaceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + marketplaceMarketplaceClient.SetRegion(regionOcid) + oracleClients[regionOcid].MarketplaceMarketplaceClient = &marketplaceMarketplaceClient + + mediaservicesMediaServicesClient, err := mediaservices.NewMediaServicesClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mediaservicesMediaServicesClient.SetRegion(regionOcid) + oracleClients[regionOcid].MediaservicesMediaservicesClient = &mediaservicesMediaServicesClient + + monitoringMonitoringClient, err := monitoring.NewMonitoringClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + monitoringMonitoringClient.SetRegion(regionOcid) + oracleClients[regionOcid].MonitoringMonitoringClient = &monitoringMonitoringClient + + mysqlChannelsClient, err := mysql.NewChannelsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlChannelsClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlChannelsClient = &mysqlChannelsClient + + mysqlDbBackupsClient, err := mysql.NewDbBackupsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlDbBackupsClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlDbbackupsClient = &mysqlDbBackupsClient + + mysqlDbSystemClient, err := mysql.NewDbSystemClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlDbSystemClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlDbsystemClient = &mysqlDbSystemClient + + mysqlMysqlaasClient, err := mysql.NewMysqlaasClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlMysqlaasClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlMysqlaasClient = &mysqlMysqlaasClient + + mysqlReplicasClient, err := mysql.NewReplicasClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlReplicasClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlReplicasClient = &mysqlReplicasClient + + mysqlWorkRequestsClient, err := mysql.NewWorkRequestsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + mysqlWorkRequestsClient.SetRegion(regionOcid) + oracleClients[regionOcid].MysqlWorkrequestsClient = &mysqlWorkRequestsClient + + networkfirewallNetworkFirewallClient, err := networkfirewall.NewNetworkFirewallClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + networkfirewallNetworkFirewallClient.SetRegion(regionOcid) + oracleClients[regionOcid].NetworkfirewallNetworkfirewallClient = &networkfirewallNetworkFirewallClient + + networkloadbalancerNetworkLoadBalancerClient, err := networkloadbalancer.NewNetworkLoadBalancerClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + networkloadbalancerNetworkLoadBalancerClient.SetRegion(regionOcid) + oracleClients[regionOcid].NetworkloadbalancerNetworkloadbalancerClient = &networkloadbalancerNetworkLoadBalancerClient + + nosqlNosqlClient, err := nosql.NewNosqlClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + nosqlNosqlClient.SetRegion(regionOcid) + oracleClients[regionOcid].NosqlNosqlClient = &nosqlNosqlClient + + objectstorageObjectStorageClient, err := objectstorage.NewObjectStorageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + objectstorageObjectStorageClient.SetRegion(regionOcid) + oracleClients[regionOcid].ObjectstorageObjectstorageClient = &objectstorageObjectStorageClient + + oceOceInstanceClient, err := oce.NewOceInstanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + oceOceInstanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].OceOceinstanceClient = &oceOceInstanceClient + + ocvpEsxiHostClient, err := ocvp.NewEsxiHostClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ocvpEsxiHostClient.SetRegion(regionOcid) + oracleClients[regionOcid].OcvpEsxihostClient = &ocvpEsxiHostClient + + ocvpSddcClient, err := ocvp.NewSddcClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ocvpSddcClient.SetRegion(regionOcid) + oracleClients[regionOcid].OcvpSddcClient = &ocvpSddcClient + + ocvpWorkRequestClient, err := ocvp.NewWorkRequestClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ocvpWorkRequestClient.SetRegion(regionOcid) + oracleClients[regionOcid].OcvpWorkrequestClient = &ocvpWorkRequestClient + + odaManagementClient, err := oda.NewManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + odaManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].OdaManagementClient = &odaManagementClient + + odaOdaClient, err := oda.NewOdaClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + odaOdaClient.SetRegion(regionOcid) + oracleClients[regionOcid].OdaOdaClient = &odaOdaClient + + odaOdapackageClient, err := oda.NewOdapackageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + odaOdapackageClient.SetRegion(regionOcid) + oracleClients[regionOcid].OdaOdapackageClient = &odaOdapackageClient + + onesubscriptionBillingScheduleClient, err := onesubscription.NewBillingScheduleClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionBillingScheduleClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionBillingscheduleClient = &onesubscriptionBillingScheduleClient + + onesubscriptionCommitmentClient, err := onesubscription.NewCommitmentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionCommitmentClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionCommitmentClient = &onesubscriptionCommitmentClient + + onesubscriptionComputedUsageClient, err := onesubscription.NewComputedUsageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionComputedUsageClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionComputedusageClient = &onesubscriptionComputedUsageClient + + onesubscriptionInvoiceSummaryClient, err := onesubscription.NewInvoiceSummaryClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionInvoiceSummaryClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionInvoicesummaryClient = &onesubscriptionInvoiceSummaryClient + + onesubscriptionOrganizationSubscriptionClient, err := onesubscription.NewOrganizationSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionOrganizationSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionOrganizationsubscriptionClient = &onesubscriptionOrganizationSubscriptionClient + + onesubscriptionRatecardClient, err := onesubscription.NewRatecardClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionRatecardClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionRatecardClient = &onesubscriptionRatecardClient + + onesubscriptionSubscribedServiceClient, err := onesubscription.NewSubscribedServiceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionSubscribedServiceClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionSubscribedserviceClient = &onesubscriptionSubscribedServiceClient + + onesubscriptionSubscriptionClient, err := onesubscription.NewSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onesubscriptionSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnesubscriptionSubscriptionClient = &onesubscriptionSubscriptionClient + + onsNotificationControlPlaneClient, err := ons.NewNotificationControlPlaneClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onsNotificationControlPlaneClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnsNotificationcontrolplaneClient = &onsNotificationControlPlaneClient + + onsNotificationDataPlaneClient, err := ons.NewNotificationDataPlaneClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + onsNotificationDataPlaneClient.SetRegion(regionOcid) + oracleClients[regionOcid].OnsNotificationdataplaneClient = &onsNotificationDataPlaneClient + + opaOpaInstanceClient, err := opa.NewOpaInstanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + opaOpaInstanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].OpaOpainstanceClient = &opaOpaInstanceClient + + opensearchOpensearchClusterBackupClient, err := opensearch.NewOpensearchClusterBackupClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + opensearchOpensearchClusterBackupClient.SetRegion(regionOcid) + oracleClients[regionOcid].OpensearchOpensearchclusterbackupClient = &opensearchOpensearchClusterBackupClient + + opensearchOpensearchClusterClient, err := opensearch.NewOpensearchClusterClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + opensearchOpensearchClusterClient.SetRegion(regionOcid) + oracleClients[regionOcid].OpensearchOpensearchclusterClient = &opensearchOpensearchClusterClient + + operatoraccesscontrolAccessRequestsClient, err := operatoraccesscontrol.NewAccessRequestsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + operatoraccesscontrolAccessRequestsClient.SetRegion(regionOcid) + oracleClients[regionOcid].OperatoraccesscontrolAccessrequestsClient = &operatoraccesscontrolAccessRequestsClient + + operatoraccesscontrolOperatorActionsClient, err := operatoraccesscontrol.NewOperatorActionsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + operatoraccesscontrolOperatorActionsClient.SetRegion(regionOcid) + oracleClients[regionOcid].OperatoraccesscontrolOperatoractionsClient = &operatoraccesscontrolOperatorActionsClient + + operatoraccesscontrolOperatorControlAssignmentClient, err := operatoraccesscontrol.NewOperatorControlAssignmentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + operatoraccesscontrolOperatorControlAssignmentClient.SetRegion(regionOcid) + oracleClients[regionOcid].OperatoraccesscontrolOperatorcontrolassignmentClient = &operatoraccesscontrolOperatorControlAssignmentClient + + operatoraccesscontrolOperatorControlClient, err := operatoraccesscontrol.NewOperatorControlClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + operatoraccesscontrolOperatorControlClient.SetRegion(regionOcid) + oracleClients[regionOcid].OperatoraccesscontrolOperatorcontrolClient = &operatoraccesscontrolOperatorControlClient + + opsiOperationsInsightsClient, err := opsi.NewOperationsInsightsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + opsiOperationsInsightsClient.SetRegion(regionOcid) + oracleClients[regionOcid].OpsiOperationsinsightsClient = &opsiOperationsInsightsClient + + optimizerOptimizerClient, err := optimizer.NewOptimizerClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + optimizerOptimizerClient.SetRegion(regionOcid) + oracleClients[regionOcid].OptimizerOptimizerClient = &optimizerOptimizerClient + + osmanagementEventClient, err := osmanagement.NewEventClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osmanagementEventClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsmanagementEventClient = &osmanagementEventClient + + osmanagementOsManagementClient, err := osmanagement.NewOsManagementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osmanagementOsManagementClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsmanagementOsmanagementClient = &osmanagementOsManagementClient + + ospgatewayInvoiceServiceClient, err := ospgateway.NewInvoiceServiceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ospgatewayInvoiceServiceClient.SetRegion(regionOcid) + oracleClients[regionOcid].OspgatewayInvoiceserviceClient = &ospgatewayInvoiceServiceClient + + ospgatewaySubscriptionServiceClient, err := ospgateway.NewSubscriptionServiceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + ospgatewaySubscriptionServiceClient.SetRegion(regionOcid) + oracleClients[regionOcid].OspgatewaySubscriptionserviceClient = &ospgatewaySubscriptionServiceClient + + osubbillingscheduleBillingScheduleClient, err := osubbillingschedule.NewBillingScheduleClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osubbillingscheduleBillingScheduleClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsubbillingscheduleBillingscheduleClient = &osubbillingscheduleBillingScheduleClient + + osuborganizationsubscriptionOrganizationSubscriptionClient, err := osuborganizationsubscription.NewOrganizationSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osuborganizationsubscriptionOrganizationSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsuborganizationsubscriptionOrganizationsubscriptionClient = &osuborganizationsubscriptionOrganizationSubscriptionClient + + osubsubscriptionCommitmentClient, err := osubsubscription.NewCommitmentClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osubsubscriptionCommitmentClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsubsubscriptionCommitmentClient = &osubsubscriptionCommitmentClient + + osubsubscriptionRatecardClient, err := osubsubscription.NewRatecardClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osubsubscriptionRatecardClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsubsubscriptionRatecardClient = &osubsubscriptionRatecardClient + + osubsubscriptionSubscriptionClient, err := osubsubscription.NewSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osubsubscriptionSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsubsubscriptionSubscriptionClient = &osubsubscriptionSubscriptionClient + + osubusageComputedUsageClient, err := osubusage.NewComputedUsageClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + osubusageComputedUsageClient.SetRegion(regionOcid) + oracleClients[regionOcid].OsubusageComputedusageClient = &osubusageComputedUsageClient + + queueQueueAdminClient, err := queue.NewQueueAdminClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + queueQueueAdminClient.SetRegion(regionOcid) + oracleClients[regionOcid].QueueQueueadminClient = &queueQueueAdminClient + + resourcemanagerResourceManagerClient, err := resourcemanager.NewResourceManagerClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + resourcemanagerResourceManagerClient.SetRegion(regionOcid) + oracleClients[regionOcid].ResourcemanagerResourcemanagerClient = &resourcemanagerResourceManagerClient + + resourcesearchResourceSearchClient, err := resourcesearch.NewResourceSearchClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + resourcesearchResourceSearchClient.SetRegion(regionOcid) + oracleClients[regionOcid].ResourcesearchResourcesearchClient = &resourcesearchResourceSearchClient + + roverRoverClusterClient, err := rover.NewRoverClusterClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + roverRoverClusterClient.SetRegion(regionOcid) + oracleClients[regionOcid].RoverRoverclusterClient = &roverRoverClusterClient + + roverRoverEntitlementClient, err := rover.NewRoverEntitlementClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + roverRoverEntitlementClient.SetRegion(regionOcid) + oracleClients[regionOcid].RoverRoverentitlementClient = &roverRoverEntitlementClient + + roverRoverNodeClient, err := rover.NewRoverNodeClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + roverRoverNodeClient.SetRegion(regionOcid) + oracleClients[regionOcid].RoverRovernodeClient = &roverRoverNodeClient + + roverShapeClient, err := rover.NewShapeClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + roverShapeClient.SetRegion(regionOcid) + oracleClients[regionOcid].RoverShapeClient = &roverShapeClient + + schServiceConnectorClient, err := sch.NewServiceConnectorClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + schServiceConnectorClient.SetRegion(regionOcid) + oracleClients[regionOcid].SchServiceconnectorClient = &schServiceConnectorClient + + secretsSecretsClient, err := secrets.NewSecretsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + secretsSecretsClient.SetRegion(regionOcid) + oracleClients[regionOcid].SecretsSecretsClient = &secretsSecretsClient + + servicecatalogServiceCatalogClient, err := servicecatalog.NewServiceCatalogClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + servicecatalogServiceCatalogClient.SetRegion(regionOcid) + oracleClients[regionOcid].ServicecatalogServicecatalogClient = &servicecatalogServiceCatalogClient + + servicemanagerproxyServiceManagerProxyClient, err := servicemanagerproxy.NewServiceManagerProxyClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + servicemanagerproxyServiceManagerProxyClient.SetRegion(regionOcid) + oracleClients[regionOcid].ServicemanagerproxyServicemanagerproxyClient = &servicemanagerproxyServiceManagerProxyClient + + servicemeshServiceMeshClient, err := servicemesh.NewServiceMeshClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + servicemeshServiceMeshClient.SetRegion(regionOcid) + oracleClients[regionOcid].ServicemeshServicemeshClient = &servicemeshServiceMeshClient + + stackmonitoringStackMonitoringClient, err := stackmonitoring.NewStackMonitoringClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + stackmonitoringStackMonitoringClient.SetRegion(regionOcid) + oracleClients[regionOcid].StackmonitoringStackmonitoringClient = &stackmonitoringStackMonitoringClient + + streamingStreamAdminClient, err := streaming.NewStreamAdminClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + streamingStreamAdminClient.SetRegion(regionOcid) + oracleClients[regionOcid].StreamingStreamadminClient = &streamingStreamAdminClient + + tenantmanagercontrolplaneDomainClient, err := tenantmanagercontrolplane.NewDomainClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneDomainClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneDomainClient = &tenantmanagercontrolplaneDomainClient + + tenantmanagercontrolplaneDomainGovernanceClient, err := tenantmanagercontrolplane.NewDomainGovernanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneDomainGovernanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneDomaingovernanceClient = &tenantmanagercontrolplaneDomainGovernanceClient + + tenantmanagercontrolplaneLinkClient, err := tenantmanagercontrolplane.NewLinkClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneLinkClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneLinkClient = &tenantmanagercontrolplaneLinkClient + + tenantmanagercontrolplaneOrganizationClient, err := tenantmanagercontrolplane.NewOrganizationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneOrganizationClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneOrganizationClient = &tenantmanagercontrolplaneOrganizationClient + + tenantmanagercontrolplaneRecipientInvitationClient, err := tenantmanagercontrolplane.NewRecipientInvitationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneRecipientInvitationClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneRecipientinvitationClient = &tenantmanagercontrolplaneRecipientInvitationClient + + tenantmanagercontrolplaneSenderInvitationClient, err := tenantmanagercontrolplane.NewSenderInvitationClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneSenderInvitationClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneSenderinvitationClient = &tenantmanagercontrolplaneSenderInvitationClient + + tenantmanagercontrolplaneSubscriptionClient, err := tenantmanagercontrolplane.NewSubscriptionClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneSubscriptionClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneSubscriptionClient = &tenantmanagercontrolplaneSubscriptionClient + + tenantmanagercontrolplaneWorkRequestClient, err := tenantmanagercontrolplane.NewWorkRequestClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + tenantmanagercontrolplaneWorkRequestClient.SetRegion(regionOcid) + oracleClients[regionOcid].TenantmanagercontrolplaneWorkrequestClient = &tenantmanagercontrolplaneWorkRequestClient + + threatintelligenceThreatintelClient, err := threatintelligence.NewThreatintelClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + threatintelligenceThreatintelClient.SetRegion(regionOcid) + oracleClients[regionOcid].ThreatintelligenceThreatintelClient = &threatintelligenceThreatintelClient + + usageRewardsClient, err := usage.NewRewardsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + usageRewardsClient.SetRegion(regionOcid) + oracleClients[regionOcid].UsageRewardsClient = &usageRewardsClient + + usageapiUsageapiClient, err := usageapi.NewUsageapiClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + usageapiUsageapiClient.SetRegion(regionOcid) + oracleClients[regionOcid].UsageapiUsageapiClient = &usageapiUsageapiClient + + vaultVaultsClient, err := vault.NewVaultsClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + vaultVaultsClient.SetRegion(regionOcid) + oracleClients[regionOcid].VaultVaultsClient = &vaultVaultsClient + + visualbuilderVbInstanceClient, err := visualbuilder.NewVbInstanceClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + visualbuilderVbInstanceClient.SetRegion(regionOcid) + oracleClients[regionOcid].VisualbuilderVbinstanceClient = &visualbuilderVbInstanceClient + + vnmonitoringVnMonitoringClient, err := vnmonitoring.NewVnMonitoringClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + vnmonitoringVnMonitoringClient.SetRegion(regionOcid) + oracleClients[regionOcid].VnmonitoringVnmonitoringClient = &vnmonitoringVnMonitoringClient + + vulnerabilityscanningVulnerabilityScanningClient, err := vulnerabilityscanning.NewVulnerabilityScanningClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + vulnerabilityscanningVulnerabilityScanningClient.SetRegion(regionOcid) + oracleClients[regionOcid].VulnerabilityscanningVulnerabilityscanningClient = &vulnerabilityscanningVulnerabilityScanningClient + + waaWaaClient, err := waa.NewWaaClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + waaWaaClient.SetRegion(regionOcid) + oracleClients[regionOcid].WaaWaaClient = &waaWaaClient + + waaWorkRequestClient, err := waa.NewWorkRequestClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + waaWorkRequestClient.SetRegion(regionOcid) + oracleClients[regionOcid].WaaWorkrequestClient = &waaWorkRequestClient + + waasRedirectClient, err := waas.NewRedirectClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + waasRedirectClient.SetRegion(regionOcid) + oracleClients[regionOcid].WaasRedirectClient = &waasRedirectClient + + waasWaasClient, err := waas.NewWaasClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + waasWaasClient.SetRegion(regionOcid) + oracleClients[regionOcid].WaasWaasClient = &waasWaasClient + + wafWafClient, err := waf.NewWafClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + wafWafClient.SetRegion(regionOcid) + oracleClients[regionOcid].WafWafClient = &wafWafClient + + workrequestsWorkRequestClient, err := workrequests.NewWorkRequestClientWithConfigurationProvider(configProvider) + if err != nil { + return nil, err + } + workrequestsWorkRequestClient.SetRegion(regionOcid) + oracleClients[regionOcid].WorkrequestsWorkrequestClient = &workrequestsWorkRequestClient + } + + return oracleClients, nil +} diff --git a/plugins/source/oracle/client/resovers.go b/plugins/source/oracle/client/resovers.go new file mode 100644 index 00000000000000..f35caa7f4e9bef --- /dev/null +++ b/plugins/source/oracle/client/resovers.go @@ -0,0 +1,19 @@ +package client + +import ( + "context" + + "github.com/cloudquery/plugin-sdk/schema" +) + +// grabs the region from the cq-client, not from the resource. +func ResolveOracleRegion(_ context.Context, meta schema.ClientMeta, r *schema.Resource, _ schema.Column) error { + client := meta.(*Client) + return r.Set("region", client.Region) +} + +// grabs the compartment-id from the cq-client, not from the resource. +func ResolveCompartmentId(_ context.Context, meta schema.ClientMeta, r *schema.Resource, _ schema.Column) error { + client := meta.(*Client) + return r.Set("compartment_id", client.CompartmentOcid) +} diff --git a/plugins/source/oracle/client/transform.go b/plugins/source/oracle/client/transform.go new file mode 100644 index 00000000000000..142b5a921c34a1 --- /dev/null +++ b/plugins/source/oracle/client/transform.go @@ -0,0 +1,23 @@ +package client + +import ( + "reflect" + + "github.com/cloudquery/plugin-sdk/codegen" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" +) + +func OracleTypeTransformer(field reflect.StructField) (schema.ValueType, error) { + fieldType := field.Type + + if fieldType.Kind() == reflect.Ptr { + fieldType = fieldType.Elem() + } + + if fieldType.Kind() == reflect.Struct && fieldType == reflect.TypeOf(common.SDKTime{}) { + return schema.TypeTimestamp, nil + } + + return codegen.DefaultTypeTransformer(field) +} diff --git a/plugins/source/oracle/codegen/generate.go b/plugins/source/oracle/codegen/generate.go new file mode 100644 index 00000000000000..6004a770fe645b --- /dev/null +++ b/plugins/source/oracle/codegen/generate.go @@ -0,0 +1,161 @@ +package main + +import ( + "bytes" + "embed" + "fmt" + "go/format" + "os" + "path" + "runtime" + "sort" + "strings" + "text/template" + + "github.com/iancoleman/strcase" +) + +//go:embed templates/*.go.tpl +var templatesFS embed.FS + +func generateTable(table *Table, dir string) error { + var tpl *template.Template + + tpl, err := template.New("table.go.tpl").Funcs(template.FuncMap{ + "ToCamel": strcase.ToCamel, + "ToLower": strings.ToLower}).ParseFS(templatesFS, path.Join("templates/table.go.tpl")) + if err != nil { + return err + } + + var buff bytes.Buffer + if err := tpl.Execute(&buff, table); err != nil { + return fmt.Errorf("failed to execute template: %w", err) + } + + filePath := path.Join(dir, table.SubService+".go") + + content := buff.Bytes() + formattedContent, err := format.Source(buff.Bytes()) + if err != nil { + fmt.Printf("failed to format source: %s: %v\n", filePath, err) + } else { + content = formattedContent + } + + if err := os.WriteFile(filePath, content, 0644); err != nil { + return fmt.Errorf("failed to write file %s: %w", filePath, err) + } + + return nil +} + +func generateFetch(table *Table, dir string) error { + var tpl *template.Template + + tpl, err := template.New("fetch.go.tpl").Funcs(template.FuncMap{ + "ToCamel": strcase.ToCamel, + "ToLower": strings.ToLower}).ParseFS(templatesFS, path.Join("templates/fetch.go.tpl")) + if err != nil { + return nil + } + + var buff bytes.Buffer + if err := tpl.Execute(&buff, table); err != nil { + return fmt.Errorf("failed to execute template: %w", err) + } + + filePath := path.Join(dir, table.SubService+"_fetch.go") + + content := buff.Bytes() + formattedContent, err := format.Source(buff.Bytes()) + if err != nil { + fmt.Printf("failed to format source: %s: %v\n", filePath, err) + } else { + content = formattedContent + } + + if err := os.WriteFile(filePath, content, 0644); err != nil { + return fmt.Errorf("failed to write file %s: %w", filePath, err) + } + + return nil +} + +func generateTables(tables []Table) error { + for _, table := range tables { + _, runtime_filename, _, ok := runtime.Caller(0) + if !ok { + return fmt.Errorf("failed to get caller information") + } + + dir := path.Join(path.Dir(runtime_filename), "../resources/services/", table.Service) + + if err := generateTable(&table, dir); err != nil { + return err + } + } + return nil +} + +func generateFetchers(tables []Table) error { + for _, table := range tables { + _, runtime_filename, _, ok := runtime.Caller(0) + if !ok { + return fmt.Errorf("failed to get caller information") + } + + dir := path.Join(path.Dir(runtime_filename), "../resources/services/", table.Service) + + if err := generateFetch(&table, dir); err != nil { + return err + } + } + return nil +} + +func generateTableList(tables []Table) error { + sort.Slice(tables, func(i int, j int) bool { + if tables[i].Service < tables[j].Service { + return true + } + if tables[i].Service > tables[j].Service { + return false + } + return tables[i].SubService < tables[j].SubService + }) + + tpl, err := template.New("table_list.go.tpl").Funcs(template.FuncMap{ + "ToCamel": strcase.ToCamel, + "ToLower": strings.ToLower, + }).ParseFS(templatesFS, "templates/table_list.go.tpl") + + if err != nil { + return fmt.Errorf("failed to parse templates: %w", err) + } + + var buff bytes.Buffer + if err := tpl.Execute(&buff, tables); err != nil { + return fmt.Errorf("failed to execute template: %w", err) + } + + _, runtime_filename, _, ok := runtime.Caller(0) + if !ok { + return fmt.Errorf("failed to get caller information") + } + + filePath := path.Join(path.Dir(runtime_filename), "../resources/plugin/autogen_tables.go") + content := buff.Bytes() + formattedContent, err := format.Source(buff.Bytes()) + if err != nil { + fmt.Printf("failed to format source: %s: %v\n", filePath, err) + } else { + content = formattedContent + } + if err := os.WriteFile(filePath, content, 0644); err != nil { + return fmt.Errorf("failed to write file %s: %w", filePath, err) + } + + return nil + +} diff --git a/plugins/source/oracle/codegen/main.go b/plugins/source/oracle/codegen/main.go new file mode 100644 index 00000000000000..b9b221f566e966 --- /dev/null +++ b/plugins/source/oracle/codegen/main.go @@ -0,0 +1,245 @@ +// Prerequisites: A populated `client.OracleClients` struct. +// Outputs resource structs in `resources/services/...` + +package main + +import ( + "context" + "fmt" + "log" + "path" + "reflect" + "strings" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/iancoleman/strcase" + "golang.org/x/exp/slices" +) + +// These services were manually tested, and they work. +var servicesAllowlist = []string{ + "compute", + "identity", + "virtualnetwork", + "database", + "blockstorage", + "objectstorage", + "filestorage", + "loadbalancer", + "networkloadbalancer", + "networkfirewall", +} + +var servicesDenylist = []string{ + "identity", // Skipped because most of these resources are global + + "database", // Skipped because some tables require extra parameters that I don't know where to find... + "objectstorage", // skipped because it requires usage of 'objectstoragenamespace'.. + + "blockstorage", // Skipped because the recipe-autogeneration missed the most important tables (volumes) + + "filestorage", // Skipped because requests are AD-based, not region-based. +} + +func main() { + oracleClientsStruct := client.OracleClients{} + + oracleClientsStructType := reflect.TypeOf(oracleClientsStruct) + + tables := make([]Table, 0) + + for i := 0; i < oracleClientsStructType.NumField(); i++ { + clientField := oracleClientsStructType.Field(i) + clientType := clientField.Type + + numTopLevelCompartmentScopeMethods := 0 + + pkg := path.Base(clientType.Elem().PkgPath()) + service := extractServiceNameFromClient(clientType.Elem()) + + if !slices.Contains(servicesAllowlist, service) { + continue + } + + if slices.Contains(servicesDenylist, service) { + continue + } + + for j := 0; j < clientType.NumMethod(); j++ { + method := clientType.Method(j) + + if !strings.HasPrefix(method.Name, "List") { + continue + } + + isValid, reason := isListMethodValid(method) + if !isValid { + fmt.Println("Skipping method", clientType, method.Name, "because", reason) + continue + } + + if !isTopLevelCompartmentScopeMethod(method) { + continue + } + + table, err := createTableStruct(pkg, service, method, clientField.Name) + if err != nil { + fmt.Println("Skipping method", clientType, method.Name, "because", err) + continue + } + + tables = append(tables, table) + numTopLevelCompartmentScopeMethods++ + } + + if numTopLevelCompartmentScopeMethods == 0 { + // fmt.Println("WARNING: No top-level copmartment-scope List methods found for", clientType.String()) + continue + } + } + + if err := generateTables(tables); err != nil { + log.Fatal(err) + } + + if err := generateFetchers(tables); err != nil { + log.Fatal(err) + } + + if err := generateTableList(tables); err != nil { + log.Fatal(err) + } +} + +func extractServiceNameFromClient(clientType reflect.Type) string { + clientName := clientType.Name() + pkg := path.Base(clientType.PkgPath()) + + if !strings.HasSuffix(clientName, "Client") { + panic(fmt.Sprintf("Client name '%s' does not end with 'Client'", clientName)) + } + + // The "core" package contains several different "services", but all the + // rest are pretty-good 1:1 mappings to what we like to call "services". + if pkg == "core" { + return strings.ToLower(strings.TrimSuffix(clientName, "Client")) + } else { + return pkg + } +} + +// Checks some prerequisites for a `List` method. +// If the list method is not 'valid', it will also return a string "reason" +func isListMethodValid(method reflect.Method) (bool, string) { + if method.Func.Type().NumIn() != 3 { // The "receiver" counts as an input + return false, fmt.Sprintf("it has %d inputs, but it should have exactly 3", method.Func.Type().NumIn()) + } + + if !(method.Func.Type().In(1).Implements(reflect.TypeOf((*context.Context)(nil)).Elem())) { + return false, "its first input is not a context.Context" + } + + if method.Func.Type().In(2).Kind() != reflect.Struct { + return false, "its second input is not a struct" + } + + if !strings.HasSuffix(method.Func.Type().In(2).Name(), "Request") { + return false, "its second input is not a request struct" + } + + _, isPaginated := method.Func.Type().In(2).FieldByName("Page") + if !isPaginated { + return false, "it is not paginated" + } + + if method.Func.Type().NumOut() != 2 { + return false, fmt.Sprintf("it has %d outputs, but it should have exactly 2", method.Func.Type().NumOut()) + } + + if !method.Func.Type().Out(1).Implements(reflect.TypeOf((*error)(nil)).Elem()) { + return false, "its second output is not an error" + } + + if method.Func.Type().Out(0).Kind() != reflect.Struct { + return false, "its first output is not a struct" + } + + if !strings.HasSuffix(method.Func.Type().Out(0).Name(), "Response") { + return false, "its first output is not a response struct" + } + + return true, "" +} + +// Top-level `List` methods usually have exactly on `mandatory` field in the request struct - the `compartment_id`. +// Relational `List` methods usually have a `mandatory` field that is the parent's id. +// See examples: +// - https://github.com/oracle/oci-go-sdk/blob/1a34e432f90fade18d83a84b6d8921e8c9ddd5b7/core/list_instances_request_response.go#L19-L22 +// - https://github.com/oracle/oci-go-sdk/blob/1a34e432f90fade18d83a84b6d8921e8c9ddd5b7/core/list_instance_devices_request_response.go#L19-L22 +func isTopLevelCompartmentScopeMethod(method reflect.Method) bool { + requestStruct := method.Func.Type().In(2) + + if requestStruct.Kind() == reflect.Pointer { + requestStruct = requestStruct.Elem() + } + + numMandatoryFields := 0 + mandatoryFieldIndex := -1 + for i := 0; i < requestStruct.NumField(); i++ { + field := requestStruct.Field(i) + if field.Tag.Get("mandatory") == "true" { + numMandatoryFields++ + mandatoryFieldIndex = i + } + } + + if numMandatoryFields != 1 { + return false + } + + mandatoryField := requestStruct.Field(mandatoryFieldIndex) + + return mandatoryField.Name == "CompartmentId" +} + +func createTableStruct(pkg string, service string, method reflect.Method, clientName string) (Table, error) { + responseStruct := method.Func.Type().Out(0) + itemsField, ok := responseStruct.FieldByName("Items") + if !ok { + return Table{}, fmt.Errorf("response struct does not have an 'Items' field") + } + + itemsType := itemsField.Type + if itemsType.Kind() != reflect.Slice { + return Table{}, fmt.Errorf("field 'Items' in struct '%s' is not a slice", responseStruct.Name()) + } + + itemsElemType := itemsType.Elem() + + if itemsElemType.Kind() != reflect.Struct { + return Table{}, fmt.Errorf("item in 'Items' field is not a struct (but a %s)", itemsElemType.Kind()) + } + + _, hasId := itemsElemType.FieldByName("Id") + if !hasId { + return Table{}, fmt.Errorf("struct '%s' does not have an 'Id' field", itemsElemType.Name()) + } + + return Table{ + Package: pkg, + Service: service, + SubService: extractSubserviceNameFromListMethodName(method.Name), + StructName: itemsElemType.Name(), + ClientName: clientName, + ListFunctionName: method.Name, + }, nil +} + +// E.g. ListInstances -> instances +func extractSubserviceNameFromListMethodName(listMethodName string) string { + if !strings.HasPrefix(listMethodName, "List") { + panic(fmt.Sprintf("List method name '%s' does not start with 'List'", listMethodName)) + } + + return strcase.ToSnake(strings.TrimPrefix(listMethodName, "List")) +} diff --git a/plugins/source/oracle/codegen/table.go b/plugins/source/oracle/codegen/table.go new file mode 100644 index 00000000000000..5f040327b8b38a --- /dev/null +++ b/plugins/source/oracle/codegen/table.go @@ -0,0 +1,13 @@ +package main + +type Table struct { + Package string + + Service string + SubService string + + StructName string + + ListFunctionName string + ClientName string +} diff --git a/plugins/source/oracle/codegen/templates/fetch.go.tpl b/plugins/source/oracle/codegen/templates/fetch.go.tpl new file mode 100644 index 00000000000000..d222795bb48c41 --- /dev/null +++ b/plugins/source/oracle/codegen/templates/fetch.go.tpl @@ -0,0 +1,38 @@ +package {{.Service}} + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/{{.Package}}" +) + +func fetch{{.SubService | ToCamel}}(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := {{.Package}}.{{.ListFunctionName}}Request{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].{{.ClientName}}.{{.ListFunctionName}}(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/codegen/templates/table.go.tpl b/plugins/source/oracle/codegen/templates/table.go.tpl new file mode 100644 index 00000000000000..f66a1032cf452f --- /dev/null +++ b/plugins/source/oracle/codegen/templates/table.go.tpl @@ -0,0 +1,44 @@ +package {{.Service}} + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/{{.Package}}" +) + +func {{.SubService | ToCamel}}() *schema.Table { + return &schema.Table{ + Name: "oracle_{{.Service}}_{{.SubService}}", + Resolver: fetch{{.SubService | ToCamel}}, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&{{.Package}}.{{.StructName}}{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/codegen/templates/table_list.go.tpl b/plugins/source/oracle/codegen/templates/table_list.go.tpl new file mode 100644 index 00000000000000..3de7723de854ce --- /dev/null +++ b/plugins/source/oracle/codegen/templates/table_list.go.tpl @@ -0,0 +1,16 @@ +package plugin + +import ( + "github.com/cloudquery/plugin-sdk/schema" +{{- range $resource := . }} + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/{{ $resource.Service }}" +{{- end }} +) + +func AutogenTables() []*schema.Table { + return []*schema.Table{ + {{- range $resource := . }} + {{ $resource.Service }}.{{ $resource.SubService | ToCamel }}(), + {{- end }} + } +} diff --git a/plugins/source/oracle/docs/tables/README.md b/plugins/source/oracle/docs/tables/README.md new file mode 100644 index 00000000000000..2467cfbd8f5f7b --- /dev/null +++ b/plugins/source/oracle/docs/tables/README.md @@ -0,0 +1,82 @@ +# Source Plugin: oracle + +## Tables + +- [oracle_blockstorage_boot_volume_backups](oracle_blockstorage_boot_volume_backups.md) +- [oracle_blockstorage_boot_volume_replicas](oracle_blockstorage_boot_volume_replicas.md) +- [oracle_blockstorage_boot_volumes](oracle_blockstorage_boot_volumes.md) +- [oracle_blockstorage_volume_backup_policies](oracle_blockstorage_volume_backup_policies.md) +- [oracle_blockstorage_volume_backups](oracle_blockstorage_volume_backups.md) +- [oracle_blockstorage_volume_group_backups](oracle_blockstorage_volume_group_backups.md) +- [oracle_blockstorage_volume_groups](oracle_blockstorage_volume_groups.md) +- [oracle_blockstorage_volumes](oracle_blockstorage_volumes.md) +- [oracle_compute_compute_capacity_reservations](oracle_compute_compute_capacity_reservations.md) +- [oracle_compute_console_histories](oracle_compute_console_histories.md) +- [oracle_compute_dedicated_vm_hosts](oracle_compute_dedicated_vm_hosts.md) +- [oracle_compute_images](oracle_compute_images.md) +- [oracle_compute_instance_console_connections](oracle_compute_instance_console_connections.md) +- [oracle_compute_instances](oracle_compute_instances.md) +- [oracle_compute_vnic_attachments](oracle_compute_vnic_attachments.md) +- [oracle_database_autonomous_container_databases](oracle_database_autonomous_container_databases.md) +- [oracle_database_autonomous_databases](oracle_database_autonomous_databases.md) +- [oracle_database_autonomous_exadata_infrastructures](oracle_database_autonomous_exadata_infrastructures.md) +- [oracle_database_autonomous_vm_clusters](oracle_database_autonomous_vm_clusters.md) +- [oracle_database_backup_destination](oracle_database_backup_destination.md) +- [oracle_database_cloud_autonomous_vm_clusters](oracle_database_cloud_autonomous_vm_clusters.md) +- [oracle_database_cloud_exadata_infrastructures](oracle_database_cloud_exadata_infrastructures.md) +- [oracle_database_cloud_vm_clusters](oracle_database_cloud_vm_clusters.md) +- [oracle_database_exadata_infrastructures](oracle_database_exadata_infrastructures.md) +- [oracle_database_external_container_databases](oracle_database_external_container_databases.md) +- [oracle_database_external_non_container_databases](oracle_database_external_non_container_databases.md) +- [oracle_database_external_pluggable_databases](oracle_database_external_pluggable_databases.md) +- [oracle_database_key_stores](oracle_database_key_stores.md) +- [oracle_database_vm_clusters](oracle_database_vm_clusters.md) +- [oracle_filestorage_export_sets](oracle_filestorage_export_sets.md) +- [oracle_filestorage_exports](oracle_filestorage_exports.md) +- [oracle_filestorage_file_systems](oracle_filestorage_file_systems.md) +- [oracle_filestorage_mount_targets](oracle_filestorage_mount_targets.md) +- [oracle_filestorage_replication_targets](oracle_filestorage_replication_targets.md) +- [oracle_filestorage_replications](oracle_filestorage_replications.md) +- [oracle_identity_compartments](oracle_identity_compartments.md) +- [oracle_identity_cost_tracking_tags](oracle_identity_cost_tracking_tags.md) +- [oracle_identity_domains](oracle_identity_domains.md) +- [oracle_identity_dynamic_groups](oracle_identity_dynamic_groups.md) +- [oracle_identity_groups](oracle_identity_groups.md) +- [oracle_identity_iam_work_requests](oracle_identity_iam_work_requests.md) +- [oracle_identity_network_sources](oracle_identity_network_sources.md) +- [oracle_identity_policies](oracle_identity_policies.md) +- [oracle_identity_tag_namespaces](oracle_identity_tag_namespaces.md) +- [oracle_identity_tagging_work_requests](oracle_identity_tagging_work_requests.md) +- [oracle_identity_users](oracle_identity_users.md) +- [oracle_identity_work_requests](oracle_identity_work_requests.md) +- [oracle_loadbalancer_load_balancers](oracle_loadbalancer_load_balancers.md) +- [oracle_networkfirewall_network_firewall_policies](oracle_networkfirewall_network_firewall_policies.md) +- [oracle_networkfirewall_network_firewalls](oracle_networkfirewall_network_firewalls.md) +- [oracle_networkfirewall_work_requests](oracle_networkfirewall_work_requests.md) +- [oracle_networkloadbalancer_network_load_balancers](oracle_networkloadbalancer_network_load_balancers.md) +- [oracle_networkloadbalancer_work_requests](oracle_networkloadbalancer_work_requests.md) +- [oracle_objectstorage_buckets](oracle_objectstorage_buckets.md) +- [oracle_objectstorage_work_requests](oracle_objectstorage_work_requests.md) +- [oracle_virtualnetwork_byoip_ranges](oracle_virtualnetwork_byoip_ranges.md) +- [oracle_virtualnetwork_capture_filters](oracle_virtualnetwork_capture_filters.md) +- [oracle_virtualnetwork_cpes](oracle_virtualnetwork_cpes.md) +- [oracle_virtualnetwork_cross_connect_groups](oracle_virtualnetwork_cross_connect_groups.md) +- [oracle_virtualnetwork_cross_connects](oracle_virtualnetwork_cross_connects.md) +- [oracle_virtualnetwork_dhcp_options](oracle_virtualnetwork_dhcp_options.md) +- [oracle_virtualnetwork_drg_attachments](oracle_virtualnetwork_drg_attachments.md) +- [oracle_virtualnetwork_drgs](oracle_virtualnetwork_drgs.md) +- [oracle_virtualnetwork_fast_connect_provider_services](oracle_virtualnetwork_fast_connect_provider_services.md) +- [oracle_virtualnetwork_internet_gateways](oracle_virtualnetwork_internet_gateways.md) +- [oracle_virtualnetwork_ip_sec_connections](oracle_virtualnetwork_ip_sec_connections.md) +- [oracle_virtualnetwork_local_peering_gateways](oracle_virtualnetwork_local_peering_gateways.md) +- [oracle_virtualnetwork_nat_gateways](oracle_virtualnetwork_nat_gateways.md) +- [oracle_virtualnetwork_public_ip_pools](oracle_virtualnetwork_public_ip_pools.md) +- [oracle_virtualnetwork_remote_peering_connections](oracle_virtualnetwork_remote_peering_connections.md) +- [oracle_virtualnetwork_route_tables](oracle_virtualnetwork_route_tables.md) +- [oracle_virtualnetwork_security_lists](oracle_virtualnetwork_security_lists.md) +- [oracle_virtualnetwork_service_gateways](oracle_virtualnetwork_service_gateways.md) +- [oracle_virtualnetwork_subnets](oracle_virtualnetwork_subnets.md) +- [oracle_virtualnetwork_vcns](oracle_virtualnetwork_vcns.md) +- [oracle_virtualnetwork_virtual_circuits](oracle_virtualnetwork_virtual_circuits.md) +- [oracle_virtualnetwork_vlans](oracle_virtualnetwork_vlans.md) +- [oracle_virtualnetwork_vtaps](oracle_virtualnetwork_vtaps.md) \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_backups.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_backups.md new file mode 100644 index 00000000000000..53a1d2aead53b5 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_backups.md @@ -0,0 +1,31 @@ +# Table: oracle_blockstorage_boot_volume_backups + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|boot_volume_id|String| +|defined_tags|JSON| +|system_tags|JSON| +|expiration_time|Timestamp| +|freeform_tags|JSON| +|image_id|String| +|kms_key_id|String| +|size_in_g_bs|Int| +|source_boot_volume_backup_id|String| +|source_type|String| +|time_request_received|Timestamp| +|type|String| +|unique_size_in_g_bs|Int| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_replicas.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_replicas.md new file mode 100644 index 00000000000000..e4cb194d9256dc --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_replicas.md @@ -0,0 +1,27 @@ +# Table: oracle_blockstorage_boot_volume_replicas + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|display_name|String| +|lifecycle_state|String| +|size_in_g_bs|Int| +|time_created|Timestamp| +|time_last_synced|Timestamp| +|boot_volume_id|String| +|defined_tags|JSON| +|freeform_tags|JSON| +|image_id|String| +|total_data_transferred_in_g_bs|Int| +|volume_group_replica_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volumes.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volumes.md new file mode 100644 index 00000000000000..57a2a2c6763c2d --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volumes.md @@ -0,0 +1,33 @@ +# Table: oracle_blockstorage_boot_volumes + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|lifecycle_state|String| +|size_in_m_bs|Int| +|time_created|Timestamp| +|defined_tags|JSON| +|system_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|image_id|String| +|is_hydrated|Bool| +|vpus_per_gb|Int| +|size_in_g_bs|Int| +|volume_group_id|String| +|kms_key_id|String| +|is_auto_tune_enabled|Bool| +|auto_tuned_vpus_per_gb|Int| +|boot_volume_replicas|JSON| +|autotune_policies|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backup_policies.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backup_policies.md new file mode 100644 index 00000000000000..598a2be3031447 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backup_policies.md @@ -0,0 +1,21 @@ +# Table: oracle_blockstorage_volume_backup_policies + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|schedules|JSON| +|time_created|Timestamp| +|destination_region|String| +|defined_tags|JSON| +|freeform_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backups.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backups.md new file mode 100644 index 00000000000000..4753700180bb03 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backups.md @@ -0,0 +1,32 @@ +# Table: oracle_blockstorage_volume_backups + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|type|String| +|defined_tags|JSON| +|system_tags|JSON| +|expiration_time|Timestamp| +|freeform_tags|JSON| +|kms_key_id|String| +|size_in_g_bs|Int| +|size_in_m_bs|Int| +|source_type|String| +|source_volume_backup_id|String| +|time_request_received|Timestamp| +|unique_size_in_g_bs|Int| +|unique_size_in_mbs|Int| +|volume_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_group_backups.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_group_backups.md new file mode 100644 index 00000000000000..9aab3686aa0fb4 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_group_backups.md @@ -0,0 +1,31 @@ +# Table: oracle_blockstorage_volume_group_backups + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|type|String| +|volume_backup_ids|StringArray| +|defined_tags|JSON| +|expiration_time|Timestamp| +|freeform_tags|JSON| +|size_in_m_bs|Int| +|size_in_g_bs|Int| +|source_type|String| +|time_request_received|Timestamp| +|unique_size_in_mbs|Int| +|unique_size_in_gbs|Int| +|volume_group_id|String| +|source_volume_group_backup_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_groups.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_groups.md new file mode 100644 index 00000000000000..d8b4b120896c2e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_groups.md @@ -0,0 +1,26 @@ +# Table: oracle_blockstorage_volume_groups + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|display_name|String| +|lifecycle_state|String| +|size_in_m_bs|Int| +|time_created|Timestamp| +|volume_ids|StringArray| +|defined_tags|JSON| +|freeform_tags|JSON| +|size_in_g_bs|Int| +|is_hydrated|Bool| +|volume_group_replicas|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_blockstorage_volumes.md b/plugins/source/oracle/docs/tables/oracle_blockstorage_volumes.md new file mode 100644 index 00000000000000..c9dd6a58b7ecfe --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_blockstorage_volumes.md @@ -0,0 +1,32 @@ +# Table: oracle_blockstorage_volumes + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|display_name|String| +|lifecycle_state|String| +|size_in_m_bs|Int| +|time_created|Timestamp| +|defined_tags|JSON| +|freeform_tags|JSON| +|system_tags|JSON| +|is_hydrated|Bool| +|kms_key_id|String| +|vpus_per_gb|Int| +|size_in_g_bs|Int| +|volume_group_id|String| +|is_auto_tune_enabled|Bool| +|auto_tuned_vpus_per_gb|Int| +|block_volume_replicas|JSON| +|autotune_policies|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_compute_capacity_reservations.md b/plugins/source/oracle/docs/tables/oracle_compute_compute_capacity_reservations.md new file mode 100644 index 00000000000000..902cada34cecf1 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_compute_capacity_reservations.md @@ -0,0 +1,24 @@ +# Table: oracle_compute_compute_capacity_reservations + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|time_created|Timestamp| +|display_name|String| +|defined_tags|JSON| +|freeform_tags|JSON| +|lifecycle_state|String| +|reserved_instance_count|Int| +|used_instance_count|Int| +|is_default_reservation|Bool| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_console_histories.md b/plugins/source/oracle/docs/tables/oracle_compute_console_histories.md new file mode 100644 index 00000000000000..3337e8b11c8784 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_console_histories.md @@ -0,0 +1,22 @@ +# Table: oracle_compute_console_histories + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|instance_id|String| +|lifecycle_state|String| +|time_created|Timestamp| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_dedicated_vm_hosts.md b/plugins/source/oracle/docs/tables/oracle_compute_dedicated_vm_hosts.md new file mode 100644 index 00000000000000..0f7099d8b1ceba --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_dedicated_vm_hosts.md @@ -0,0 +1,25 @@ +# Table: oracle_compute_dedicated_vm_hosts + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|dedicated_vm_host_shape|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|remaining_ocpus|Float| +|total_ocpus|Float| +|fault_domain|String| +|total_memory_in_g_bs|Float| +|remaining_memory_in_g_bs|Float| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_images.md b/plugins/source/oracle/docs/tables/oracle_compute_images.md new file mode 100644 index 00000000000000..564b49a5c8d986 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_images.md @@ -0,0 +1,30 @@ +# Table: oracle_compute_images + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|create_image_allowed|Bool| +|lifecycle_state|String| +|operating_system|String| +|operating_system_version|String| +|time_created|Timestamp| +|base_image_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|launch_mode|String| +|launch_options|JSON| +|agent_features|JSON| +|listing_type|String| +|size_in_m_bs|Int| +|billable_size_in_g_bs|Int| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_instance_console_connections.md b/plugins/source/oracle/docs/tables/oracle_compute_instance_console_connections.md new file mode 100644 index 00000000000000..83a213c2a6b5b4 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_instance_console_connections.md @@ -0,0 +1,23 @@ +# Table: oracle_compute_instance_console_connections + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|connection_string|String| +|defined_tags|JSON| +|fingerprint|String| +|freeform_tags|JSON| +|instance_id|String| +|lifecycle_state|String| +|service_host_key_fingerprint|String| +|vnc_connection_string|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_instances.md b/plugins/source/oracle/docs/tables/oracle_compute_instances.md new file mode 100644 index 00000000000000..46f4f25dd98a4e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_instances.md @@ -0,0 +1,38 @@ +# Table: oracle_compute_instances + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|lifecycle_state|String| +|shape|String| +|time_created|Timestamp| +|capacity_reservation_id|String| +|dedicated_vm_host_id|String| +|defined_tags|JSON| +|display_name|String| +|extended_metadata|JSON| +|fault_domain|String| +|freeform_tags|JSON| +|image_id|String| +|ipxe_script|String| +|launch_mode|String| +|launch_options|JSON| +|instance_options|JSON| +|availability_config|JSON| +|preemptible_instance_config|JSON| +|metadata|JSON| +|shape_config|JSON| +|system_tags|JSON| +|agent_config|JSON| +|time_maintenance_reboot_due|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_compute_vnic_attachments.md b/plugins/source/oracle/docs/tables/oracle_compute_vnic_attachments.md new file mode 100644 index 00000000000000..e026d93500b2c2 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_compute_vnic_attachments.md @@ -0,0 +1,25 @@ +# Table: oracle_compute_vnic_attachments + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|instance_id|String| +|lifecycle_state|String| +|time_created|Timestamp| +|display_name|String| +|nic_index|Int| +|subnet_id|String| +|vlan_id|String| +|vlan_tag|Int| +|vnic_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_autonomous_container_databases.md b/plugins/source/oracle/docs/tables/oracle_database_autonomous_container_databases.md new file mode 100644 index 00000000000000..407a388827d85c --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_autonomous_container_databases.md @@ -0,0 +1,48 @@ +# Table: oracle_database_autonomous_container_databases + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|service_level_agreement_type|String| +|lifecycle_state|String| +|patch_model|String| +|db_unique_name|String| +|autonomous_exadata_infrastructure_id|String| +|autonomous_vm_cluster_id|String| +|infrastructure_type|String| +|cloud_autonomous_vm_cluster_id|String| +|kms_key_id|String| +|vault_id|String| +|kms_key_version_id|String| +|key_history_entry|JSON| +|lifecycle_details|String| +|time_created|Timestamp| +|patch_id|String| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|maintenance_window|JSON| +|standby_maintenance_buffer_in_days|Int| +|freeform_tags|JSON| +|defined_tags|JSON| +|role|String| +|availability_domain|String| +|db_version|String| +|backup_config|JSON| +|key_store_id|String| +|key_store_wallet_name|String| +|memory_per_oracle_compute_unit_in_g_bs|Int| +|available_cpus|Float| +|total_cpus|Int| +|reclaimable_cpus|Float| +|provisionable_cpus|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_autonomous_databases.md b/plugins/source/oracle/docs/tables/oracle_database_autonomous_databases.md new file mode 100644 index 00000000000000..5c881e7ccf5ec3 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_autonomous_databases.md @@ -0,0 +1,104 @@ +# Table: oracle_database_autonomous_databases + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|db_name|String| +|cpu_core_count|Int| +|data_storage_size_in_t_bs|Int| +|lifecycle_details|String| +|kms_key_id|String| +|vault_id|String| +|kms_key_lifecycle_details|String| +|kms_key_version_id|String| +|character_set|String| +|ncharacter_set|String| +|is_free_tier|Bool| +|system_tags|JSON| +|time_reclamation_of_free_autonomous_database|Timestamp| +|time_deletion_of_free_autonomous_database|Timestamp| +|backup_config|JSON| +|key_history_entry|JSON| +|ocpu_count|Float| +|provisionable_cpus|JSON| +|memory_per_oracle_compute_unit_in_g_bs|Int| +|data_storage_size_in_g_bs|Int| +|infrastructure_type|String| +|is_dedicated|Bool| +|autonomous_container_database_id|String| +|time_created|Timestamp| +|display_name|String| +|service_console_url|String| +|connection_strings|JSON| +|connection_urls|JSON| +|license_model|String| +|used_data_storage_size_in_t_bs|Int| +|freeform_tags|JSON| +|defined_tags|JSON| +|subnet_id|String| +|nsg_ids|StringArray| +|private_endpoint|String| +|private_endpoint_label|String| +|private_endpoint_ip|String| +|db_version|String| +|is_preview|Bool| +|db_workload|String| +|is_access_control_enabled|Bool| +|whitelisted_ips|StringArray| +|are_primary_whitelisted_ips_used|Bool| +|standby_whitelisted_ips|StringArray| +|apex_details|JSON| +|is_auto_scaling_enabled|Bool| +|data_safe_status|String| +|operations_insights_status|String| +|database_management_status|String| +|time_maintenance_begin|Timestamp| +|time_maintenance_end|Timestamp| +|is_refreshable_clone|Bool| +|time_of_last_refresh|Timestamp| +|time_of_last_refresh_point|Timestamp| +|time_of_next_refresh|Timestamp| +|open_mode|String| +|refreshable_status|String| +|refreshable_mode|String| +|source_id|String| +|permission_level|String| +|time_of_last_switchover|Timestamp| +|time_of_last_failover|Timestamp| +|is_data_guard_enabled|Bool| +|failed_data_recovery_in_seconds|Int| +|standby_db|JSON| +|is_local_data_guard_enabled|Bool| +|is_remote_data_guard_enabled|Bool| +|local_standby_db|JSON| +|role|String| +|available_upgrade_versions|StringArray| +|key_store_id|String| +|key_store_wallet_name|String| +|supported_regions_to_clone_to|StringArray| +|customer_contacts|JSON| +|time_local_data_guard_enabled|Timestamp| +|dataguard_region_type|String| +|time_data_guard_role_changed|Timestamp| +|peer_db_ids|StringArray| +|is_mtls_connection_required|Bool| +|is_reconnect_clone_enabled|Bool| +|time_until_reconnect_clone_enabled|Timestamp| +|autonomous_maintenance_schedule_type|String| +|scheduled_operations|JSON| +|is_auto_scaling_for_storage_enabled|Bool| +|allocated_storage_size_in_t_bs|Float| +|actual_used_data_storage_size_in_t_bs|Float| +|max_cpu_core_count|Int| +|database_edition|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_autonomous_exadata_infrastructures.md b/plugins/source/oracle/docs/tables/oracle_database_autonomous_exadata_infrastructures.md new file mode 100644 index 00000000000000..a1f1864cc4e677 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_autonomous_exadata_infrastructures.md @@ -0,0 +1,33 @@ +# Table: oracle_database_autonomous_exadata_infrastructures + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|availability_domain|String| +|subnet_id|String| +|shape|String| +|hostname|String| +|domain|String| +|lifecycle_state|String| +|maintenance_window|JSON| +|nsg_ids|StringArray| +|lifecycle_details|String| +|license_model|String| +|time_created|Timestamp| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|scan_dns_name|String| +|zone_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_autonomous_vm_clusters.md b/plugins/source/oracle/docs/tables/oracle_database_autonomous_vm_clusters.md new file mode 100644 index 00000000000000..3e0cfbd47b5a0e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_autonomous_vm_clusters.md @@ -0,0 +1,47 @@ +# Table: oracle_database_autonomous_vm_clusters + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|exadata_infrastructure_id|String| +|vm_cluster_network_id|String| +|time_created|Timestamp| +|lifecycle_details|String| +|time_zone|String| +|is_local_backup_enabled|Bool| +|cpus_enabled|Int| +|ocpus_enabled|Float| +|available_cpus|Int| +|total_container_databases|Int| +|memory_per_oracle_compute_unit_in_g_bs|Int| +|cpu_core_count_per_node|Int| +|autonomous_data_storage_size_in_t_bs|Float| +|maintenance_window|JSON| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|memory_size_in_g_bs|Int| +|db_node_storage_size_in_g_bs|Int| +|data_storage_size_in_t_bs|Float| +|data_storage_size_in_g_bs|Float| +|available_data_storage_size_in_t_bs|Float| +|license_model|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|reclaimable_cpus|Int| +|available_container_databases|Int| +|available_autonomous_data_storage_size_in_t_bs|Float| +|scan_listener_port_tls|Int| +|scan_listener_port_non_tls|Int| +|is_mtls_enabled|Bool| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_backup_destination.md b/plugins/source/oracle/docs/tables/oracle_database_backup_destination.md new file mode 100644 index 00000000000000..5404c456def68c --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_backup_destination.md @@ -0,0 +1,29 @@ +# Table: oracle_database_backup_destination + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|type|String| +|associated_databases|JSON| +|connection_string|String| +|vpc_users|StringArray| +|local_mount_point_path|String| +|nfs_mount_type|String| +|nfs_server|StringArray| +|nfs_server_export|String| +|lifecycle_state|String| +|time_created|Timestamp| +|lifecycle_details|String| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_cloud_autonomous_vm_clusters.md b/plugins/source/oracle/docs/tables/oracle_database_cloud_autonomous_vm_clusters.md new file mode 100644 index 00000000000000..a0d7b5ccc4d6b9 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_cloud_autonomous_vm_clusters.md @@ -0,0 +1,51 @@ +# Table: oracle_database_cloud_autonomous_vm_clusters + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|subnet_id|String| +|lifecycle_state|String| +|display_name|String| +|cloud_exadata_infrastructure_id|String| +|description|String| +|nsg_ids|StringArray| +|last_update_history_entry_id|String| +|time_created|Timestamp| +|time_updated|Timestamp| +|cluster_time_zone|String| +|lifecycle_details|String| +|hostname|String| +|domain|String| +|shape|String| +|node_count|Int| +|data_storage_size_in_t_bs|Float| +|data_storage_size_in_g_bs|Float| +|cpu_core_count|Int| +|ocpu_count|Float| +|cpu_core_count_per_node|Int| +|memory_size_in_g_bs|Int| +|license_model|String| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|maintenance_window|JSON| +|freeform_tags|JSON| +|defined_tags|JSON| +|available_cpus|Float| +|reclaimable_cpus|Float| +|available_container_databases|Int| +|total_container_databases|Int| +|available_autonomous_data_storage_size_in_t_bs|Float| +|autonomous_data_storage_size_in_t_bs|Float| +|db_node_storage_size_in_g_bs|Int| +|memory_per_oracle_compute_unit_in_g_bs|Int| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_cloud_exadata_infrastructures.md b/plugins/source/oracle/docs/tables/oracle_database_cloud_exadata_infrastructures.md new file mode 100644 index 00000000000000..e3b12f676b9362 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_cloud_exadata_infrastructures.md @@ -0,0 +1,41 @@ +# Table: oracle_database_cloud_exadata_infrastructures + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|display_name|String| +|shape|String| +|availability_domain|String| +|compute_count|Int| +|storage_count|Int| +|total_storage_size_in_g_bs|Int| +|available_storage_size_in_g_bs|Int| +|cpu_count|Int| +|max_cpu_count|Int| +|memory_size_in_g_bs|Int| +|max_memory_in_g_bs|Int| +|db_node_storage_size_in_g_bs|Int| +|max_db_node_storage_in_g_bs|Int| +|data_storage_size_in_t_bs|Float| +|max_data_storage_in_t_bs|Float| +|additional_storage_count|Int| +|activated_storage_count|Int| +|time_created|Timestamp| +|lifecycle_details|String| +|maintenance_window|JSON| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|customer_contacts|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_cloud_vm_clusters.md b/plugins/source/oracle/docs/tables/oracle_database_cloud_vm_clusters.md new file mode 100644 index 00000000000000..f27fab00925a05 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_cloud_vm_clusters.md @@ -0,0 +1,58 @@ +# Table: oracle_database_cloud_vm_clusters + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|availability_domain|String| +|subnet_id|String| +|shape|String| +|lifecycle_state|String| +|display_name|String| +|hostname|String| +|domain|String| +|cpu_core_count|Int| +|cloud_exadata_infrastructure_id|String| +|ssh_public_keys|StringArray| +|backup_subnet_id|String| +|nsg_ids|StringArray| +|backup_network_nsg_ids|StringArray| +|last_update_history_entry_id|String| +|listener_port|Int| +|node_count|Int| +|storage_size_in_g_bs|Int| +|time_created|Timestamp| +|lifecycle_details|String| +|time_zone|String| +|ocpu_count|Float| +|memory_size_in_g_bs|Int| +|db_node_storage_size_in_g_bs|Int| +|data_storage_size_in_t_bs|Float| +|db_servers|StringArray| +|cluster_name|String| +|data_storage_percentage|Int| +|is_local_backup_enabled|Bool| +|is_sparse_diskgroup_enabled|Bool| +|gi_version|String| +|system_version|String| +|license_model|String| +|disk_redundancy|String| +|scan_ip_ids|StringArray| +|vip_ids|StringArray| +|scan_dns_record_id|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|scan_dns_name|String| +|zone_id|String| +|scan_listener_port_tcp|Int| +|scan_listener_port_tcp_ssl|Int| +|data_collection_options|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_exadata_infrastructures.md b/plugins/source/oracle/docs/tables/oracle_database_exadata_infrastructures.md new file mode 100644 index 00000000000000..2580beb73a0af9 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_exadata_infrastructures.md @@ -0,0 +1,57 @@ +# Table: oracle_database_exadata_infrastructures + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|display_name|String| +|shape|String| +|time_zone|String| +|cpus_enabled|Int| +|max_cpu_count|Int| +|memory_size_in_g_bs|Int| +|max_memory_in_g_bs|Int| +|db_node_storage_size_in_g_bs|Int| +|max_db_node_storage_in_g_bs|Int| +|data_storage_size_in_t_bs|Float| +|max_data_storage_in_t_bs|Float| +|rack_serial_number|String| +|storage_count|Int| +|additional_storage_count|Int| +|activated_storage_count|Int| +|compute_count|Int| +|additional_compute_count|Int| +|additional_compute_system_model|String| +|cloud_control_plane_server1|String| +|cloud_control_plane_server2|String| +|netmask|String| +|gateway|String| +|admin_network_cidr|String| +|infini_band_network_cidr|String| +|corporate_proxy|String| +|dns_server|StringArray| +|ntp_server|StringArray| +|time_created|Timestamp| +|lifecycle_details|String| +|csi_number|String| +|contacts|JSON| +|maintenance_slo_status|String| +|maintenance_window|JSON| +|storage_server_version|String| +|db_server_version|String| +|monthly_db_server_version|String| +|last_maintenance_run_id|String| +|next_maintenance_run_id|String| +|is_cps_offline_report_enabled|Bool| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_external_container_databases.md b/plugins/source/oracle/docs/tables/oracle_database_external_container_databases.md new file mode 100644 index 00000000000000..bcebb5c35a2bb6 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_external_container_databases.md @@ -0,0 +1,32 @@ +# Table: oracle_database_external_container_databases + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_details|String| +|db_unique_name|String| +|db_id|String| +|database_version|String| +|database_edition|String| +|time_zone|String| +|character_set|String| +|ncharacter_set|String| +|db_packs|String| +|database_configuration|String| +|database_management_config|JSON| +|stack_monitoring_config|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_external_non_container_databases.md b/plugins/source/oracle/docs/tables/oracle_database_external_non_container_databases.md new file mode 100644 index 00000000000000..32ec8375a6a6d8 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_external_non_container_databases.md @@ -0,0 +1,33 @@ +# Table: oracle_database_external_non_container_databases + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_details|String| +|db_unique_name|String| +|db_id|String| +|database_version|String| +|database_edition|String| +|time_zone|String| +|character_set|String| +|ncharacter_set|String| +|db_packs|String| +|database_configuration|String| +|database_management_config|JSON| +|stack_monitoring_config|JSON| +|operations_insights_config|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_external_pluggable_databases.md b/plugins/source/oracle/docs/tables/oracle_database_external_pluggable_databases.md new file mode 100644 index 00000000000000..6a83ca214a7f76 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_external_pluggable_databases.md @@ -0,0 +1,35 @@ +# Table: oracle_database_external_pluggable_databases + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|external_container_database_id|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_details|String| +|db_unique_name|String| +|db_id|String| +|database_version|String| +|database_edition|String| +|time_zone|String| +|character_set|String| +|ncharacter_set|String| +|db_packs|String| +|database_configuration|String| +|database_management_config|JSON| +|stack_monitoring_config|JSON| +|source_id|String| +|operations_insights_config|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_key_stores.md b/plugins/source/oracle/docs/tables/oracle_database_key_stores.md new file mode 100644 index 00000000000000..61ffd79e061955 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_key_stores.md @@ -0,0 +1,22 @@ +# Table: oracle_database_key_stores + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|lifecycle_details|String| +|associated_databases|JSON| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_database_vm_clusters.md b/plugins/source/oracle/docs/tables/oracle_database_vm_clusters.md new file mode 100644 index 00000000000000..b458172ca1ea94 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_database_vm_clusters.md @@ -0,0 +1,40 @@ +# Table: oracle_database_vm_clusters + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|last_patch_history_entry_id|String| +|lifecycle_state|String| +|display_name|String| +|time_created|Timestamp| +|lifecycle_details|String| +|time_zone|String| +|is_local_backup_enabled|Bool| +|exadata_infrastructure_id|String| +|is_sparse_diskgroup_enabled|Bool| +|vm_cluster_network_id|String| +|cpus_enabled|Int| +|ocpus_enabled|Float| +|memory_size_in_g_bs|Int| +|db_node_storage_size_in_g_bs|Int| +|data_storage_size_in_t_bs|Float| +|data_storage_size_in_g_bs|Float| +|shape|String| +|gi_version|String| +|system_version|String| +|ssh_public_keys|StringArray| +|license_model|String| +|db_servers|StringArray| +|freeform_tags|JSON| +|defined_tags|JSON| +|data_collection_options|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_export_sets.md b/plugins/source/oracle/docs/tables/oracle_filestorage_export_sets.md new file mode 100644 index 00000000000000..0b79349cf6a143 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_export_sets.md @@ -0,0 +1,20 @@ +# Table: oracle_filestorage_export_sets + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|vcn_id|String| +|availability_domain|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_exports.md b/plugins/source/oracle/docs/tables/oracle_filestorage_exports.md new file mode 100644 index 00000000000000..b58f389a4ca939 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_exports.md @@ -0,0 +1,20 @@ +# Table: oracle_filestorage_exports + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|export_set_id|String| +|file_system_id|String| +|lifecycle_state|String| +|path|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_file_systems.md b/plugins/source/oracle/docs/tables/oracle_filestorage_file_systems.md new file mode 100644 index 00000000000000..87c8440eee6f33 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_file_systems.md @@ -0,0 +1,27 @@ +# Table: oracle_filestorage_file_systems + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|metered_bytes|Int| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|availability_domain|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|kms_key_id|String| +|source_details|JSON| +|is_clone_parent|Bool| +|is_hydrated|Bool| +|lifecycle_details|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_mount_targets.md b/plugins/source/oracle/docs/tables/oracle_filestorage_mount_targets.md new file mode 100644 index 00000000000000..a1940c7a921bdc --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_mount_targets.md @@ -0,0 +1,25 @@ +# Table: oracle_filestorage_mount_targets + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|private_ip_ids|StringArray| +|subnet_id|String| +|time_created|Timestamp| +|availability_domain|String| +|export_set_id|String| +|nsg_ids|StringArray| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_replication_targets.md b/plugins/source/oracle/docs/tables/oracle_filestorage_replication_targets.md new file mode 100644 index 00000000000000..792e961ce0ea6f --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_replication_targets.md @@ -0,0 +1,23 @@ +# Table: oracle_filestorage_replication_targets + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|display_name|String| +|time_created|Timestamp| +|availability_domain|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_details|String| +|recovery_point_time|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_filestorage_replications.md b/plugins/source/oracle/docs/tables/oracle_filestorage_replications.md new file mode 100644 index 00000000000000..8cb5f235345b66 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_filestorage_replications.md @@ -0,0 +1,24 @@ +# Table: oracle_filestorage_replications + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|display_name|String| +|time_created|Timestamp| +|availability_domain|String| +|replication_interval|Int| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_details|String| +|recovery_point_time|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_compartments.md b/plugins/source/oracle/docs/tables/oracle_identity_compartments.md new file mode 100644 index 00000000000000..728365e7d5d8a7 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_compartments.md @@ -0,0 +1,22 @@ +# Table: oracle_identity_compartments + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|name|String| +|description|String| +|time_created|Timestamp| +|lifecycle_state|String| +|inactive_status|Int| +|is_accessible|Bool| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_cost_tracking_tags.md b/plugins/source/oracle/docs/tables/oracle_identity_cost_tracking_tags.md new file mode 100644 index 00000000000000..82742c7d9e7839 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_cost_tracking_tags.md @@ -0,0 +1,24 @@ +# Table: oracle_identity_cost_tracking_tags + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|tag_namespace_id|String| +|tag_namespace_name|String| +|name|String| +|description|String| +|is_retired|Bool| +|time_created|Timestamp| +|freeform_tags|JSON| +|defined_tags|JSON| +|lifecycle_state|String| +|is_cost_tracking|Bool| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_domains.md b/plugins/source/oracle/docs/tables/oracle_identity_domains.md new file mode 100644 index 00000000000000..a3c5707b231e4d --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_domains.md @@ -0,0 +1,29 @@ +# Table: oracle_identity_domains + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|description|String| +|url|String| +|home_region_url|String| +|home_region|String| +|replica_regions|JSON| +|type|String| +|license_type|String| +|is_hidden_on_login|Bool| +|time_created|Timestamp| +|lifecycle_state|String| +|lifecycle_details|String| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_dynamic_groups.md b/plugins/source/oracle/docs/tables/oracle_identity_dynamic_groups.md new file mode 100644 index 00000000000000..b466c3597d2391 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_dynamic_groups.md @@ -0,0 +1,22 @@ +# Table: oracle_identity_dynamic_groups + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|name|String| +|description|String| +|matching_rule|String| +|time_created|Timestamp| +|lifecycle_state|String| +|inactive_status|Int| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_groups.md b/plugins/source/oracle/docs/tables/oracle_identity_groups.md new file mode 100644 index 00000000000000..44a9ac838a33e0 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_groups.md @@ -0,0 +1,21 @@ +# Table: oracle_identity_groups + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|name|String| +|description|String| +|time_created|Timestamp| +|lifecycle_state|String| +|inactive_status|Int| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_iam_work_requests.md b/plugins/source/oracle/docs/tables/oracle_identity_iam_work_requests.md new file mode 100644 index 00000000000000..b20fe3853a5f6e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_iam_work_requests.md @@ -0,0 +1,22 @@ +# Table: oracle_identity_iam_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|percent_complete|Float| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_network_sources.md b/plugins/source/oracle/docs/tables/oracle_identity_network_sources.md new file mode 100644 index 00000000000000..500e3fb72e8fe2 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_network_sources.md @@ -0,0 +1,22 @@ +# Table: oracle_identity_network_sources + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|name|String| +|description|String| +|public_source_list|StringArray| +|virtual_source_list|JSON| +|services|StringArray| +|time_created|Timestamp| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_policies.md b/plugins/source/oracle/docs/tables/oracle_identity_policies.md new file mode 100644 index 00000000000000..df04e1c9365c36 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_policies.md @@ -0,0 +1,24 @@ +# Table: oracle_identity_policies + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|name|String| +|statements|StringArray| +|description|String| +|time_created|Timestamp| +|lifecycle_state|String| +|inactive_status|Int| +|version_date|JSON| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_tag_namespaces.md b/plugins/source/oracle/docs/tables/oracle_identity_tag_namespaces.md new file mode 100644 index 00000000000000..97f72ec5fc4702 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_tag_namespaces.md @@ -0,0 +1,23 @@ +# Table: oracle_identity_tag_namespaces + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|name|String| +|description|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|is_retired|Bool| +|lifecycle_state|String| +|time_created|Timestamp| +|locks|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_tagging_work_requests.md b/plugins/source/oracle/docs/tables/oracle_identity_tagging_work_requests.md new file mode 100644 index 00000000000000..21d91d065242ab --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_tagging_work_requests.md @@ -0,0 +1,22 @@ +# Table: oracle_identity_tagging_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| +|percent_complete|Float| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_users.md b/plugins/source/oracle/docs/tables/oracle_identity_users.md new file mode 100644 index 00000000000000..14f8c63c23546c --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_users.md @@ -0,0 +1,30 @@ +# Table: oracle_identity_users + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|compartment_id|String| +|name|String| +|description|String| +|time_created|Timestamp| +|lifecycle_state|String| +|is_mfa_activated|Bool| +|email|String| +|email_verified|Bool| +|db_user_name|String| +|identity_provider_id|String| +|external_identifier|String| +|inactive_status|Int| +|freeform_tags|JSON| +|defined_tags|JSON| +|capabilities|JSON| +|last_successful_login_time|Timestamp| +|previous_successful_login_time|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_identity_work_requests.md b/plugins/source/oracle/docs/tables/oracle_identity_work_requests.md new file mode 100644 index 00000000000000..d9ca36b923e801 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_identity_work_requests.md @@ -0,0 +1,23 @@ +# Table: oracle_identity_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|errors|JSON| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| +|percent_complete|Float| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_loadbalancer_load_balancers.md b/plugins/source/oracle/docs/tables/oracle_loadbalancer_load_balancers.md new file mode 100644 index 00000000000000..01a64b4a8ed792 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_loadbalancer_load_balancers.md @@ -0,0 +1,35 @@ +# Table: oracle_loadbalancer_load_balancers + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|shape_name|String| +|ip_addresses|JSON| +|shape_details|JSON| +|is_private|Bool| +|subnet_ids|StringArray| +|network_security_group_ids|StringArray| +|listeners|JSON| +|hostnames|JSON| +|ssl_cipher_suites|JSON| +|certificates|JSON| +|backend_sets|JSON| +|path_route_sets|JSON| +|freeform_tags|JSON| +|defined_tags|JSON| +|system_tags|JSON| +|rule_sets|JSON| +|routing_policies|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewall_policies.md b/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewall_policies.md new file mode 100644 index 00000000000000..44a5e86c6bb888 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewall_policies.md @@ -0,0 +1,23 @@ +# Table: oracle_networkfirewall_network_firewall_policies + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|time_created|Timestamp| +|lifecycle_state|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|time_updated|Timestamp| +|lifecycle_details|String| +|system_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewalls.md b/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewalls.md new file mode 100644 index 00000000000000..114f40a328b1a3 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewalls.md @@ -0,0 +1,28 @@ +# Table: oracle_networkfirewall_network_firewalls + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|subnet_id|String| +|network_firewall_policy_id|String| +|time_created|Timestamp| +|lifecycle_state|String| +|freeform_tags|JSON| +|defined_tags|JSON| +|availability_domain|String| +|ipv4_address|String| +|ipv6_address|String| +|time_updated|Timestamp| +|lifecycle_details|String| +|system_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_networkfirewall_work_requests.md b/plugins/source/oracle/docs/tables/oracle_networkfirewall_work_requests.md new file mode 100644 index 00000000000000..a08f28907e3417 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_networkfirewall_work_requests.md @@ -0,0 +1,22 @@ +# Table: oracle_networkfirewall_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|percent_complete|Float| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_network_load_balancers.md b/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_network_load_balancers.md new file mode 100644 index 00000000000000..e10440f819c133 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_network_load_balancers.md @@ -0,0 +1,31 @@ +# Table: oracle_networkloadbalancer_network_load_balancers + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|lifecycle_state|String| +|time_created|Timestamp| +|ip_addresses|JSON| +|subnet_id|String| +|lifecycle_details|String| +|nlb_ip_version|String| +|time_updated|Timestamp| +|is_private|Bool| +|is_preserve_source_destination|Bool| +|network_security_group_ids|StringArray| +|listeners|JSON| +|backend_sets|JSON| +|freeform_tags|JSON| +|defined_tags|JSON| +|system_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_work_requests.md b/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_work_requests.md new file mode 100644 index 00000000000000..65ef4b87d22353 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_work_requests.md @@ -0,0 +1,22 @@ +# Table: oracle_networkloadbalancer_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|percent_complete|Float| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_objectstorage_buckets.md b/plugins/source/oracle/docs/tables/oracle_objectstorage_buckets.md new file mode 100644 index 00000000000000..9df9157f26b4c6 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_objectstorage_buckets.md @@ -0,0 +1,21 @@ +# Table: oracle_objectstorage_buckets + +The composite primary key for this table is (**region**, **compartment_id**, **namespace**, **name**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|namespace (PK)|String| +|name (PK)|String| +|created_by|String| +|time_created|Timestamp| +|etag|String| +|freeform_tags|JSON| +|defined_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_objectstorage_work_requests.md b/plugins/source/oracle/docs/tables/oracle_objectstorage_work_requests.md new file mode 100644 index 00000000000000..d404cf603200db --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_objectstorage_work_requests.md @@ -0,0 +1,22 @@ +# Table: oracle_objectstorage_work_requests + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|operation_type|String| +|status|String| +|resources|JSON| +|percent_complete|Float| +|time_accepted|Timestamp| +|time_started|Timestamp| +|time_finished|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_byoip_ranges.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_byoip_ranges.md new file mode 100644 index 00000000000000..c63252f8d1dc49 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_byoip_ranges.md @@ -0,0 +1,24 @@ +# Table: oracle_virtualnetwork_byoip_ranges + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|byoip_range_vcn_ipv6_allocations|JSON| +|cidr_block|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|ipv6_cidr_block|String| +|lifecycle_state|String| +|lifecycle_details|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_capture_filters.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_capture_filters.md new file mode 100644 index 00000000000000..f6cae921ba36c5 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_capture_filters.md @@ -0,0 +1,22 @@ +# Table: oracle_virtualnetwork_capture_filters + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|filter_type|String| +|time_created|Timestamp| +|vtap_capture_filter_rules|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cpes.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cpes.md new file mode 100644 index 00000000000000..c69f3a41d8fa66 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cpes.md @@ -0,0 +1,21 @@ +# Table: oracle_virtualnetwork_cpes + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|ip_address|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|cpe_device_shape_id|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connect_groups.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connect_groups.md new file mode 100644 index 00000000000000..8cef5c3c9daac3 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connect_groups.md @@ -0,0 +1,24 @@ +# Table: oracle_virtualnetwork_cross_connect_groups + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|lifecycle_state|String| +|customer_reference_name|String| +|time_created|Timestamp| +|macsec_properties|JSON| +|oci_physical_device_name|String| +|oci_logical_device_name|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connects.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connects.md new file mode 100644 index 00000000000000..40123235740148 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connects.md @@ -0,0 +1,28 @@ +# Table: oracle_virtualnetwork_cross_connects + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|cross_connect_group_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|lifecycle_state|String| +|location_name|String| +|port_name|String| +|port_speed_shape_name|String| +|customer_reference_name|String| +|time_created|Timestamp| +|macsec_properties|JSON| +|oci_physical_device_name|String| +|oci_logical_device_name|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_dhcp_options.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_dhcp_options.md new file mode 100644 index 00000000000000..75821fd819d0da --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_dhcp_options.md @@ -0,0 +1,23 @@ +# Table: oracle_virtualnetwork_dhcp_options + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|options|JSON| +|time_created|Timestamp| +|vcn_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|domain_name_type|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drg_attachments.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drg_attachments.md new file mode 100644 index 00000000000000..e284bfe1d48020 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drg_attachments.md @@ -0,0 +1,26 @@ +# Table: oracle_virtualnetwork_drg_attachments + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|drg_id|String| +|lifecycle_state|String| +|display_name|String| +|time_created|Timestamp| +|drg_route_table_id|String| +|defined_tags|JSON| +|freeform_tags|JSON| +|route_table_id|String| +|vcn_id|String| +|export_drg_route_distribution_id|String| +|is_cross_tenancy|Bool| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drgs.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drgs.md new file mode 100644 index 00000000000000..4fe223815fc5dd --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drgs.md @@ -0,0 +1,22 @@ +# Table: oracle_virtualnetwork_drgs + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|time_created|Timestamp| +|default_drg_route_tables|JSON| +|default_export_drg_route_distribution_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_fast_connect_provider_services.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_fast_connect_provider_services.md new file mode 100644 index 00000000000000..0d1a5930dec07e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_fast_connect_provider_services.md @@ -0,0 +1,26 @@ +# Table: oracle_virtualnetwork_fast_connect_provider_services + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|private_peering_bgp_management|String| +|provider_name|String| +|provider_service_name|String| +|public_peering_bgp_management|String| +|customer_asn_management|String| +|provider_service_key_management|String| +|bandwith_shape_management|String| +|required_total_cross_connects|Int| +|type|String| +|description|String| +|supported_virtual_circuit_types|StringArray| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_internet_gateways.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_internet_gateways.md new file mode 100644 index 00000000000000..78540ea5106764 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_internet_gateways.md @@ -0,0 +1,23 @@ +# Table: oracle_virtualnetwork_internet_gateways + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|vcn_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|is_enabled|Bool| +|time_created|Timestamp| +|route_table_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_ip_sec_connections.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_ip_sec_connections.md new file mode 100644 index 00000000000000..f0419018c4fd33 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_ip_sec_connections.md @@ -0,0 +1,25 @@ +# Table: oracle_virtualnetwork_ip_sec_connections + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|cpe_id|String| +|drg_id|String| +|lifecycle_state|String| +|static_routes|StringArray| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|cpe_local_identifier|String| +|cpe_local_identifier_type|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_local_peering_gateways.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_local_peering_gateways.md new file mode 100644 index 00000000000000..67321339ee02f5 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_local_peering_gateways.md @@ -0,0 +1,28 @@ +# Table: oracle_virtualnetwork_local_peering_gateways + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|is_cross_tenancy_peering|Bool| +|lifecycle_state|String| +|peering_status|String| +|peer_id|String| +|time_created|Timestamp| +|vcn_id|String| +|defined_tags|JSON| +|freeform_tags|JSON| +|peer_advertised_cidr|String| +|peer_advertised_cidr_details|StringArray| +|peering_status_details|String| +|route_table_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_nat_gateways.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_nat_gateways.md new file mode 100644 index 00000000000000..6a8a31f00619ea --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_nat_gateways.md @@ -0,0 +1,25 @@ +# Table: oracle_virtualnetwork_nat_gateways + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|block_traffic|Bool| +|lifecycle_state|String| +|nat_ip|String| +|time_created|Timestamp| +|vcn_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|public_ip_id|String| +|route_table_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_public_ip_pools.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_public_ip_pools.md new file mode 100644 index 00000000000000..0a26374c6378db --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_public_ip_pools.md @@ -0,0 +1,20 @@ +# Table: oracle_virtualnetwork_public_ip_pools + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|lifecycle_state|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_remote_peering_connections.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_remote_peering_connections.md new file mode 100644 index 00000000000000..9e33a1d5513d6e --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_remote_peering_connections.md @@ -0,0 +1,26 @@ +# Table: oracle_virtualnetwork_remote_peering_connections + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|drg_id|String| +|is_cross_tenancy_peering|Bool| +|lifecycle_state|String| +|peering_status|String| +|time_created|Timestamp| +|defined_tags|JSON| +|freeform_tags|JSON| +|peer_id|String| +|peer_region_name|String| +|peer_tenancy_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_route_tables.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_route_tables.md new file mode 100644 index 00000000000000..574fceeb2f7bf7 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_route_tables.md @@ -0,0 +1,22 @@ +# Table: oracle_virtualnetwork_route_tables + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|lifecycle_state|String| +|route_rules|JSON| +|vcn_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_security_lists.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_security_lists.md new file mode 100644 index 00000000000000..d97ba956e047e0 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_security_lists.md @@ -0,0 +1,23 @@ +# Table: oracle_virtualnetwork_security_lists + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|display_name|String| +|egress_security_rules|JSON| +|ingress_security_rules|JSON| +|lifecycle_state|String| +|time_created|Timestamp| +|vcn_id|String| +|defined_tags|JSON| +|freeform_tags|JSON| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_service_gateways.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_service_gateways.md new file mode 100644 index 00000000000000..5a87bbb091d1c2 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_service_gateways.md @@ -0,0 +1,24 @@ +# Table: oracle_virtualnetwork_service_gateways + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|block_traffic|Bool| +|lifecycle_state|String| +|services|JSON| +|vcn_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|route_table_id|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_subnets.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_subnets.md new file mode 100644 index 00000000000000..b7f5a804dc3a3a --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_subnets.md @@ -0,0 +1,35 @@ +# Table: oracle_virtualnetwork_subnets + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|cidr_block|String| +|lifecycle_state|String| +|route_table_id|String| +|vcn_id|String| +|virtual_router_ip|String| +|virtual_router_mac|String| +|availability_domain|String| +|defined_tags|JSON| +|dhcp_options_id|String| +|display_name|String| +|dns_label|String| +|freeform_tags|JSON| +|ipv6_cidr_block|String| +|ipv6_cidr_blocks|StringArray| +|ipv6_virtual_router_ip|String| +|prohibit_internet_ingress|Bool| +|prohibit_public_ip_on_vnic|Bool| +|security_list_ids|StringArray| +|subnet_domain_name|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vcns.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vcns.md new file mode 100644 index 00000000000000..201a4f77c2beb8 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vcns.md @@ -0,0 +1,30 @@ +# Table: oracle_virtualnetwork_vcns + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|cidr_block|String| +|cidr_blocks|StringArray| +|lifecycle_state|String| +|byoipv6_cidr_blocks|StringArray| +|ipv6_private_cidr_blocks|StringArray| +|default_dhcp_options_id|String| +|default_route_table_id|String| +|default_security_list_id|String| +|defined_tags|JSON| +|display_name|String| +|dns_label|String| +|freeform_tags|JSON| +|ipv6_cidr_blocks|StringArray| +|time_created|Timestamp| +|vcn_domain_name|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_virtual_circuits.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_virtual_circuits.md new file mode 100644 index 00000000000000..49545ae1647e01 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_virtual_circuits.md @@ -0,0 +1,42 @@ +# Table: oracle_virtualnetwork_virtual_circuits + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|bandwidth_shape_name|String| +|bgp_management|String| +|bgp_session_state|String| +|bgp_ipv6_session_state|String| +|cross_connect_mappings|JSON| +|routing_policy|StringArray| +|bgp_admin_state|String| +|is_bfd_enabled|Bool| +|customer_bgp_asn|Int| +|customer_asn|Int| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|gateway_id|String| +|lifecycle_state|String| +|oracle_bgp_asn|Int| +|provider_name|String| +|provider_service_id|String| +|provider_service_key_name|String| +|provider_service_name|String| +|provider_state|String| +|public_prefixes|StringArray| +|reference_comment|String| +|service_type|String| +|time_created|Timestamp| +|type|String| +|ip_mtu|String| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vlans.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vlans.md new file mode 100644 index 00000000000000..6434facd5f7428 --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vlans.md @@ -0,0 +1,26 @@ +# Table: oracle_virtualnetwork_vlans + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|cidr_block|String| +|lifecycle_state|String| +|vcn_id|String| +|availability_domain|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|nsg_ids|StringArray| +|vlan_tag|Int| +|route_table_id|String| +|time_created|Timestamp| \ No newline at end of file diff --git a/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vtaps.md b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vtaps.md new file mode 100644 index 00000000000000..e88601126e7edf --- /dev/null +++ b/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vtaps.md @@ -0,0 +1,35 @@ +# Table: oracle_virtualnetwork_vtaps + +The composite primary key for this table is (**region**, **compartment_id**, **id**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|region (PK)|String| +|compartment_id (PK)|String| +|id (PK)|String| +|vcn_id|String| +|lifecycle_state|String| +|source_id|String| +|capture_filter_id|String| +|defined_tags|JSON| +|display_name|String| +|freeform_tags|JSON| +|lifecycle_state_details|String| +|time_created|Timestamp| +|target_id|String| +|target_ip|String| +|encapsulation_protocol|String| +|vxlan_network_identifier|Int| +|is_vtap_enabled|Bool| +|source_type|String| +|traffic_mode|String| +|max_packet_size|Int| +|target_type|String| +|source_private_endpoint_ip|String| +|source_private_endpoint_subnet_id|String| \ No newline at end of file diff --git a/plugins/source/oracle/go.mod b/plugins/source/oracle/go.mod new file mode 100644 index 00000000000000..d17e524b76706d --- /dev/null +++ b/plugins/source/oracle/go.mod @@ -0,0 +1,37 @@ +module github.com/cloudquery/cloudquery/plugins/source/oracle + +go 1.19 + +require ( + github.com/cloudquery/plugin-sdk v1.21.0 + github.com/iancoleman/strcase v0.2.0 + github.com/oracle/oci-go-sdk/v65 v65.28.0 + github.com/rs/zerolog v1.28.0 + golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 +) + +require ( + github.com/getsentry/sentry-go v0.16.0 // indirect + github.com/ghodss/yaml v1.0.0 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 // indirect + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect + github.com/sony/gobreaker v0.5.0 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/thoas/go-funk v0.9.3 // indirect + golang.org/x/net v0.4.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect + google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect + google.golang.org/grpc v1.51.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect +) diff --git a/plugins/source/oracle/go.sum b/plugins/source/oracle/go.sum new file mode 100644 index 00000000000000..007504af92ad2b --- /dev/null +++ b/plugins/source/oracle/go.sum @@ -0,0 +1,477 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= +github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudquery/plugin-sdk v1.21.0 h1:Oon4fFeUpc/QNkSwLPaoHcv9EVzcXK/6Y3ZaAcg7VOk= +github.com/cloudquery/plugin-sdk v1.21.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/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= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +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/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/getsentry/sentry-go v0.16.0 h1:owk+S+5XcgJLlGR/3+3s6N4d+uKwqYvh/eS0AIMjPWo= +github.com/getsentry/sentry-go v0.16.0/go.mod h1:ZXCloQLj0pG7mja5NK6NPf2V4A88YJ4pNlc2mOHwh6Y= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +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/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/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 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 h1:hRcWZ7716+E1tkMSZJ/QeeC2dPGGB1R/4z4m9RsL8Qg= +github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3/go.mod h1:54asssGY3Bohr5FRbew+bjfuQTT2WS9V7hW7gPqmcKM= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20201002093600-73cf2ae9d891/go.mod h1:GhphxcdlaRyAuBSvo6rV71BvQcvB/vuX8ugCyybuS2k= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 h1:o95KDiV/b1xdkumY5YbLR0/n2+wBxUpgf3HgfKgTyLI= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3/go.mod h1:hTxjzRcX49ogbTGVJ1sM5mz5s+SSgiGIyL3jjPxl32E= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/oracle/oci-go-sdk/v65 v65.28.0 h1:FgBWmHzT1y9H9tRQYOiX22Z8ec5p6/M5sSYRGcbWAno= +github.com/oracle/oci-go-sdk/v65 v65.28.0/go.mod h1:oyMrMa1vOzzKTmPN+kqrTR9y9kPA2tU1igN3NUSNTIE= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo= +github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= +github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/schollz/progressbar/v3 v3.12.2 h1:yLqqqpQNMxGxHY8uEshRihaHWwa0rf0yb7/Zrpgq2C0= +github.com/sony/gobreaker v0.5.0 h1:dRCvqm0P490vZPmy7ppEk2qCnCieBooFJ+YoXGYB+yg= +github.com/sony/gobreaker v0.5.0/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +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.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +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.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/thoas/go-funk v0.9.3 h1:7+nAEx3kn5ZJcnDm2Bh23N2yOtweO14bi//dvRtgLpw= +github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +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.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc/examples v0.0.0-20210424002626-9572fd6faeae/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= +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= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +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.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/plugins/source/oracle/main.go b/plugins/source/oracle/main.go new file mode 100644 index 00000000000000..458efa49bd5c32 --- /dev/null +++ b/plugins/source/oracle/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/plugin" + "github.com/cloudquery/plugin-sdk/serve" +) + +const sentryDSN = "https://e97f52f0673f44849bab5617a4e07959@o1396617.ingest.sentry.io/4504474234650624" + +func main() { + serve.Source(plugin.Plugin(), serve.WithSourceSentryDSN(sentryDSN)) +} diff --git a/plugins/source/oracle/resources/plugin/autogen_tables.go b/plugins/source/oracle/resources/plugin/autogen_tables.go new file mode 100644 index 00000000000000..582927358bb79e --- /dev/null +++ b/plugins/source/oracle/resources/plugin/autogen_tables.go @@ -0,0 +1,51 @@ +package plugin + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/compute" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/loadbalancer" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/networkfirewall" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/networkloadbalancer" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/virtualnetwork" + "github.com/cloudquery/plugin-sdk/schema" +) + +func AutogenTables() []*schema.Table { + return []*schema.Table{ + compute.ComputeCapacityReservations(), + compute.ConsoleHistories(), + compute.DedicatedVmHosts(), + compute.Images(), + compute.InstanceConsoleConnections(), + compute.Instances(), + compute.VnicAttachments(), + loadbalancer.LoadBalancers(), + networkfirewall.NetworkFirewallPolicies(), + networkfirewall.NetworkFirewalls(), + networkfirewall.WorkRequests(), + networkloadbalancer.NetworkLoadBalancers(), + networkloadbalancer.WorkRequests(), + virtualnetwork.ByoipRanges(), + virtualnetwork.CaptureFilters(), + virtualnetwork.Cpes(), + virtualnetwork.CrossConnectGroups(), + virtualnetwork.CrossConnects(), + virtualnetwork.DhcpOptions(), + virtualnetwork.DrgAttachments(), + virtualnetwork.Drgs(), + virtualnetwork.FastConnectProviderServices(), + virtualnetwork.InternetGateways(), + virtualnetwork.IpSecConnections(), + virtualnetwork.LocalPeeringGateways(), + virtualnetwork.NatGateways(), + virtualnetwork.PublicIpPools(), + virtualnetwork.RemotePeeringConnections(), + virtualnetwork.RouteTables(), + virtualnetwork.SecurityLists(), + virtualnetwork.ServiceGateways(), + virtualnetwork.Subnets(), + virtualnetwork.Vcns(), + virtualnetwork.VirtualCircuits(), + virtualnetwork.Vlans(), + virtualnetwork.Vtaps(), + } +} diff --git a/plugins/source/oracle/resources/plugin/plugin.go b/plugins/source/oracle/resources/plugin/plugin.go new file mode 100644 index 00000000000000..55605863b666ee --- /dev/null +++ b/plugins/source/oracle/resources/plugin/plugin.go @@ -0,0 +1,79 @@ +package plugin + +import ( + "sort" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/blockstorage" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/database" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/filestorage" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/identity" + "github.com/cloudquery/cloudquery/plugins/source/oracle/resources/services/objectstorage" + "github.com/cloudquery/plugin-sdk/plugins/source" + "github.com/cloudquery/plugin-sdk/schema" +) + +var ( + Version = "development" +) + +var customTables = []*schema.Table{ + blockstorage.BootVolumeBackups(), + blockstorage.BootVolumeReplicas(), + blockstorage.BootVolumes(), + blockstorage.VolumeBackupPolicies(), + blockstorage.VolumeBackups(), + blockstorage.VolumeGroupBackups(), + blockstorage.VolumeGroups(), + blockstorage.Volumes(), + database.AutonomousContainerDatabases(), + database.AutonomousDatabases(), + database.AutonomousExadataInfrastructures(), + database.AutonomousVmClusters(), + database.BackupDestination(), + database.CloudAutonomousVmClusters(), + database.CloudExadataInfrastructures(), + database.CloudVmClusters(), + database.ExadataInfrastructures(), + database.ExternalContainerDatabases(), + database.ExternalNonContainerDatabases(), + database.ExternalPluggableDatabases(), + database.KeyStores(), + database.VmClusters(), + filestorage.ExportSets(), + filestorage.Exports(), + filestorage.FileSystems(), + filestorage.MountTargets(), + filestorage.ReplicationTargets(), + filestorage.Replications(), + identity.Compartments(), + identity.CostTrackingTags(), + identity.Domains(), + identity.DynamicGroups(), + identity.Groups(), + identity.IamWorkRequests(), + identity.NetworkSources(), + identity.Policies(), + identity.TagNamespaces(), + identity.TaggingWorkRequests(), + identity.Users(), + identity.WorkRequests(), + objectstorage.Buckets(), + objectstorage.WorkRequests(), +} + +func Plugin() *source.Plugin { + allTables := append(AutogenTables(), customTables...) + + sort.Slice(allTables, func(i, j int) bool { + return allTables[i].Name < allTables[j].Name + }) + + // here you can append custom non-generated tables + return source.NewPlugin( + "oracle", + Version, + allTables, + client.Configure, + ) +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups.go b/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups.go new file mode 100644 index 00000000000000..778273bcc53720 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func BootVolumeBackups() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_boot_volume_backups", + Resolver: fetchBootVolumeBackups, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.BootVolumeBackup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups_fetch.go b/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups_fetch.go new file mode 100644 index 00000000000000..1b93bdc4a68d44 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volume_backups_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchBootVolumeBackups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListBootVolumeBackupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListBootVolumeBackups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas.go b/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas.go new file mode 100644 index 00000000000000..e834259d51575d --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func BootVolumeReplicas() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_boot_volume_replicas", + Resolver: fetchBootVolumeReplicas, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.BootVolumeReplica{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas_fetch.go b/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas_fetch.go new file mode 100644 index 00000000000000..57363fa31fffda --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volume_replicas_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchBootVolumeReplicas(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListBootVolumeReplicasRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListBootVolumeReplicas(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volumes.go b/plugins/source/oracle/resources/services/blockstorage/boot_volumes.go new file mode 100644 index 00000000000000..ef4622275a6898 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volumes.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func BootVolumes() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_boot_volumes", + Resolver: fetchBootVolumes, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.BootVolume{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/boot_volumes_fetch.go b/plugins/source/oracle/resources/services/blockstorage/boot_volumes_fetch.go new file mode 100644 index 00000000000000..b0d3fa4a2df9f7 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/boot_volumes_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchBootVolumes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListBootVolumesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListBootVolumes(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies.go b/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies.go new file mode 100644 index 00000000000000..855286c62f1465 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VolumeBackupPolicies() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_volume_backup_policies", + Resolver: fetchVolumeBackupPolicies, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VolumeBackupPolicy{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies_fetch.go b/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies_fetch.go new file mode 100644 index 00000000000000..2373311e3efea8 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_backup_policies_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVolumeBackupPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVolumeBackupPoliciesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListVolumeBackupPolicies(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_backups.go b/plugins/source/oracle/resources/services/blockstorage/volume_backups.go new file mode 100644 index 00000000000000..84db3e129bd54f --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_backups.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VolumeBackups() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_volume_backups", + Resolver: fetchVolumeBackups, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VolumeBackup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_backups_fetch.go b/plugins/source/oracle/resources/services/blockstorage/volume_backups_fetch.go new file mode 100644 index 00000000000000..2da73cd22e4c6d --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_backups_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVolumeBackups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVolumeBackupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListVolumeBackups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_group_backups.go b/plugins/source/oracle/resources/services/blockstorage/volume_group_backups.go new file mode 100644 index 00000000000000..a4e62a93f2202b --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_group_backups.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VolumeGroupBackups() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_volume_group_backups", + Resolver: fetchVolumeGroupBackups, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VolumeGroupBackup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_group_backups_fetch.go b/plugins/source/oracle/resources/services/blockstorage/volume_group_backups_fetch.go new file mode 100644 index 00000000000000..a926b5818a1972 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_group_backups_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVolumeGroupBackups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVolumeGroupBackupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListVolumeGroupBackups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_groups.go b/plugins/source/oracle/resources/services/blockstorage/volume_groups.go new file mode 100644 index 00000000000000..1db648e1db07bf --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_groups.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VolumeGroups() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_volume_groups", + Resolver: fetchVolumeGroups, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VolumeGroup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volume_groups_fetch.go b/plugins/source/oracle/resources/services/blockstorage/volume_groups_fetch.go new file mode 100644 index 00000000000000..d8e86e0a4a0f58 --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volume_groups_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVolumeGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVolumeGroupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListVolumeGroups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volumes.go b/plugins/source/oracle/resources/services/blockstorage/volumes.go new file mode 100644 index 00000000000000..d5119c74eb721b --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volumes.go @@ -0,0 +1,44 @@ +package blockstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Volumes() *schema.Table { + return &schema.Table{ + Name: "oracle_blockstorage_volumes", + Resolver: fetchVolumes, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Volume{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/blockstorage/volumes_fetch.go b/plugins/source/oracle/resources/services/blockstorage/volumes_fetch.go new file mode 100644 index 00000000000000..df9f6cfc517fbb --- /dev/null +++ b/plugins/source/oracle/resources/services/blockstorage/volumes_fetch.go @@ -0,0 +1,38 @@ +package blockstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVolumes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVolumesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreBlockstorageClient.ListVolumes(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/compute_capacity_reservations.go b/plugins/source/oracle/resources/services/compute/compute_capacity_reservations.go new file mode 100644 index 00000000000000..03f74f889e9853 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/compute_capacity_reservations.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func ComputeCapacityReservations() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_compute_capacity_reservations", + Resolver: fetchComputeCapacityReservations, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.ComputeCapacityReservationSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/compute_capacity_reservations_fetch.go b/plugins/source/oracle/resources/services/compute/compute_capacity_reservations_fetch.go new file mode 100644 index 00000000000000..3b1322c0beff0c --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/compute_capacity_reservations_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchComputeCapacityReservations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListComputeCapacityReservationsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListComputeCapacityReservations(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/console_histories.go b/plugins/source/oracle/resources/services/compute/console_histories.go new file mode 100644 index 00000000000000..09c38234c2a63c --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/console_histories.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func ConsoleHistories() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_console_histories", + Resolver: fetchConsoleHistories, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.ConsoleHistory{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/console_histories_fetch.go b/plugins/source/oracle/resources/services/compute/console_histories_fetch.go new file mode 100644 index 00000000000000..9e7158065c704a --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/console_histories_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchConsoleHistories(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListConsoleHistoriesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListConsoleHistories(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts.go b/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts.go new file mode 100644 index 00000000000000..5aacce02cd41e1 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func DedicatedVmHosts() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_dedicated_vm_hosts", + Resolver: fetchDedicatedVmHosts, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.DedicatedVmHostSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts_fetch.go b/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts_fetch.go new file mode 100644 index 00000000000000..2d5f55d609c64a --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/dedicated_vm_hosts_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchDedicatedVmHosts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListDedicatedVmHostsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListDedicatedVmHosts(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/images.go b/plugins/source/oracle/resources/services/compute/images.go new file mode 100644 index 00000000000000..c8e0bb5deb162d --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/images.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Images() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_images", + Resolver: fetchImages, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Image{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/images_fetch.go b/plugins/source/oracle/resources/services/compute/images_fetch.go new file mode 100644 index 00000000000000..60e7df23304193 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/images_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchImages(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListImagesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListImages(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/instance_console_connections.go b/plugins/source/oracle/resources/services/compute/instance_console_connections.go new file mode 100644 index 00000000000000..c6df71b13ed821 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/instance_console_connections.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func InstanceConsoleConnections() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_instance_console_connections", + Resolver: fetchInstanceConsoleConnections, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.InstanceConsoleConnection{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/instance_console_connections_fetch.go b/plugins/source/oracle/resources/services/compute/instance_console_connections_fetch.go new file mode 100644 index 00000000000000..066a70e29d1cfb --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/instance_console_connections_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchInstanceConsoleConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListInstanceConsoleConnectionsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListInstanceConsoleConnections(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/instances.go b/plugins/source/oracle/resources/services/compute/instances.go new file mode 100644 index 00000000000000..a9382f4932aa15 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/instances.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Instances() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_instances", + Resolver: fetchInstances, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Instance{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/instances_fetch.go b/plugins/source/oracle/resources/services/compute/instances_fetch.go new file mode 100644 index 00000000000000..391bdec452062b --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/instances_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchInstances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListInstancesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListInstances(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/compute/vnic_attachments.go b/plugins/source/oracle/resources/services/compute/vnic_attachments.go new file mode 100644 index 00000000000000..ef51ba1d38e3b2 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/vnic_attachments.go @@ -0,0 +1,44 @@ +package compute + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VnicAttachments() *schema.Table { + return &schema.Table{ + Name: "oracle_compute_vnic_attachments", + Resolver: fetchVnicAttachments, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VnicAttachment{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/compute/vnic_attachments_fetch.go b/plugins/source/oracle/resources/services/compute/vnic_attachments_fetch.go new file mode 100644 index 00000000000000..0f86d311589065 --- /dev/null +++ b/plugins/source/oracle/resources/services/compute/vnic_attachments_fetch.go @@ -0,0 +1,38 @@ +package compute + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVnicAttachments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVnicAttachmentsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreComputeClient.ListVnicAttachments(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_container_databases.go b/plugins/source/oracle/resources/services/database/autonomous_container_databases.go new file mode 100644 index 00000000000000..c22042d697d6a3 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_container_databases.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func AutonomousContainerDatabases() *schema.Table { + return &schema.Table{ + Name: "oracle_database_autonomous_container_databases", + Resolver: fetchAutonomousContainerDatabases, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.AutonomousContainerDatabaseSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_container_databases_fetch.go b/plugins/source/oracle/resources/services/database/autonomous_container_databases_fetch.go new file mode 100644 index 00000000000000..8b86a79037acb6 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_container_databases_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchAutonomousContainerDatabases(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListAutonomousContainerDatabasesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListAutonomousContainerDatabases(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_databases.go b/plugins/source/oracle/resources/services/database/autonomous_databases.go new file mode 100644 index 00000000000000..f2ac1c585e3ed2 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_databases.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func AutonomousDatabases() *schema.Table { + return &schema.Table{ + Name: "oracle_database_autonomous_databases", + Resolver: fetchAutonomousDatabases, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.AutonomousDatabaseSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_databases_fetch.go b/plugins/source/oracle/resources/services/database/autonomous_databases_fetch.go new file mode 100644 index 00000000000000..323cbf3f6ef1bf --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_databases_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchAutonomousDatabases(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListAutonomousDatabasesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListAutonomousDatabases(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures.go b/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures.go new file mode 100644 index 00000000000000..b05bcef9f8893e --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func AutonomousExadataInfrastructures() *schema.Table { + return &schema.Table{ + Name: "oracle_database_autonomous_exadata_infrastructures", + Resolver: fetchAutonomousExadataInfrastructures, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.AutonomousExadataInfrastructureSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures_fetch.go b/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures_fetch.go new file mode 100644 index 00000000000000..d70781cda5615e --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_exadata_infrastructures_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchAutonomousExadataInfrastructures(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListAutonomousExadataInfrastructuresRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListAutonomousExadataInfrastructures(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_vm_clusters.go b/plugins/source/oracle/resources/services/database/autonomous_vm_clusters.go new file mode 100644 index 00000000000000..bf8e18c33b7b62 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_vm_clusters.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func AutonomousVmClusters() *schema.Table { + return &schema.Table{ + Name: "oracle_database_autonomous_vm_clusters", + Resolver: fetchAutonomousVmClusters, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.AutonomousVmClusterSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/autonomous_vm_clusters_fetch.go b/plugins/source/oracle/resources/services/database/autonomous_vm_clusters_fetch.go new file mode 100644 index 00000000000000..1b52c8abbe68ec --- /dev/null +++ b/plugins/source/oracle/resources/services/database/autonomous_vm_clusters_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchAutonomousVmClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListAutonomousVmClustersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListAutonomousVmClusters(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/backup_destination.go b/plugins/source/oracle/resources/services/database/backup_destination.go new file mode 100644 index 00000000000000..99dfafe26467fb --- /dev/null +++ b/plugins/source/oracle/resources/services/database/backup_destination.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func BackupDestination() *schema.Table { + return &schema.Table{ + Name: "oracle_database_backup_destination", + Resolver: fetchBackupDestination, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.BackupDestinationSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/backup_destination_fetch.go b/plugins/source/oracle/resources/services/database/backup_destination_fetch.go new file mode 100644 index 00000000000000..3ec7b8904fcf0a --- /dev/null +++ b/plugins/source/oracle/resources/services/database/backup_destination_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchBackupDestination(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListBackupDestinationRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListBackupDestination(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters.go b/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters.go new file mode 100644 index 00000000000000..9047012baa6038 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func CloudAutonomousVmClusters() *schema.Table { + return &schema.Table{ + Name: "oracle_database_cloud_autonomous_vm_clusters", + Resolver: fetchCloudAutonomousVmClusters, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.CloudAutonomousVmClusterSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters_fetch.go b/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters_fetch.go new file mode 100644 index 00000000000000..06037740100635 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_autonomous_vm_clusters_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchCloudAutonomousVmClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListCloudAutonomousVmClustersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListCloudAutonomousVmClusters(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures.go b/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures.go new file mode 100644 index 00000000000000..07be50ef601b18 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func CloudExadataInfrastructures() *schema.Table { + return &schema.Table{ + Name: "oracle_database_cloud_exadata_infrastructures", + Resolver: fetchCloudExadataInfrastructures, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.CloudExadataInfrastructureSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures_fetch.go b/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures_fetch.go new file mode 100644 index 00000000000000..83fd43c202c94c --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_exadata_infrastructures_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchCloudExadataInfrastructures(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListCloudExadataInfrastructuresRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListCloudExadataInfrastructures(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/cloud_vm_clusters.go b/plugins/source/oracle/resources/services/database/cloud_vm_clusters.go new file mode 100644 index 00000000000000..19aae381bf7591 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_vm_clusters.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func CloudVmClusters() *schema.Table { + return &schema.Table{ + Name: "oracle_database_cloud_vm_clusters", + Resolver: fetchCloudVmClusters, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.CloudVmClusterSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/cloud_vm_clusters_fetch.go b/plugins/source/oracle/resources/services/database/cloud_vm_clusters_fetch.go new file mode 100644 index 00000000000000..394e0ad9c99163 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/cloud_vm_clusters_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchCloudVmClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListCloudVmClustersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListCloudVmClusters(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/exadata_infrastructures.go b/plugins/source/oracle/resources/services/database/exadata_infrastructures.go new file mode 100644 index 00000000000000..58157dd7343102 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/exadata_infrastructures.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func ExadataInfrastructures() *schema.Table { + return &schema.Table{ + Name: "oracle_database_exadata_infrastructures", + Resolver: fetchExadataInfrastructures, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.ExadataInfrastructureSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/exadata_infrastructures_fetch.go b/plugins/source/oracle/resources/services/database/exadata_infrastructures_fetch.go new file mode 100644 index 00000000000000..fe73e28867eeda --- /dev/null +++ b/plugins/source/oracle/resources/services/database/exadata_infrastructures_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchExadataInfrastructures(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListExadataInfrastructuresRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListExadataInfrastructures(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/external_container_databases.go b/plugins/source/oracle/resources/services/database/external_container_databases.go new file mode 100644 index 00000000000000..47e871e2455f50 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_container_databases.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func ExternalContainerDatabases() *schema.Table { + return &schema.Table{ + Name: "oracle_database_external_container_databases", + Resolver: fetchExternalContainerDatabases, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.ExternalContainerDatabaseSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/external_container_databases_fetch.go b/plugins/source/oracle/resources/services/database/external_container_databases_fetch.go new file mode 100644 index 00000000000000..f87c84cabdc27c --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_container_databases_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchExternalContainerDatabases(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListExternalContainerDatabasesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListExternalContainerDatabases(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/external_non_container_databases.go b/plugins/source/oracle/resources/services/database/external_non_container_databases.go new file mode 100644 index 00000000000000..3e47ffce1ec818 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_non_container_databases.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func ExternalNonContainerDatabases() *schema.Table { + return &schema.Table{ + Name: "oracle_database_external_non_container_databases", + Resolver: fetchExternalNonContainerDatabases, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.ExternalNonContainerDatabaseSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/external_non_container_databases_fetch.go b/plugins/source/oracle/resources/services/database/external_non_container_databases_fetch.go new file mode 100644 index 00000000000000..7015d3c3b12677 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_non_container_databases_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchExternalNonContainerDatabases(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListExternalNonContainerDatabasesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListExternalNonContainerDatabases(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/external_pluggable_databases.go b/plugins/source/oracle/resources/services/database/external_pluggable_databases.go new file mode 100644 index 00000000000000..502ddfdc738762 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_pluggable_databases.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func ExternalPluggableDatabases() *schema.Table { + return &schema.Table{ + Name: "oracle_database_external_pluggable_databases", + Resolver: fetchExternalPluggableDatabases, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.ExternalPluggableDatabaseSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/external_pluggable_databases_fetch.go b/plugins/source/oracle/resources/services/database/external_pluggable_databases_fetch.go new file mode 100644 index 00000000000000..af35b94f7ff797 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/external_pluggable_databases_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchExternalPluggableDatabases(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListExternalPluggableDatabasesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListExternalPluggableDatabases(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/key_stores.go b/plugins/source/oracle/resources/services/database/key_stores.go new file mode 100644 index 00000000000000..5131f39617c2b8 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/key_stores.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func KeyStores() *schema.Table { + return &schema.Table{ + Name: "oracle_database_key_stores", + Resolver: fetchKeyStores, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.KeyStoreSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/key_stores_fetch.go b/plugins/source/oracle/resources/services/database/key_stores_fetch.go new file mode 100644 index 00000000000000..d43264ff8088c1 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/key_stores_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchKeyStores(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListKeyStoresRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListKeyStores(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/database/vm_clusters.go b/plugins/source/oracle/resources/services/database/vm_clusters.go new file mode 100644 index 00000000000000..8b0e2eb9e7d394 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/vm_clusters.go @@ -0,0 +1,44 @@ +package database + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func VmClusters() *schema.Table { + return &schema.Table{ + Name: "oracle_database_vm_clusters", + Resolver: fetchVmClusters, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&database.VmClusterSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/database/vm_clusters_fetch.go b/plugins/source/oracle/resources/services/database/vm_clusters_fetch.go new file mode 100644 index 00000000000000..d96aa91fcdaa06 --- /dev/null +++ b/plugins/source/oracle/resources/services/database/vm_clusters_fetch.go @@ -0,0 +1,38 @@ +package database + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/database" +) + +func fetchVmClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := database.ListVmClustersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].DatabaseDatabaseClient.ListVmClusters(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/export_sets.go b/plugins/source/oracle/resources/services/filestorage/export_sets.go new file mode 100644 index 00000000000000..888b81de4ba971 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/export_sets.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func ExportSets() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_export_sets", + Resolver: fetchExportSets, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.ExportSetSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/export_sets_fetch.go b/plugins/source/oracle/resources/services/filestorage/export_sets_fetch.go new file mode 100644 index 00000000000000..ebf15cb7a820a5 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/export_sets_fetch.go @@ -0,0 +1,39 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchExportSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListExportSetsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + AvailabilityDomain: common.String(cqClient.AvailibilityDomain), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListExportSets(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/exports.go b/plugins/source/oracle/resources/services/filestorage/exports.go new file mode 100644 index 00000000000000..c5ddd38075dc24 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/exports.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func Exports() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_exports", + Resolver: fetchExports, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.ExportSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/exports_fetch.go b/plugins/source/oracle/resources/services/filestorage/exports_fetch.go new file mode 100644 index 00000000000000..2664f244be1f8f --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/exports_fetch.go @@ -0,0 +1,38 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchExports(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListExportsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListExports(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/file_systems.go b/plugins/source/oracle/resources/services/filestorage/file_systems.go new file mode 100644 index 00000000000000..5eaf4f3afff9dd --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/file_systems.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func FileSystems() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_file_systems", + Resolver: fetchFileSystems, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.FileSystemSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/file_systems_fetch.go b/plugins/source/oracle/resources/services/filestorage/file_systems_fetch.go new file mode 100644 index 00000000000000..8799befaba229e --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/file_systems_fetch.go @@ -0,0 +1,39 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchFileSystems(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListFileSystemsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + AvailabilityDomain: common.String(cqClient.AvailibilityDomain), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListFileSystems(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/mount_targets.go b/plugins/source/oracle/resources/services/filestorage/mount_targets.go new file mode 100644 index 00000000000000..bfd5a3224a5d8b --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/mount_targets.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func MountTargets() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_mount_targets", + Resolver: fetchMountTargets, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.MountTargetSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/mount_targets_fetch.go b/plugins/source/oracle/resources/services/filestorage/mount_targets_fetch.go new file mode 100644 index 00000000000000..172b2575c2ab8a --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/mount_targets_fetch.go @@ -0,0 +1,39 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchMountTargets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListMountTargetsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + AvailabilityDomain: common.String(cqClient.AvailibilityDomain), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListMountTargets(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/replication_targets.go b/plugins/source/oracle/resources/services/filestorage/replication_targets.go new file mode 100644 index 00000000000000..022eaac1435f52 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/replication_targets.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func ReplicationTargets() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_replication_targets", + Resolver: fetchReplicationTargets, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.ReplicationTargetSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/replication_targets_fetch.go b/plugins/source/oracle/resources/services/filestorage/replication_targets_fetch.go new file mode 100644 index 00000000000000..6c266783ea9f2d --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/replication_targets_fetch.go @@ -0,0 +1,39 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchReplicationTargets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListReplicationTargetsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + AvailabilityDomain: common.String(cqClient.AvailibilityDomain), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListReplicationTargets(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/filestorage/replications.go b/plugins/source/oracle/resources/services/filestorage/replications.go new file mode 100644 index 00000000000000..bb738ea7dbad69 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/replications.go @@ -0,0 +1,44 @@ +package filestorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func Replications() *schema.Table { + return &schema.Table{ + Name: "oracle_filestorage_replications", + Resolver: fetchReplications, + Multiplex: client.AvailibilityDomainCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&filestorage.ReplicationSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/filestorage/replications_fetch.go b/plugins/source/oracle/resources/services/filestorage/replications_fetch.go new file mode 100644 index 00000000000000..0dad11fb58b017 --- /dev/null +++ b/plugins/source/oracle/resources/services/filestorage/replications_fetch.go @@ -0,0 +1,39 @@ +package filestorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/filestorage" +) + +func fetchReplications(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := filestorage.ListReplicationsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + AvailabilityDomain: common.String(cqClient.AvailibilityDomain), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].FilestorageFilestorageClient.ListReplications(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/compartments.go b/plugins/source/oracle/resources/services/identity/compartments.go new file mode 100644 index 00000000000000..2a8391e939cb50 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/compartments.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func Compartments() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_compartments", + Resolver: fetchCompartments, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.Compartment{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/compartments_fetch.go b/plugins/source/oracle/resources/services/identity/compartments_fetch.go new file mode 100644 index 00000000000000..5f2dcda105d2f9 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/compartments_fetch.go @@ -0,0 +1,39 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchCompartments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListCompartmentsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + CompartmentIdInSubtree: common.Bool(true), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListCompartments(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/cost_tracking_tags.go b/plugins/source/oracle/resources/services/identity/cost_tracking_tags.go new file mode 100644 index 00000000000000..68a231dad04f3a --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/cost_tracking_tags.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func CostTrackingTags() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_cost_tracking_tags", + Resolver: fetchCostTrackingTags, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.Tag{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/cost_tracking_tags_fetch.go b/plugins/source/oracle/resources/services/identity/cost_tracking_tags_fetch.go new file mode 100644 index 00000000000000..840848f1ea4897 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/cost_tracking_tags_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchCostTrackingTags(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListCostTrackingTagsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListCostTrackingTags(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/domains.go b/plugins/source/oracle/resources/services/identity/domains.go new file mode 100644 index 00000000000000..1b15d4bed65885 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/domains.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func Domains() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_domains", + Resolver: fetchDomains, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.DomainSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/domains_fetch.go b/plugins/source/oracle/resources/services/identity/domains_fetch.go new file mode 100644 index 00000000000000..79c29ec15d002b --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/domains_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchDomains(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListDomainsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListDomains(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/dynamic_groups.go b/plugins/source/oracle/resources/services/identity/dynamic_groups.go new file mode 100644 index 00000000000000..27a4cbb3c78458 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/dynamic_groups.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func DynamicGroups() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_dynamic_groups", + Resolver: fetchDynamicGroups, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.DynamicGroup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/dynamic_groups_fetch.go b/plugins/source/oracle/resources/services/identity/dynamic_groups_fetch.go new file mode 100644 index 00000000000000..3c5ee62409b9a1 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/dynamic_groups_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchDynamicGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListDynamicGroupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListDynamicGroups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/groups.go b/plugins/source/oracle/resources/services/identity/groups.go new file mode 100644 index 00000000000000..247dbb46df9b50 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/groups.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func Groups() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_groups", + Resolver: fetchGroups, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.Group{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/groups_fetch.go b/plugins/source/oracle/resources/services/identity/groups_fetch.go new file mode 100644 index 00000000000000..9dbe70a2b7ac23 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/groups_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListGroupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListGroups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/iam_work_requests.go b/plugins/source/oracle/resources/services/identity/iam_work_requests.go new file mode 100644 index 00000000000000..e64cb67845294b --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/iam_work_requests.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func IamWorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_iam_work_requests", + Resolver: fetchIamWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.IamWorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/iam_work_requests_fetch.go b/plugins/source/oracle/resources/services/identity/iam_work_requests_fetch.go new file mode 100644 index 00000000000000..335e45ff9cccee --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/iam_work_requests_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchIamWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListIamWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListIamWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/network_sources.go b/plugins/source/oracle/resources/services/identity/network_sources.go new file mode 100644 index 00000000000000..24a949670a06f4 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/network_sources.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func NetworkSources() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_network_sources", + Resolver: fetchNetworkSources, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.NetworkSourcesSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/network_sources_fetch.go b/plugins/source/oracle/resources/services/identity/network_sources_fetch.go new file mode 100644 index 00000000000000..5439b916bf4697 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/network_sources_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchNetworkSources(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListNetworkSourcesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListNetworkSources(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/policies.go b/plugins/source/oracle/resources/services/identity/policies.go new file mode 100644 index 00000000000000..b184082fb4d823 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/policies.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func Policies() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_policies", + Resolver: fetchPolicies, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.Policy{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/policies_fetch.go b/plugins/source/oracle/resources/services/identity/policies_fetch.go new file mode 100644 index 00000000000000..b742729057f0fa --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/policies_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListPoliciesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListPolicies(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/tag_namespaces.go b/plugins/source/oracle/resources/services/identity/tag_namespaces.go new file mode 100644 index 00000000000000..7d94a8f7ffd368 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/tag_namespaces.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func TagNamespaces() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_tag_namespaces", + Resolver: fetchTagNamespaces, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.TagNamespaceSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/tag_namespaces_fetch.go b/plugins/source/oracle/resources/services/identity/tag_namespaces_fetch.go new file mode 100644 index 00000000000000..756c8f5ff990b7 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/tag_namespaces_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchTagNamespaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListTagNamespacesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListTagNamespaces(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/tagging_work_requests.go b/plugins/source/oracle/resources/services/identity/tagging_work_requests.go new file mode 100644 index 00000000000000..7a28baf5898968 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/tagging_work_requests.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func TaggingWorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_tagging_work_requests", + Resolver: fetchTaggingWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.TaggingWorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/tagging_work_requests_fetch.go b/plugins/source/oracle/resources/services/identity/tagging_work_requests_fetch.go new file mode 100644 index 00000000000000..92896de192a207 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/tagging_work_requests_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchTaggingWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListTaggingWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListTaggingWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/users.go b/plugins/source/oracle/resources/services/identity/users.go new file mode 100644 index 00000000000000..712a8ab9df482b --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/users.go @@ -0,0 +1,28 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func Users() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_users", + Resolver: fetchUsers, + Multiplex: client.TenancyMultiplex, + Transform: transformers.TransformWithStruct(&identity.User{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/users_fetch.go b/plugins/source/oracle/resources/services/identity/users_fetch.go new file mode 100644 index 00000000000000..fc3292201ef58f --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/users_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchUsers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListUsersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListUsers(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/identity/work_requests.go b/plugins/source/oracle/resources/services/identity/work_requests.go new file mode 100644 index 00000000000000..a249fcdc1cdcce --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/work_requests.go @@ -0,0 +1,44 @@ +package identity + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func WorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_identity_work_requests", + Resolver: fetchWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&identity.WorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/identity/work_requests_fetch.go b/plugins/source/oracle/resources/services/identity/work_requests_fetch.go new file mode 100644 index 00000000000000..5949cc970caee7 --- /dev/null +++ b/plugins/source/oracle/resources/services/identity/work_requests_fetch.go @@ -0,0 +1,38 @@ +package identity + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/identity" +) + +func fetchWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := identity.ListWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].IdentityIdentityClient.ListWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/loadbalancer/load_balancers.go b/plugins/source/oracle/resources/services/loadbalancer/load_balancers.go new file mode 100644 index 00000000000000..4f45d9c95c733d --- /dev/null +++ b/plugins/source/oracle/resources/services/loadbalancer/load_balancers.go @@ -0,0 +1,44 @@ +package loadbalancer + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/loadbalancer" +) + +func LoadBalancers() *schema.Table { + return &schema.Table{ + Name: "oracle_loadbalancer_load_balancers", + Resolver: fetchLoadBalancers, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&loadbalancer.LoadBalancer{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/loadbalancer/load_balancers_fetch.go b/plugins/source/oracle/resources/services/loadbalancer/load_balancers_fetch.go new file mode 100644 index 00000000000000..fa3654406b42d4 --- /dev/null +++ b/plugins/source/oracle/resources/services/loadbalancer/load_balancers_fetch.go @@ -0,0 +1,38 @@ +package loadbalancer + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/loadbalancer" +) + +func fetchLoadBalancers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := loadbalancer.ListLoadBalancersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].LoadbalancerLoadbalancerClient.ListLoadBalancers(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies.go b/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies.go new file mode 100644 index 00000000000000..feadfc461c74fc --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies.go @@ -0,0 +1,44 @@ +package networkfirewall + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func NetworkFirewallPolicies() *schema.Table { + return &schema.Table{ + Name: "oracle_networkfirewall_network_firewall_policies", + Resolver: fetchNetworkFirewallPolicies, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&networkfirewall.NetworkFirewallPolicySummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies_fetch.go b/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies_fetch.go new file mode 100644 index 00000000000000..650021028cfeac --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/network_firewall_policies_fetch.go @@ -0,0 +1,38 @@ +package networkfirewall + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func fetchNetworkFirewallPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := networkfirewall.ListNetworkFirewallPoliciesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].NetworkfirewallNetworkfirewallClient.ListNetworkFirewallPolicies(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/network_firewalls.go b/plugins/source/oracle/resources/services/networkfirewall/network_firewalls.go new file mode 100644 index 00000000000000..ab6b6df0a43826 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/network_firewalls.go @@ -0,0 +1,44 @@ +package networkfirewall + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func NetworkFirewalls() *schema.Table { + return &schema.Table{ + Name: "oracle_networkfirewall_network_firewalls", + Resolver: fetchNetworkFirewalls, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&networkfirewall.NetworkFirewallSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/network_firewalls_fetch.go b/plugins/source/oracle/resources/services/networkfirewall/network_firewalls_fetch.go new file mode 100644 index 00000000000000..27cd81cbc597eb --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/network_firewalls_fetch.go @@ -0,0 +1,38 @@ +package networkfirewall + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func fetchNetworkFirewalls(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := networkfirewall.ListNetworkFirewallsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].NetworkfirewallNetworkfirewallClient.ListNetworkFirewalls(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/work_requests.go b/plugins/source/oracle/resources/services/networkfirewall/work_requests.go new file mode 100644 index 00000000000000..de5a9f8d3a25a9 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/work_requests.go @@ -0,0 +1,44 @@ +package networkfirewall + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func WorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_networkfirewall_work_requests", + Resolver: fetchWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&networkfirewall.WorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/networkfirewall/work_requests_fetch.go b/plugins/source/oracle/resources/services/networkfirewall/work_requests_fetch.go new file mode 100644 index 00000000000000..6be569d95f4fe3 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkfirewall/work_requests_fetch.go @@ -0,0 +1,38 @@ +package networkfirewall + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/networkfirewall" +) + +func fetchWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := networkfirewall.ListWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].NetworkfirewallNetworkfirewallClient.ListWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers.go b/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers.go new file mode 100644 index 00000000000000..cd96b679492ce1 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers.go @@ -0,0 +1,44 @@ +package networkloadbalancer + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/networkloadbalancer" +) + +func NetworkLoadBalancers() *schema.Table { + return &schema.Table{ + Name: "oracle_networkloadbalancer_network_load_balancers", + Resolver: fetchNetworkLoadBalancers, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&networkloadbalancer.NetworkLoadBalancerSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers_fetch.go b/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers_fetch.go new file mode 100644 index 00000000000000..7517af56c5bbb6 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkloadbalancer/network_load_balancers_fetch.go @@ -0,0 +1,38 @@ +package networkloadbalancer + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/networkloadbalancer" +) + +func fetchNetworkLoadBalancers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := networkloadbalancer.ListNetworkLoadBalancersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].NetworkloadbalancerNetworkloadbalancerClient.ListNetworkLoadBalancers(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/networkloadbalancer/work_requests.go b/plugins/source/oracle/resources/services/networkloadbalancer/work_requests.go new file mode 100644 index 00000000000000..a4133787314685 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkloadbalancer/work_requests.go @@ -0,0 +1,44 @@ +package networkloadbalancer + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/networkloadbalancer" +) + +func WorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_networkloadbalancer_work_requests", + Resolver: fetchWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&networkloadbalancer.WorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/networkloadbalancer/work_requests_fetch.go b/plugins/source/oracle/resources/services/networkloadbalancer/work_requests_fetch.go new file mode 100644 index 00000000000000..2d57cacd23ff58 --- /dev/null +++ b/plugins/source/oracle/resources/services/networkloadbalancer/work_requests_fetch.go @@ -0,0 +1,38 @@ +package networkloadbalancer + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/networkloadbalancer" +) + +func fetchWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := networkloadbalancer.ListWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].NetworkloadbalancerNetworkloadbalancerClient.ListWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/objectstorage/buckets.go b/plugins/source/oracle/resources/services/objectstorage/buckets.go new file mode 100644 index 00000000000000..e7349a96112711 --- /dev/null +++ b/plugins/source/oracle/resources/services/objectstorage/buckets.go @@ -0,0 +1,52 @@ +package objectstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/objectstorage" +) + +func Buckets() *schema.Table { + return &schema.Table{ + Name: "oracle_objectstorage_buckets", + Resolver: fetchBuckets, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&objectstorage.BucketSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "namespace", + Type: schema.TypeString, + Resolver: schema.PathResolver("Namespace"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/objectstorage/buckets_fetch.go b/plugins/source/oracle/resources/services/objectstorage/buckets_fetch.go new file mode 100644 index 00000000000000..482943cfce6f3f --- /dev/null +++ b/plugins/source/oracle/resources/services/objectstorage/buckets_fetch.go @@ -0,0 +1,39 @@ +package objectstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/objectstorage" +) + +func fetchBuckets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := objectstorage.ListBucketsRequest{ + NamespaceName: common.String(cqClient.ObjectStorageNamespace), + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].ObjectstorageObjectstorageClient.ListBuckets(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/objectstorage/work_requests.go b/plugins/source/oracle/resources/services/objectstorage/work_requests.go new file mode 100644 index 00000000000000..ea726b97a4ac04 --- /dev/null +++ b/plugins/source/oracle/resources/services/objectstorage/work_requests.go @@ -0,0 +1,44 @@ +package objectstorage + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/objectstorage" +) + +func WorkRequests() *schema.Table { + return &schema.Table{ + Name: "oracle_objectstorage_work_requests", + Resolver: fetchWorkRequests, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&objectstorage.WorkRequestSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/objectstorage/work_requests_fetch.go b/plugins/source/oracle/resources/services/objectstorage/work_requests_fetch.go new file mode 100644 index 00000000000000..42940e81e6ed41 --- /dev/null +++ b/plugins/source/oracle/resources/services/objectstorage/work_requests_fetch.go @@ -0,0 +1,38 @@ +package objectstorage + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/objectstorage" +) + +func fetchWorkRequests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := objectstorage.ListWorkRequestsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].ObjectstorageObjectstorageClient.ListWorkRequests(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges.go b/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges.go new file mode 100644 index 00000000000000..c979a21f322232 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func ByoipRanges() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_byoip_ranges", + Resolver: fetchByoipRanges, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.ByoipRangeSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges_fetch.go new file mode 100644 index 00000000000000..28ab7f9e3ae8f5 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/byoip_ranges_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchByoipRanges(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListByoipRangesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListByoipRanges(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/capture_filters.go b/plugins/source/oracle/resources/services/virtualnetwork/capture_filters.go new file mode 100644 index 00000000000000..a7fcc3c4a60c1f --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/capture_filters.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func CaptureFilters() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_capture_filters", + Resolver: fetchCaptureFilters, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.CaptureFilter{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/capture_filters_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/capture_filters_fetch.go new file mode 100644 index 00000000000000..659af16de832f3 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/capture_filters_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchCaptureFilters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListCaptureFiltersRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListCaptureFilters(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cpes.go b/plugins/source/oracle/resources/services/virtualnetwork/cpes.go new file mode 100644 index 00000000000000..298526c4c2f054 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cpes.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Cpes() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_cpes", + Resolver: fetchCpes, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Cpe{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cpes_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/cpes_fetch.go new file mode 100644 index 00000000000000..c912fcea8bb021 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cpes_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchCpes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListCpesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListCpes(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups.go b/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups.go new file mode 100644 index 00000000000000..6c4f40f21afa53 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func CrossConnectGroups() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_cross_connect_groups", + Resolver: fetchCrossConnectGroups, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.CrossConnectGroup{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups_fetch.go new file mode 100644 index 00000000000000..33ef7e143b0f6e --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cross_connect_groups_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchCrossConnectGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListCrossConnectGroupsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListCrossConnectGroups(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cross_connects.go b/plugins/source/oracle/resources/services/virtualnetwork/cross_connects.go new file mode 100644 index 00000000000000..9b2e4bafbc61bb --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cross_connects.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func CrossConnects() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_cross_connects", + Resolver: fetchCrossConnects, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.CrossConnect{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/cross_connects_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/cross_connects_fetch.go new file mode 100644 index 00000000000000..c5b2e88e2e5858 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/cross_connects_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchCrossConnects(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListCrossConnectsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListCrossConnects(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options.go b/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options.go new file mode 100644 index 00000000000000..455f5a70d774b6 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func DhcpOptions() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_dhcp_options", + Resolver: fetchDhcpOptions, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.DhcpOptions{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options_fetch.go new file mode 100644 index 00000000000000..12b04a9c29b8a9 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/dhcp_options_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchDhcpOptions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListDhcpOptionsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListDhcpOptions(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments.go b/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments.go new file mode 100644 index 00000000000000..0badbdbb361364 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func DrgAttachments() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_drg_attachments", + Resolver: fetchDrgAttachments, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.DrgAttachment{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments_fetch.go new file mode 100644 index 00000000000000..4d948f502c3287 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/drg_attachments_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchDrgAttachments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListDrgAttachmentsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListDrgAttachments(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/drgs.go b/plugins/source/oracle/resources/services/virtualnetwork/drgs.go new file mode 100644 index 00000000000000..cb0e87a75faf35 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/drgs.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Drgs() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_drgs", + Resolver: fetchDrgs, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Drg{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/drgs_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/drgs_fetch.go new file mode 100644 index 00000000000000..d4b85e51e232f6 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/drgs_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchDrgs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListDrgsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListDrgs(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services.go b/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services.go new file mode 100644 index 00000000000000..e80ca71d55dd3a --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func FastConnectProviderServices() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_fast_connect_provider_services", + Resolver: fetchFastConnectProviderServices, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.FastConnectProviderService{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services_fetch.go new file mode 100644 index 00000000000000..495decd03d2b43 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/fast_connect_provider_services_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchFastConnectProviderServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListFastConnectProviderServicesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListFastConnectProviderServices(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways.go b/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways.go new file mode 100644 index 00000000000000..858cd6b8ff627e --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func InternetGateways() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_internet_gateways", + Resolver: fetchInternetGateways, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.InternetGateway{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways_fetch.go new file mode 100644 index 00000000000000..46726ae8d6f442 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/internet_gateways_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchInternetGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListInternetGatewaysRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListInternetGateways(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections.go b/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections.go new file mode 100644 index 00000000000000..bd8c613726135b --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func IpSecConnections() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_ip_sec_connections", + Resolver: fetchIpSecConnections, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.IpSecConnection{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections_fetch.go new file mode 100644 index 00000000000000..790a0026fcb9de --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/ip_sec_connections_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchIpSecConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListIPSecConnectionsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListIPSecConnections(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways.go b/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways.go new file mode 100644 index 00000000000000..001c67aad44e68 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func LocalPeeringGateways() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_local_peering_gateways", + Resolver: fetchLocalPeeringGateways, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.LocalPeeringGateway{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways_fetch.go new file mode 100644 index 00000000000000..fcd1824d661842 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/local_peering_gateways_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchLocalPeeringGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListLocalPeeringGatewaysRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListLocalPeeringGateways(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways.go b/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways.go new file mode 100644 index 00000000000000..2d567c5a2a0c57 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func NatGateways() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_nat_gateways", + Resolver: fetchNatGateways, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.NatGateway{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways_fetch.go new file mode 100644 index 00000000000000..da561829b141f1 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/nat_gateways_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchNatGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListNatGatewaysRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListNatGateways(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools.go b/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools.go new file mode 100644 index 00000000000000..6924a4899c547d --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func PublicIpPools() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_public_ip_pools", + Resolver: fetchPublicIpPools, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.PublicIpPoolSummary{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools_fetch.go new file mode 100644 index 00000000000000..84cea62a2bd0ac --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/public_ip_pools_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchPublicIpPools(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListPublicIpPoolsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListPublicIpPools(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections.go b/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections.go new file mode 100644 index 00000000000000..682a5ff2746cfc --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func RemotePeeringConnections() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_remote_peering_connections", + Resolver: fetchRemotePeeringConnections, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.RemotePeeringConnection{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections_fetch.go new file mode 100644 index 00000000000000..ab179ad9fbd1ca --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/remote_peering_connections_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchRemotePeeringConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListRemotePeeringConnectionsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListRemotePeeringConnections(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/route_tables.go b/plugins/source/oracle/resources/services/virtualnetwork/route_tables.go new file mode 100644 index 00000000000000..cece325694b19f --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/route_tables.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func RouteTables() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_route_tables", + Resolver: fetchRouteTables, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.RouteTable{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/route_tables_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/route_tables_fetch.go new file mode 100644 index 00000000000000..546ab8a7edaa90 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/route_tables_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchRouteTables(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListRouteTablesRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListRouteTables(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/security_lists.go b/plugins/source/oracle/resources/services/virtualnetwork/security_lists.go new file mode 100644 index 00000000000000..24b36f414ba016 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/security_lists.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func SecurityLists() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_security_lists", + Resolver: fetchSecurityLists, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.SecurityList{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/security_lists_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/security_lists_fetch.go new file mode 100644 index 00000000000000..bde72eed124d2b --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/security_lists_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchSecurityLists(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListSecurityListsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListSecurityLists(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/service_gateways.go b/plugins/source/oracle/resources/services/virtualnetwork/service_gateways.go new file mode 100644 index 00000000000000..bd5fc6e768545b --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/service_gateways.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func ServiceGateways() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_service_gateways", + Resolver: fetchServiceGateways, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.ServiceGateway{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/service_gateways_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/service_gateways_fetch.go new file mode 100644 index 00000000000000..5eee7b5bdaa225 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/service_gateways_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchServiceGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListServiceGatewaysRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListServiceGateways(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/subnets.go b/plugins/source/oracle/resources/services/virtualnetwork/subnets.go new file mode 100644 index 00000000000000..7ba68fbf9d4862 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/subnets.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Subnets() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_subnets", + Resolver: fetchSubnets, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Subnet{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/subnets_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/subnets_fetch.go new file mode 100644 index 00000000000000..48db29648c6335 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/subnets_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchSubnets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListSubnetsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListSubnets(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vcns.go b/plugins/source/oracle/resources/services/virtualnetwork/vcns.go new file mode 100644 index 00000000000000..375c864add0e56 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vcns.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Vcns() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_vcns", + Resolver: fetchVcns, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Vcn{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vcns_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/vcns_fetch.go new file mode 100644 index 00000000000000..b05acf22a984ad --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vcns_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVcns(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVcnsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListVcns(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits.go b/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits.go new file mode 100644 index 00000000000000..2e8d8e3a402060 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func VirtualCircuits() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_virtual_circuits", + Resolver: fetchVirtualCircuits, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.VirtualCircuit{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits_fetch.go new file mode 100644 index 00000000000000..94bbbbf82ea147 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/virtual_circuits_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVirtualCircuits(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVirtualCircuitsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListVirtualCircuits(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vlans.go b/plugins/source/oracle/resources/services/virtualnetwork/vlans.go new file mode 100644 index 00000000000000..0c53271981c95b --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vlans.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Vlans() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_vlans", + Resolver: fetchVlans, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Vlan{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vlans_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/vlans_fetch.go new file mode 100644 index 00000000000000..41daf6b1189fa4 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vlans_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVlans(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVlansRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListVlans(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vtaps.go b/plugins/source/oracle/resources/services/virtualnetwork/vtaps.go new file mode 100644 index 00000000000000..3cfd1ebc5451c8 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vtaps.go @@ -0,0 +1,44 @@ +package virtualnetwork + +import ( + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func Vtaps() *schema.Table { + return &schema.Table{ + Name: "oracle_virtualnetwork_vtaps", + Resolver: fetchVtaps, + Multiplex: client.RegionCompartmentMultiplex, + Transform: transformers.TransformWithStruct(&core.Vtap{}, + transformers.WithTypeTransformer(client.OracleTypeTransformer)), + Columns: []schema.Column{ + { + Name: "region", + Type: schema.TypeString, + Resolver: client.ResolveOracleRegion, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "compartment_id", + Type: schema.TypeString, + Resolver: client.ResolveCompartmentId, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Id"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/oracle/resources/services/virtualnetwork/vtaps_fetch.go b/plugins/source/oracle/resources/services/virtualnetwork/vtaps_fetch.go new file mode 100644 index 00000000000000..c91b0af5c765e6 --- /dev/null +++ b/plugins/source/oracle/resources/services/virtualnetwork/vtaps_fetch.go @@ -0,0 +1,38 @@ +package virtualnetwork + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/oracle/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/oracle/oci-go-sdk/v65/common" + "github.com/oracle/oci-go-sdk/v65/core" +) + +func fetchVtaps(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cqClient := meta.(*client.Client) + + var page *string + for { + request := core.ListVtapsRequest{ + CompartmentId: common.String(cqClient.CompartmentOcid), + Page: page, + } + + response, err := cqClient.OracleClients[cqClient.Region].CoreVirtualnetworkClient.ListVtaps(ctx, request) + + if err != nil { + return err + } + + res <- response.Items + + if response.OpcNextPage == nil { + break + } + + page = response.OpcNextPage + } + + return nil +} diff --git a/website/pages/docs/plugins/sources/_meta.json b/website/pages/docs/plugins/sources/_meta.json index 4d768c981c8b74..71f2e452e0cd51 100644 --- a/website/pages/docs/plugins/sources/_meta.json +++ b/website/pages/docs/plugins/sources/_meta.json @@ -14,6 +14,7 @@ "heroku": "Heroku", "k8s": "Kubernetes", "okta": "Okta", + "Oracle": "Oracle", "salesforce": "Salesforce", "shopify": "Shopify", "slack": "Slack", diff --git a/website/pages/docs/plugins/sources/oracle/_meta.json b/website/pages/docs/plugins/sources/oracle/_meta.json new file mode 100644 index 00000000000000..d6fbf18fe2b1a6 --- /dev/null +++ b/website/pages/docs/plugins/sources/oracle/_meta.json @@ -0,0 +1,4 @@ +{ + "overview": "Overview", + "tables": "Tables" +} \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/oracle/overview.md b/website/pages/docs/plugins/sources/oracle/overview.md new file mode 100644 index 00000000000000..adbb1ab1556bbf --- /dev/null +++ b/website/pages/docs/plugins/sources/oracle/overview.md @@ -0,0 +1,46 @@ +# Oracle Source Plugin + +import { getLatestVersion } from "../../../../../utils/versions"; +import { Badge } from "../../../../../components/Badge"; +import { Callout } from 'nextra-theme-docs'; + + + +The CloudQuery Oracle plugin extracts Oracle Cloud Infrastructure resources (`oci`). It is based on [the OCI Go SDK](https://github.com/oracle/oci-go-sdk) and the [Oracle Cloud REST API](https://docs.oracle.com/en-us/iaas/api/#/). + +## Authentication + +In order for CloudQuery to sync resources from your Oracle Cloud setup, you will need to authenticate with your Oracle Cloud account. +CloudQuery supports the same authentication methods as the OCI Go SDK, and uses the "default" configuration provider. You can read about how to create an Oracle Cloud configuration file in https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm. + +An example configuration file (e.g. in `~/.oci/config`) looks like this: + +```ini +[DEFAULT] +user=ocid1.user.oc1.. +fingerprint= +key_file=~/.oci/oci_api_key.pem +tenancy=ocid1.tenancy.oc1.. +region=us-ashburn-1 +``` + + +Note that CloudQuery will `sync` information from all regions - not only the region specified in the `oci` config. + + +## Configuration + +In order to get started with the Oracle plugin, you need to create a YAML file in your CloudQuery configuration directory (e.g. named `oracle.yml`). + +The following example sets up the Oracle plugin, and connects it to a postgresql destination: + +```yaml +kind: source +spec: + name: "oracle" + path: cloudquery/oracle + version: "VERSION_SOURCE_ORACLE" + destinations: ["postgresql"] + tables: ["*"] + spec: +``` \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/oracle/tables.md b/website/pages/docs/plugins/sources/oracle/tables.md new file mode 100644 index 00000000000000..e44c70c56a0a54 --- /dev/null +++ b/website/pages/docs/plugins/sources/oracle/tables.md @@ -0,0 +1,82 @@ +# Source Plugin: oracle + +## Tables + +- [oracle_blockstorage_boot_volume_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_backups.md) +- [oracle_blockstorage_boot_volume_replicas](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volume_replicas.md) +- [oracle_blockstorage_boot_volumes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_boot_volumes.md) +- [oracle_blockstorage_volume_backup_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backup_policies.md) +- [oracle_blockstorage_volume_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_backups.md) +- [oracle_blockstorage_volume_group_backups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_group_backups.md) +- [oracle_blockstorage_volume_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_volume_groups.md) +- [oracle_blockstorage_volumes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_blockstorage_volumes.md) +- [oracle_compute_compute_capacity_reservations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_compute_capacity_reservations.md) +- [oracle_compute_console_histories](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_console_histories.md) +- [oracle_compute_dedicated_vm_hosts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_dedicated_vm_hosts.md) +- [oracle_compute_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_images.md) +- [oracle_compute_instance_console_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_instance_console_connections.md) +- [oracle_compute_instances](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_instances.md) +- [oracle_compute_vnic_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_compute_vnic_attachments.md) +- [oracle_database_autonomous_container_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_autonomous_container_databases.md) +- [oracle_database_autonomous_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_autonomous_databases.md) +- [oracle_database_autonomous_exadata_infrastructures](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_autonomous_exadata_infrastructures.md) +- [oracle_database_autonomous_vm_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_autonomous_vm_clusters.md) +- [oracle_database_backup_destination](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_backup_destination.md) +- [oracle_database_cloud_autonomous_vm_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_cloud_autonomous_vm_clusters.md) +- [oracle_database_cloud_exadata_infrastructures](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_cloud_exadata_infrastructures.md) +- [oracle_database_cloud_vm_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_cloud_vm_clusters.md) +- [oracle_database_exadata_infrastructures](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_exadata_infrastructures.md) +- [oracle_database_external_container_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_external_container_databases.md) +- [oracle_database_external_non_container_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_external_non_container_databases.md) +- [oracle_database_external_pluggable_databases](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_external_pluggable_databases.md) +- [oracle_database_key_stores](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_key_stores.md) +- [oracle_database_vm_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_database_vm_clusters.md) +- [oracle_filestorage_export_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_export_sets.md) +- [oracle_filestorage_exports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_exports.md) +- [oracle_filestorage_file_systems](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_file_systems.md) +- [oracle_filestorage_mount_targets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_mount_targets.md) +- [oracle_filestorage_replication_targets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_replication_targets.md) +- [oracle_filestorage_replications](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_filestorage_replications.md) +- [oracle_identity_compartments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_compartments.md) +- [oracle_identity_cost_tracking_tags](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_cost_tracking_tags.md) +- [oracle_identity_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_domains.md) +- [oracle_identity_dynamic_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_dynamic_groups.md) +- [oracle_identity_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_groups.md) +- [oracle_identity_iam_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_iam_work_requests.md) +- [oracle_identity_network_sources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_network_sources.md) +- [oracle_identity_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_policies.md) +- [oracle_identity_tag_namespaces](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_tag_namespaces.md) +- [oracle_identity_tagging_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_tagging_work_requests.md) +- [oracle_identity_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_users.md) +- [oracle_identity_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_identity_work_requests.md) +- [oracle_loadbalancer_load_balancers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_loadbalancer_load_balancers.md) +- [oracle_networkfirewall_network_firewall_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewall_policies.md) +- [oracle_networkfirewall_network_firewalls](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_networkfirewall_network_firewalls.md) +- [oracle_networkfirewall_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_networkfirewall_work_requests.md) +- [oracle_networkloadbalancer_network_load_balancers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_network_load_balancers.md) +- [oracle_networkloadbalancer_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_networkloadbalancer_work_requests.md) +- [oracle_objectstorage_buckets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_objectstorage_buckets.md) +- [oracle_objectstorage_work_requests](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_objectstorage_work_requests.md) +- [oracle_virtualnetwork_byoip_ranges](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_byoip_ranges.md) +- [oracle_virtualnetwork_capture_filters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_capture_filters.md) +- [oracle_virtualnetwork_cpes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cpes.md) +- [oracle_virtualnetwork_cross_connect_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connect_groups.md) +- [oracle_virtualnetwork_cross_connects](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_cross_connects.md) +- [oracle_virtualnetwork_dhcp_options](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_dhcp_options.md) +- [oracle_virtualnetwork_drg_attachments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drg_attachments.md) +- [oracle_virtualnetwork_drgs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_drgs.md) +- [oracle_virtualnetwork_fast_connect_provider_services](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_fast_connect_provider_services.md) +- [oracle_virtualnetwork_internet_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_internet_gateways.md) +- [oracle_virtualnetwork_ip_sec_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_ip_sec_connections.md) +- [oracle_virtualnetwork_local_peering_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_local_peering_gateways.md) +- [oracle_virtualnetwork_nat_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_nat_gateways.md) +- [oracle_virtualnetwork_public_ip_pools](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_public_ip_pools.md) +- [oracle_virtualnetwork_remote_peering_connections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_remote_peering_connections.md) +- [oracle_virtualnetwork_route_tables](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_route_tables.md) +- [oracle_virtualnetwork_security_lists](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_security_lists.md) +- [oracle_virtualnetwork_service_gateways](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_service_gateways.md) +- [oracle_virtualnetwork_subnets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_subnets.md) +- [oracle_virtualnetwork_vcns](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vcns.md) +- [oracle_virtualnetwork_virtual_circuits](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_virtual_circuits.md) +- [oracle_virtualnetwork_vlans](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vlans.md) +- [oracle_virtualnetwork_vtaps](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/oracle/docs/tables/oracle_virtualnetwork_vtaps.md) \ No newline at end of file diff --git a/website/pages/docs/plugins/sources/overview.mdx b/website/pages/docs/plugins/sources/overview.mdx index 696a4d0e0b84aa..5dc1eddcb85c4a 100644 --- a/website/pages/docs/plugins/sources/overview.mdx +++ b/website/pages/docs/plugins/sources/overview.mdx @@ -27,6 +27,7 @@ Official source plugins follow [release stages](#source-plugin-release-stages). { name: "Heroku", stage:"Preview" }, { name: "k8s", stage:"Preview" }, { name: "Okta", stage:"Preview" }, + { name: "Oracle", stage:"Preview"}, { name: "Terraform", stage:"Preview" }, { name: "Cloudflare", stage:"Preview" }, { name: "Gandi", stage:"Preview" }, diff --git a/website/versions/source-oracle.json b/website/versions/source-oracle.json new file mode 100644 index 00000000000000..76ee7cf9d382b9 --- /dev/null +++ b/website/versions/source-oracle.json @@ -0,0 +1 @@ +{"latest": "plugins-source-oracle-v1.0.0" } \ No newline at end of file From 0c4fc808507ba2cfce0b6c6c56ebfa101e3a378d Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Thu, 12 Jan 2023 13:06:48 +0200 Subject: [PATCH 109/186] refactor(azure): Remove codegen (#6746) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Summary Removes Azure code gen as the plugin is bootstrapped already and having the code gen only adds friction. 1. Removed all the `// Code generated by codegen; DO NOT EDIT.` comments 2. Merged the namespaces into a single file 3. Merged the tables into a single file (and sorted them) 4. The format changes and linter exclusion are needed as once you remove the `// Code generated by codegen; DO NOT EDIT.` comment the linter runs on those files `Wait for all failure` is expected since this PR changes more than 300 files --- plugins/.golangci.yml | 4 + plugins/source/azure/client/client.go | 28 -- plugins/source/azure/client/namespaces.go | 25 +- plugins/source/azure/client/testing.go | 2 +- .../codegen0/internal/azparser/discover.go | 66 --- .../azure/codegen0/internal/azparser/gomod.go | 32 -- .../codegen0/internal/azparser/parser.go | 408 ------------------ .../codegen0/internal/azparser/recipe.go | 30 -- plugins/source/azure/codegen0/main.go | 220 ---------- .../azure/codegen0/templates/list.go.tpl | 55 --- .../azure/codegen0/templates/list_mock.go.tpl | 42 -- .../codegen0/templates/namespaces.go.tpl | 12 - .../azure/codegen0/templates/tables.go.tpl | 17 - .../source/azure/resources/plugin/plugin.go | 57 +-- .../source/azure/resources/plugin/tables.go | 43 +- .../advisor/recommendation_metadata.go | 2 +- .../recommendation_metadata_mock_test.go | 4 +- .../services/advisor/recommendations.go | 2 +- .../advisor/recommendations_mock_test.go | 4 +- .../services/advisor/suppressions.go | 2 +- .../advisor/suppressions_mock_test.go | 4 +- .../services/analysisservices/servers.go | 2 +- .../analysisservices/servers_mock_test.go | 4 +- .../services/apimanagement/service.go | 2 +- .../apimanagement/service_mock_test.go | 4 +- .../appcomplianceautomation/reports.go | 2 +- .../reports_mock_test.go | 4 +- .../appconfiguration/configuration_stores.go | 2 +- .../configuration_stores_mock_test.go | 4 +- .../applicationinsights/components.go | 2 +- .../components_mock_test.go | 4 +- .../services/applicationinsights/web_tests.go | 2 +- .../web_tests_mock_test.go | 4 +- .../services/appservice/certificate_orders.go | 2 +- .../certificate_orders_mock_test.go | 4 +- .../services/appservice/certificates.go | 2 +- .../appservice/certificates_mock_test.go | 4 +- .../services/appservice/deleted_web_apps.go | 2 +- .../appservice/deleted_web_apps_mock_test.go | 4 +- .../resources/services/appservice/domains.go | 2 +- .../services/appservice/domains_mock_test.go | 4 +- .../services/appservice/environments.go | 2 +- .../appservice/environments_mock_test.go | 4 +- .../resources/services/appservice/plans.go | 2 +- .../services/appservice/plans_mock_test.go | 4 +- .../services/appservice/recommendations.go | 2 +- .../appservice/recommendations_mock_test.go | 4 +- .../appservice/resource_health_metadata.go | 2 +- .../resource_health_metadata_mock_test.go | 4 +- .../services/appservice/static_sites.go | 2 +- .../appservice/static_sites_mock_test.go | 4 +- .../services/appservice/top_level_domains.go | 2 +- .../appservice/top_level_domains_mock_test.go | 4 +- .../resources/services/appservice/web_apps.go | 2 +- .../services/appservice/web_apps_mock_test.go | 4 +- .../authorization/classic_administrators.go | 2 +- .../classic_administrators_mock_test.go | 4 +- .../provider_operations_metadata.go | 2 +- .../provider_operations_metadata_mock_test.go | 4 +- .../authorization/role_assignments.go | 2 +- .../role_assignments_mock_test.go | 4 +- .../resources/services/automation/account.go | 2 +- .../services/automation/account_mock_test.go | 4 +- .../azurearcdata/postgres_instances.go | 2 +- .../postgres_instances_mock_test.go | 4 +- .../azurearcdata/sql_managed_instances.go | 2 +- .../sql_managed_instances_mock_test.go | 4 +- .../azurearcdata/sql_server_instances.go | 2 +- .../sql_server_instances_mock_test.go | 4 +- .../sql_server_registrations_mock_test.go | 4 +- .../azure/resources/services/batch/account.go | 2 +- .../services/batch/account_mock_test.go | 4 +- .../resources/services/billing/accounts.go | 2 +- .../services/billing/accounts_mock_test.go | 4 +- .../services/billing/enrollment_accounts.go | 2 +- .../billing/enrollment_accounts_mock_test.go | 4 +- .../resources/services/billing/periods.go | 2 +- .../services/billing/periods_mock_test.go | 4 +- .../resources/services/botservice/bots.go | 2 +- .../services/botservice/bots_mock_test.go | 4 +- .../resources/services/cdn/edge_nodes.go | 2 +- .../services/cdn/edge_nodes_mock_test.go | 4 +- .../services/cdn/managed_rule_sets.go | 2 +- .../cdn/managed_rule_sets_mock_test.go | 4 +- .../services/cognitiveservices/accounts.go | 2 +- .../cognitiveservices/accounts_mock_test.go | 4 +- .../cognitiveservices/deleted_accounts.go | 2 +- .../deleted_accounts_mock_test.go | 4 +- .../services/compute/cloud_services.go | 2 +- .../compute/cloud_services_mock_test.go | 4 +- .../services/compute/disk_accesses.go | 2 +- .../compute/disk_accesses_mock_test.go | 4 +- .../services/compute/disk_encryption_sets.go | 2 +- .../compute/disk_encryption_sets_mock_test.go | 4 +- .../azure/resources/services/compute/disks.go | 2 +- .../services/compute/disks_mock_test.go | 4 +- .../resources/services/compute/galleries.go | 2 +- .../services/compute/galleries_mock_test.go | 4 +- .../resources/services/compute/images.go | 2 +- .../services/compute/images_mock_test.go | 4 +- .../compute/restore_point_collections.go | 2 +- .../restore_point_collections_mock_test.go | 4 +- .../resources/services/compute/snapshots.go | 2 +- .../services/compute/snapshots_mock_test.go | 4 +- .../confluent/marketplace_agreements.go | 2 +- .../marketplace_agreements_mock_test.go | 4 +- .../services/connectedvmware/clusters.go | 2 +- .../connectedvmware/clusters_mock_test.go | 4 +- .../services/connectedvmware/datastores.go | 2 +- .../connectedvmware/datastores_mock_test.go | 4 +- .../services/connectedvmware/hosts.go | 2 +- .../connectedvmware/hosts_mock_test.go | 4 +- .../connectedvmware/resource_pools.go | 2 +- .../resource_pools_mock_test.go | 4 +- .../services/connectedvmware/v_centers.go | 2 +- .../connectedvmware/v_centers_mock_test.go | 4 +- .../virtual_machine_templates.go | 2 +- .../virtual_machine_templates_mock_test.go | 4 +- .../connectedvmware/virtual_machines.go | 2 +- .../virtual_machines_mock_test.go | 4 +- .../connectedvmware/virtual_networks.go | 2 +- .../virtual_networks_mock_test.go | 4 +- .../containerinstance/container_groups.go | 2 +- .../container_groups_mock_test.go | 4 +- .../services/containerregistry/registries.go | 2 +- .../containerregistry/registries_mock_test.go | 4 +- .../containerservice/managed_clusters.go | 2 +- .../managed_clusters_mock_test.go | 4 +- .../services/containerservice/snapshots.go | 2 +- .../containerservice/snapshots_mock_test.go | 4 +- .../resources/services/cosmos/locations.go | 2 +- .../services/cosmos/locations_mock_test.go | 4 +- .../cosmos/restorable_database_accounts.go | 2 +- .../restorable_database_accounts_mock_test.go | 4 +- .../services/customerinsights/hubs.go | 2 +- .../customerinsights/hubs_mock_test.go | 4 +- .../resources/services/dashboard/grafana.go | 2 +- .../services/dashboard/grafana_mock_test.go | 4 +- .../azure/resources/services/databox/jobs.go | 2 +- .../services/databox/jobs_mock_test.go | 4 +- .../datadog/marketplace_agreements.go | 2 +- .../marketplace_agreements_mock_test.go | 4 +- .../resources/services/datadog/monitors.go | 2 +- .../services/datadog/monitors_mock_test.go | 4 +- .../datafactory/factories_mock_test.go | 4 +- .../services/datalakeanalytics/accounts.go | 2 +- .../datalakeanalytics/accounts_mock_test.go | 4 +- .../services/datalakestore/accounts.go | 2 +- .../datalakestore/accounts_mock_test.go | 4 +- .../services/datamigration/services.go | 2 +- .../datamigration/services_mock_test.go | 4 +- .../desktopvirtualization/host_pools.go | 2 +- .../host_pools_mock_test.go | 4 +- .../resources/services/devhub/workflow.go | 2 +- .../services/devhub/workflow_mock_test.go | 4 +- .../devops/pipeline_template_definitions.go | 2 +- ...pipeline_template_definitions_mock_test.go | 4 +- .../azure/resources/services/dns/zones.go | 2 +- .../resources/services/dns/zones_mock_test.go | 4 +- .../dnsresolver/dns_forwarding_rulesets.go | 2 +- .../dns_forwarding_rulesets_mock_test.go | 4 +- .../services/dnsresolver/dns_resolvers.go | 2 +- .../dnsresolver/dns_resolvers_mock_test.go | 4 +- .../resources/services/elastic/monitors.go | 2 +- .../services/elastic/monitors_mock_test.go | 4 +- .../services/engagementfabric/accounts.go | 2 +- .../engagementfabric/accounts_mock_test.go | 4 +- .../services/eventgrid/topic_types.go | 2 +- .../eventgrid/topic_types_mock_test.go | 4 +- .../resources/services/eventhub/namespaces.go | 2 +- .../services/eventhub/namespaces_mock_test.go | 4 +- .../services/frontdoor/front_doors.go | 2 +- .../frontdoor/front_doors_mock_test.go | 4 +- .../services/frontdoor/managed_rule_sets.go | 2 +- .../frontdoor/managed_rule_sets_mock_test.go | 4 +- .../frontdoor/network_experiment_profiles.go | 2 +- .../network_experiment_profiles_mock_test.go | 4 +- .../services/hanaonazure/sap_monitors.go | 2 +- .../hanaonazure/sap_monitors_mock_test.go | 4 +- .../resources/services/hdinsight/clusters.go | 2 +- .../services/hdinsight/clusters_mock_test.go | 4 +- .../services/healthbot/bots_mock_test.go | 4 +- .../services/healthcareapis/services.go | 2 +- .../healthcareapis/services_mock_test.go | 4 +- .../hybridcompute/private_link_scopes.go | 2 +- .../private_link_scopes_mock_test.go | 4 +- .../hybriddatamanager/data_managers.go | 2 +- .../data_managers_mock_test.go | 4 +- .../resources/services/kusto/clusters.go | 2 +- .../services/kusto/clusters_mock_test.go | 4 +- .../services/maintenance/configurations.go | 2 +- .../maintenance/configurations_mock_test.go | 4 +- .../public_maintenance_configurations.go | 2 +- ...ic_maintenance_configurations_mock_test.go | 4 +- .../services/marketplace/private_store.go | 2 +- .../marketplace/private_store_mock_test.go | 4 +- .../services/monitor/log_profiles.go | 2 +- .../monitor/log_profiles_mock_test.go | 4 +- .../services/monitor/private_link_scopes.go | 2 +- .../monitor/private_link_scopes_mock_test.go | 4 +- .../services/monitor/tenant_activity_logs.go | 2 +- .../monitor/tenant_activity_logs_mock_test.go | 4 +- .../services/mysqlflexibleservers/servers.go | 2 +- .../mysqlflexibleservers/servers_mock_test.go | 4 +- .../services/network/application_gateways.go | 2 +- .../network/application_gateways_mock_test.go | 4 +- .../network/application_security_groups.go | 2 +- .../application_security_groups_mock_test.go | 4 +- .../network/azure_firewall_fqdn_tags.go | 2 +- .../azure_firewall_fqdn_tags_mock_test.go | 4 +- .../services/network/azure_firewalls.go | 2 +- .../network/azure_firewalls_mock_test.go | 4 +- .../services/network/bastion_hosts.go | 2 +- .../network/bastion_hosts_mock_test.go | 4 +- .../network/bgp_service_communities.go | 2 +- .../bgp_service_communities_mock_test.go | 4 +- .../services/network/custom_ip_prefixes.go | 2 +- .../network/custom_ip_prefixes_mock_test.go | 4 +- .../services/network/ddos_protection_plans.go | 2 +- .../ddos_protection_plans_mock_test.go | 4 +- .../services/network/dscp_configuration.go | 2 +- .../network/dscp_configuration_mock_test.go | 4 +- .../network/express_route_circuits.go | 2 +- .../express_route_circuits_mock_test.go | 4 +- .../services/network/express_route_ports.go | 2 +- .../network/express_route_ports_locations.go | 2 +- ...express_route_ports_locations_mock_test.go | 4 +- .../network/express_route_ports_mock_test.go | 4 +- .../express_route_service_providers.go | 2 +- ...press_route_service_providers_mock_test.go | 4 +- .../services/network/firewall_policies.go | 2 +- .../network/firewall_policies_mock_test.go | 4 +- .../resources/services/network/interfaces.go | 2 +- .../services/network/interfaces_mock_test.go | 4 +- .../services/network/ip_allocations.go | 2 +- .../network/ip_allocations_mock_test.go | 4 +- .../resources/services/network/ip_groups.go | 2 +- .../services/network/ip_groups_mock_test.go | 4 +- .../services/network/load_balancers.go | 2 +- .../network/load_balancers_mock_test.go | 4 +- .../services/network/nat_gateways.go | 2 +- .../network/nat_gateways_mock_test.go | 4 +- .../resources/services/network/profiles.go | 2 +- .../services/network/profiles_mock_test.go | 4 +- .../services/network/public_ip_addresses.go | 2 +- .../network/public_ip_addresses_mock_test.go | 4 +- .../services/network/public_ip_prefixes.go | 2 +- .../network/public_ip_prefixes_mock_test.go | 4 +- .../services/network/route_filters.go | 2 +- .../network/route_filters_mock_test.go | 4 +- .../services/network/route_tables.go | 2 +- .../network/route_tables_mock_test.go | 4 +- .../services/network/security_groups.go | 2 +- .../network/security_groups_mock_test.go | 4 +- .../network/security_partner_providers.go | 2 +- .../security_partner_providers_mock_test.go | 4 +- .../network/service_endpoint_policies.go | 2 +- .../service_endpoint_policies_mock_test.go | 4 +- ...ubscription_network_manager_connections.go | 2 +- ...n_network_manager_connections_mock_test.go | 4 +- .../services/network/virtual_appliances.go | 2 +- .../network/virtual_appliances_mock_test.go | 4 +- .../services/network/virtual_hubs.go | 2 +- .../network/virtual_hubs_mock_test.go | 4 +- .../services/network/virtual_network_taps.go | 2 +- .../network/virtual_network_taps_mock_test.go | 4 +- .../services/network/virtual_networks.go | 2 +- .../network/virtual_networks_mock_test.go | 4 +- .../services/network/virtual_routers.go | 2 +- .../network/virtual_routers_mock_test.go | 4 +- .../services/network/virtual_wans.go | 2 +- .../network/virtual_wans_mock_test.go | 4 +- .../services/network/vpn_gateways.go | 2 +- .../network/vpn_gateways_mock_test.go | 4 +- .../network/vpn_server_configurations.go | 2 +- .../vpn_server_configurations_mock_test.go | 4 +- .../resources/services/network/vpn_sites.go | 2 +- .../services/network/vpn_sites_mock_test.go | 4 +- .../resources/services/network/watchers.go | 2 +- .../services/network/watchers_mock_test.go | 4 +- .../web_application_firewall_policies.go | 2 +- ...application_firewall_policies_mock_test.go | 4 +- ...zure_traffic_collectors_by_subscription.go | 2 +- ...ic_collectors_by_subscription_mock_test.go | 4 +- .../services/nginx/deployments_mock_test.go | 4 +- .../services/notificationhubs/namespaces.go | 2 +- .../notificationhubs/namespaces_mock_test.go | 4 +- .../services/operationalinsights/clusters.go | 2 +- .../operationalinsights/clusters_mock_test.go | 4 +- .../operationalinsights/workspaces.go | 2 +- .../workspaces_mock_test.go | 4 +- .../services/peering/service_countries.go | 2 +- .../peering/service_countries_mock_test.go | 4 +- .../services/peering/service_locations.go | 2 +- .../peering/service_locations_mock_test.go | 4 +- .../peering/service_providers_mock_test.go | 4 +- .../resources/services/policy/assignments.go | 2 +- .../services/policy/assignments_mock_test.go | 4 +- .../services/policy/data_policy_manifests.go | 2 +- .../policy/data_policy_manifests_mock_test.go | 4 +- .../resources/services/policy/definitions.go | 2 +- .../services/policy/definitions_mock_test.go | 4 +- .../resources/services/policy/exemptions.go | 2 +- .../services/policy/exemptions_mock_test.go | 4 +- .../services/policy/set_definitions.go | 2 +- .../policy/set_definitions_mock_test.go | 4 +- .../list_tenant_configuration_violations.go | 2 +- ...nant_configuration_violations_mock_test.go | 4 +- .../services/portal/tenant_configurations.go | 2 +- .../portal/tenant_configurations_mock_test.go | 4 +- .../resources/services/postgresql/servers.go | 2 +- .../services/postgresql/servers_mock_test.go | 4 +- .../postgresqlflexibleservers/servers.go | 2 +- .../servers_mock_test.go | 4 +- .../services/postgresqlhsc/server_groups.go | 2 +- .../postgresqlhsc/server_groups_mock_test.go | 4 +- .../services/powerbidedicated/capacities.go | 2 +- .../powerbidedicated/capacities_mock_test.go | 4 +- .../services/privatedns/private_zones.go | 2 +- .../privatedns/private_zones_mock_test.go | 4 +- .../providerhub/provider_registrations.go | 2 +- .../provider_registrations_mock_test.go | 4 +- .../redhatopenshift/open_shift_clusters.go | 2 +- .../open_shift_clusters_mock_test.go | 4 +- .../resources/services/relay/namespaces.go | 2 +- .../services/relay/namespaces_mock_test.go | 4 +- .../services/reservations/reservation.go | 2 +- .../reservations/reservation_mock_test.go | 4 +- .../reservations/reservation_order.go | 2 +- .../reservation_order_mock_test.go | 4 +- .../resources/services/saas/resources.go | 2 +- .../services/saas/resources_mock_test.go | 4 +- .../resources/services/security/alerts.go | 2 +- .../services/security/alerts_mock_test.go | 4 +- .../security/alerts_suppression_rules.go | 2 +- .../alerts_suppression_rules_mock_test.go | 4 +- .../services/security/allowed_connections.go | 2 +- .../security/allowed_connections_mock_test.go | 4 +- .../services/security/applications.go | 2 +- .../security/applications_mock_test.go | 4 +- .../services/security/assessments_metadata.go | 2 +- .../assessments_metadata_mock_test.go | 4 +- .../security/auto_provisioning_settings.go | 2 +- .../auto_provisioning_settings_mock_test.go | 4 +- .../services/security/automations.go | 2 +- .../security/automations_mock_test.go | 4 +- .../resources/services/security/connectors.go | 2 +- .../services/security/connectors_mock_test.go | 4 +- .../security/discovered_security_solutions.go | 2 +- ...discovered_security_solutions_mock_test.go | 4 +- .../security/external_security_solutions.go | 2 +- .../external_security_solutions_mock_test.go | 4 +- .../services/security/governance_rule.go | 2 +- .../security/governance_rule_mock_test.go | 4 +- .../security/jit_network_access_policies.go | 2 +- .../jit_network_access_policies_mock_test.go | 4 +- .../resources/services/security/locations.go | 2 +- .../services/security/locations_mock_test.go | 4 +- .../regulatory_compliance_standards.go | 2 +- ...gulatory_compliance_standards_mock_test.go | 4 +- .../secure_score_control_definitions.go | 2 +- ...ure_score_control_definitions_mock_test.go | 4 +- .../security/secure_score_controls.go | 2 +- .../secure_score_controls_mock_test.go | 4 +- .../services/security/secure_scores.go | 2 +- .../security/secure_scores_mock_test.go | 4 +- .../resources/services/security/solutions.go | 2 +- .../services/security/solutions_mock_test.go | 4 +- .../resources/services/security/tasks.go | 2 +- .../services/security/tasks_mock_test.go | 4 +- .../resources/services/security/topology.go | 2 +- .../services/security/topology_mock_test.go | 4 +- .../services/security/workspace_settings.go | 2 +- .../security/workspace_settings_mock_test.go | 4 +- .../services/servicebus/namespaces.go | 2 +- .../servicebus/namespaces_mock_test.go | 4 +- .../resources/services/sql/instance_pools.go | 2 +- .../services/sql/instance_pools_mock_test.go | 4 +- .../services/sql/managed_instances.go | 2 +- .../sql/managed_instances_mock_test.go | 4 +- .../azure/resources/services/sql/servers.go | 2 +- .../services/sql/servers_mock_test.go | 4 +- .../services/sql/virtual_clusters.go | 2 +- .../sql/virtual_clusters_mock_test.go | 4 +- .../services/sqlvirtualmachine/groups.go | 2 +- .../sqlvirtualmachine/groups_mock_test.go | 4 +- .../sqlvirtualmachine/sql_virtual_machines.go | 2 +- .../sql_virtual_machines_mock_test.go | 4 +- .../resources/services/storagecache/caches.go | 2 +- .../services/storagecache/caches_mock_test.go | 4 +- .../streamanalytics/streaming_jobs.go | 2 +- .../streaming_jobs_mock_test.go | 4 +- .../resources/services/support/services.go | 2 +- .../services/support/services_mock_test.go | 4 +- .../resources/services/support/tickets.go | 2 +- .../services/support/tickets_mock_test.go | 4 +- .../services/synapse/private_link_hubs.go | 2 +- .../synapse/private_link_hubs_mock_test.go | 4 +- .../resources/services/synapse/workspaces.go | 2 +- .../services/synapse/workspaces_mock_test.go | 4 +- .../resources/services/windowsiot/services.go | 2 +- .../services/windowsiot/services_mock_test.go | 4 +- .../resources/services/workloads/monitors.go | 2 +- .../services/workloads/monitors_mock_test.go | 4 +- 404 files changed, 656 insertions(+), 1557 deletions(-) delete mode 100644 plugins/source/azure/codegen0/internal/azparser/discover.go delete mode 100644 plugins/source/azure/codegen0/internal/azparser/gomod.go delete mode 100644 plugins/source/azure/codegen0/internal/azparser/parser.go delete mode 100644 plugins/source/azure/codegen0/internal/azparser/recipe.go delete mode 100644 plugins/source/azure/codegen0/main.go delete mode 100644 plugins/source/azure/codegen0/templates/list.go.tpl delete mode 100644 plugins/source/azure/codegen0/templates/list_mock.go.tpl delete mode 100644 plugins/source/azure/codegen0/templates/namespaces.go.tpl delete mode 100644 plugins/source/azure/codegen0/templates/tables.go.tpl diff --git a/plugins/.golangci.yml b/plugins/.golangci.yml index e8c3f7a1e8e081..86fe56fced3d81 100644 --- a/plugins/.golangci.yml +++ b/plugins/.golangci.yml @@ -21,6 +21,10 @@ linters-settings: # tokens count to trigger issue, 150 by default threshold: 500 + misspell: + ignore-words: + - hdinsight + revive: enable-all-rules: true rules: diff --git a/plugins/source/azure/client/client.go b/plugins/source/azure/client/client.go index 2618ffe58d6b13..46e24daaacfbd5 100644 --- a/plugins/source/azure/client/client.go +++ b/plugins/source/azure/client/client.go @@ -17,34 +17,6 @@ import ( "github.com/rs/zerolog" ) -const Namespacemicrosoft_datafactory = "microsoft.datafactory" -const Namespacemicrosoft_dbformariadb = "microsoft.dbformariadb" -const Namespacemicrosoft_keyvault = "microsoft.keyvault" -const Namespacemicrosoft_cache = "microsoft.cache" -const Namespacemicrosoft_search = "microsoft.search" -const Namespacemicrosoft_logic = "microsoft.logic" -const Namespacemicrosoft_costmanagement = "microsoft.costmanagement" -const Namespacemicrosoft_storage = "microsoft.storage" -const Namespacenginx_nginxplus = "nginx.nginxplus" -const Namespacemicrosoft_azuredata = "microsoft.azuredata" -const Namespacemicrosoft_healthbot = "microsoft.healthbot" - -var otherNamespaces = []string{ - Namespacemicrosoft_datafactory, - Namespacemicrosoft_dbformariadb, - Namespacemicrosoft_keyvault, - Namespacemicrosoft_cache, - Namespacemicrosoft_search, - Namespacemicrosoft_logic, - Namespacemicrosoft_costmanagement, - Namespacemicrosoft_storage, - Namespacenginx_nginxplus, - Namespacemicrosoft_azuredata, - Namespacemicrosoft_healthbot, -} - -var allNamespaces = append(autoGeneratedNamespaces, otherNamespaces...) - type Client struct { subscriptions []string // This is to cache full objects returned from ListSubscriptions on initialisation diff --git a/plugins/source/azure/client/namespaces.go b/plugins/source/azure/client/namespaces.go index e7cf874f98fb04..7b302b49d05444 100644 --- a/plugins/source/azure/client/namespaces.go +++ b/plugins/source/azure/client/namespaces.go @@ -1,4 +1,3 @@ -// Code generated by codegen; DO NOT EDIT. package client const Namespacemicrosoft_advisor = "microsoft.advisor" @@ -71,8 +70,19 @@ const Namespacemicrosoft_synapse = "microsoft.synapse" const Namespacemicrosoft_web = "microsoft.web" const Namespacemicrosoft_windowsiot = "microsoft.windowsiot" const Namespacemicrosoft_workloads = "microsoft.workloads" +const Namespacemicrosoft_datafactory = "microsoft.datafactory" +const Namespacemicrosoft_dbformariadb = "microsoft.dbformariadb" +const Namespacemicrosoft_keyvault = "microsoft.keyvault" +const Namespacemicrosoft_cache = "microsoft.cache" +const Namespacemicrosoft_search = "microsoft.search" +const Namespacemicrosoft_logic = "microsoft.logic" +const Namespacemicrosoft_costmanagement = "microsoft.costmanagement" +const Namespacemicrosoft_storage = "microsoft.storage" +const Namespacenginx_nginxplus = "nginx.nginxplus" +const Namespacemicrosoft_azuredata = "microsoft.azuredata" +const Namespacemicrosoft_healthbot = "microsoft.healthbot" -var autoGeneratedNamespaces = []string{ +var namespaces = []string{ Namespacemicrosoft_advisor, Namespacemicrosoft_analysisservices, Namespacemicrosoft_apimanagement, @@ -143,4 +153,15 @@ var autoGeneratedNamespaces = []string{ Namespacemicrosoft_web, Namespacemicrosoft_windowsiot, Namespacemicrosoft_workloads, + Namespacemicrosoft_datafactory, + Namespacemicrosoft_dbformariadb, + Namespacemicrosoft_keyvault, + Namespacemicrosoft_cache, + Namespacemicrosoft_search, + Namespacemicrosoft_logic, + Namespacemicrosoft_costmanagement, + Namespacemicrosoft_storage, + Namespacenginx_nginxplus, + Namespacemicrosoft_azuredata, + Namespacemicrosoft_healthbot, } diff --git a/plugins/source/azure/client/testing.go b/plugins/source/azure/client/testing.go index f931e237426c35..660e6793477976 100644 --- a/plugins/source/azure/client/testing.go +++ b/plugins/source/azure/client/testing.go @@ -80,7 +80,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. } registeredNamespaces := make(map[string]map[string]bool) registeredNamespaces[TestSubscription] = make(map[string]bool) - for _, namespace := range allNamespaces { + for _, namespace := range namespaces { registeredNamespaces[TestSubscription][namespace] = true } c := &Client{ diff --git a/plugins/source/azure/codegen0/internal/azparser/discover.go b/plugins/source/azure/codegen0/internal/azparser/discover.go deleted file mode 100644 index c9dd2dd6f3cda5..00000000000000 --- a/plugins/source/azure/codegen0/internal/azparser/discover.go +++ /dev/null @@ -1,66 +0,0 @@ -package azparser - -import ( - "io/ioutil" - "log" - "net/http" - "regexp" -) - -var packagesToSkip = map[string]bool{ - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databoxedge/armdataboxedge": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appplatform/armappplatform": true, - // Manually generated recipes - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault": true, - // This is a special API and we create those recipes manually - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources": true, - // this can be written manually and potentially we can also get it from armresources - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription": true, - // this can be written manually and potentially we can also get it from armresources - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions": true, - // seems something is not right with that package - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups": true, - // skipping for now - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managedservices/armmanagedservices": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/virtualmachineimagebuilder/armvirtualmachineimagebuilder": true, - - // deprecated packages - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/securityinsight/armsecurityinsight": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/web/armweb": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/loadtestservice/armloadtestservice": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/elasticsans/armelasticsans": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/videoanalyzer/armvideoanalyzer": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/machinelearningservices/armmachinelearningservices": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloadmonitor/armworkloadmonitor": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/securityinsights/armsecurityinsight": true, - - // not relevant packages - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/blockchain/armblockchain": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/agrifood/armagrifood": true, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/chaos/armchaos": true, -} - -var subpackageRe = regexp.MustCompile(`github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/[a-z-]+/[a-z]+`) - -func DiscoverSubpackages() ([]string, error) { - var subpackages = make([]string, 0) - resp, err := http.Get("https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk") - if err != nil { - return nil, err - } - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - log.Fatalln(err) - } - - matches := subpackageRe.FindAllString(string(body), -1) - for _, match := range matches { - if _, ok := packagesToSkip[match]; !ok { - subpackages = append(subpackages, match) - } - } - - return subpackages, nil -} diff --git a/plugins/source/azure/codegen0/internal/azparser/gomod.go b/plugins/source/azure/codegen0/internal/azparser/gomod.go deleted file mode 100644 index 33f9bfd7754a67..00000000000000 --- a/plugins/source/azure/codegen0/internal/azparser/gomod.go +++ /dev/null @@ -1,32 +0,0 @@ -package azparser - -import ( - "os" - "strings" - - "golang.org/x/mod/modfile" -) - -const ( - azureResourceManagerRootPackage = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager" -) - -func GetArmModules(gomodPath string) ([]string, error) { - var modules []string - content, err := os.ReadFile(gomodPath) - if err != nil { - return nil, err - } - mod, err := modfile.Parse("go.mod", content, nil) - if err != nil { - return nil, err - } - - for _, req := range mod.Require { - if strings.HasPrefix(req.Mod.Path, azureResourceManagerRootPackage) && !packagesToSkip[req.Mod.Path] { - modules = append(modules, req.Mod.String()) - } - } - - return modules, nil -} diff --git a/plugins/source/azure/codegen0/internal/azparser/parser.go b/plugins/source/azure/codegen0/internal/azparser/parser.go deleted file mode 100644 index c0f1a82299d48a..00000000000000 --- a/plugins/source/azure/codegen0/internal/azparser/parser.go +++ /dev/null @@ -1,408 +0,0 @@ -package azparser - -import ( - "fmt" - "go/ast" - "go/parser" - "go/token" - "os" - "os/exec" - "path" - "regexp" - "sort" - "strings" -) - -// github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources - -var newGlobalFuncsToSkip = map[string]bool{ - // We are skipping operationsClient as this just list all operations available and it is quite static - // so don't think it's of any use and we can always enable it later - "NewOperationsClient": true, - // This is mostly not needed and if it is needed we add this resource manually - "NewSKUsClient": true, -} - -var newFuncToSkipPerPackage = map[string]map[string]bool{ - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse": { - "NewKustoOperationsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mariadb/armmariadb": { - // we migrated this to manual written client as it has childs - "NewServersClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement": { - "NewSKUsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mysql/armmysql": { - "NewServersClient": true, - }, - // seems this api is not working and always returning InvalidResourceType - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql": { - "NewDeletedServersClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute": { - // we migrated this to manual written client as it has childs - "NewVirtualMachinesClient": true, - "NewResourceSKUsClient": true, - "NewVirtualMachineScaleSetsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos": { - "NewDatabaseAccountsClient": true, - }, - // We are skipping this because we already get this info via - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault": { - "NewVaultsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn": { - // we skip this because we moved this to manually generated recipes as it has childs - "NewProfilesClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork": { - // Seems like a buggy resource that always returns a marshal error. maybe will be fixed in future Azure SDK - "NewVirtualApplianceSKUsClient": true, - // Seems like a resource that always return an error. Skipping for now - "NewExpressRouteCrossConnectionsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/maintenance/armmaintenance": { - // We are getting this data already from NewConfigurationsClient across the whole subscription - "NewConfigurationsForResourceGroupClient": true, - // We are getting this data already from NewApplyUpdate across the whole subscription - "NewApplyUpdateForResourceGroupClient": true, - // Seems not implemented - "NewApplyUpdatesClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity": { - // ManualResource - "NewSettingsClient": true, - // Seems like a buggy resource that always returns a marshal error. maybe will be fixed in future Azure SDK - "NewIngestionSettingsClient": true, - // Seems like a buggy resource that always returns a marshal error. maybe will be fixed in future Azure SDK - "NewContactsClient": true, - // Seems like another buggy resource - "NewDeletedServersClient": true, - // Looks like this is a buggy resource. Im always getting marshal error from the Azure SDK. - // Just skipping this for now - "NewAccountConnectorsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservice": { - "NewDeletedAccountsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction": { - // Too long table name we will handle this with manually written receipe - "NewMarketplaceRegistrationDefinitionsWithoutScopeClient": true, - // This is already fetched by subscription level - "NewAzureTrafficCollectorsByResourceGroupClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights": { - // Seems like a buggy resource that always returns error. maybe will be fixed in future Azure SDK - "NewDeletedWorkspacesClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage": { - // we migrated this to manual written client as it has childs - "NewAccountsClient": true, - "NewDeletedAccountsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory": { - // requires renaming etag - "NewFactoriesClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2": { - // requires setting an API version explicitly - "NewDeploymentsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsesu/armwindowsesu": { - // Getting "The resource type could not be found in the namespace 'Microsoft.WindowsESU' for api version '2019-09-16-preview'". Seems like the API doesn't work - "NewMultipleActivationKeysClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azuredata/armazuredata": { - // Requires setting the API version to 2019-05-10-preview - "NewSQLServerRegistrationsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot": { - // Requires setting the API version to 2022-08-08 - "NewBotsClient": true, - }, - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering": { - // The primary key for this resource is Name and not ID - "NewServiceProvidersClient": true, - }, -} - -var reNewClient = regexp.MustCompile(`New[a-zA-Z]+Client`) -var reListRequest = regexp.MustCompile(`listCreateRequest|listAllCreateRequest|listBySubscriptionCreateRequest`) -var rePager = regexp.MustCompile(`NewListPager|NewListAllPager|NewListBySubscriptionPager`) -var reNamespaceFromURL = regexp.MustCompile(`/providers/([a-zA-Z\.]+)/`) - -var supportedPagerParams = [][]string{ - {"options"}, -} - -var supportedNewClientParams = [][]string{ - {"credential", "options"}, - {"subscriptionID", "credential", "options"}, -} - -type function struct { - receiver string - name string - ast *ast.FuncDecl - paramNames []string - returnTypes []string -} - -func parseURLFromFunc(fn *ast.FuncDecl) string { - for _, stmt := range fn.Body.List { - if expr, ok := stmt.(*ast.AssignStmt); ok { - if len(expr.Lhs) == 1 && len(expr.Rhs) == 1 { - if lhs, ok := expr.Lhs[0].(*ast.Ident); ok { - if lhs.Name == "urlPath" { - if rhs, ok := expr.Rhs[0].(*ast.BasicLit); ok { - return strings.Replace(rhs.Value, "\"", "", -1) - } - } - } - } - } - } - return "" -} - -func compareStrArrays(a, b []string) bool { - if len(a) != len(b) { - return false - } - for i := range a { - if a[i] != b[i] { - return false - } - } - return true -} - -func isArrayExist(arr [][]string, item []string) bool { - for _, a := range arr { - if compareStrArrays(a, item) { - return true - } - } - return false -} - -func getParamNames(fn *ast.FieldList) []string { - var params []string - for _, p := range fn.List { - for _, name := range p.Names { - params = append(params, name.Name) - } - } - return params -} - -func getReturnTypes(fn *ast.FieldList) []string { - var params []string - for _, p := range fn.List { - if ident, ok := p.Type.(*ast.Ident); ok { - params = append(params, ident.Name) - } else if star, ok := p.Type.(*ast.StarExpr); ok { - if index, ok := star.X.(*ast.IndexExpr); ok { - if ident, ok := index.Index.(*ast.Ident); ok { - params = append(params, ident.Name) - } - } - } - } - return params -} - -func getStructValueNameFromResponse(pkgs map[string]*ast.Package, name string) (string, bool, bool) { - st := getStruct(pkgs, name) - st1name := st.Fields.List[0].Type.(*ast.Ident).Name - st1 := getStruct(pkgs, st1name) - structName := "" - hasNextField := false - for _, f := range st1.Fields.List { - if f.Names[0].Name == "Value" { - arrType := f.Type.(*ast.ArrayType) - _, ok := arrType.Elt.(*ast.StarExpr) - if !ok { - structName = f.Type.(*ast.ArrayType).Elt.(*ast.Ident).Name - } else { - structName = f.Type.(*ast.ArrayType).Elt.(*ast.StarExpr).X.(*ast.Ident).Name - } - } - if f.Names[0].Name == "NextLink" { - hasNextField = true - } - } - hasId := false - st2 := getStruct(pkgs, structName) - for _, f := range st2.Fields.List { - if f.Names[0].Name == "ID" { - hasId = true - } - } - return structName, hasNextField, hasId -} - -func getStruct(pkgs map[string]*ast.Package, name string) *ast.StructType { - for _, pack := range pkgs { - for _, f := range pack.Files { - for _, d := range f.Decls { - if gen, isGen := d.(*ast.GenDecl); isGen { - for _, spec := range gen.Specs { - if typeSpec, isTypeSpec := spec.(*ast.TypeSpec); isTypeSpec { - if structType, isStruct := typeSpec.Type.(*ast.StructType); isStruct { - if typeSpec.Name.Name == name { - return structType - } - } - } - } - } - } - } - } - return nil -} - -// returns reciever and method name that matches re -func findFunctions(pkgs map[string]*ast.Package, re *regexp.Regexp) map[string]*function { - var funcs map[string]*function = make(map[string]*function) - for _, pack := range pkgs { - for _, f := range pack.Files { - for _, d := range f.Decls { - if fn, isFn := d.(*ast.FuncDecl); isFn { - if re.MatchString(fn.Name.Name) { - fun := function{ - name: fn.Name.Name, - ast: fn, - } - // if function is a method extract receiver name - if fn.Recv != nil && len(fn.Recv.List) == 1 { - receiver := fn.Recv.List[0].Type.(*ast.StarExpr).X.(*ast.Ident).Name - fun.receiver = receiver - } - fun.paramNames = getParamNames(fn.Type.Params) - if fn.Type != nil && fn.Type.Results != nil { - fun.returnTypes = getReturnTypes(fn.Type.Results) - } - if fun.receiver != "" { - funcs[fun.receiver+"."+fun.name] = &fun - } else { - funcs[fun.name] = &fun - } - } - } - } - } - } - return funcs -} - -// Get a package in format of github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/xxx/yy@v0.1.1 -func CreateTablesFromPackage(pkg string) ([]*Table, error) { - goPath := os.Getenv("GOPATH") - if goPath == "" { - output, err := exec.Command("go", "env", "GOPATH").Output() - if err != nil { - return nil, err - } - goPath = strings.TrimSpace(string(output)) - } - pkgWithoutVersion := strings.Split(pkg, "@")[0] - if packagesToSkip[pkgWithoutVersion] { - return nil, nil - } - cacheDir := goPath + "/pkg/mod" - // this maps client name to tables - tables := make(map[string]*Table) - set := token.NewFileSet() - pkgPath := path.Join(cacheDir, pkg) - // thats because azure had to be special with uppercase - pkgPath = strings.Replace(pkgPath, "A", "!A", 1) - pkgs, err := parser.ParseDir(set, pkgPath, nil, 0) - if err != nil { - return nil, err - } - newXClientFuncstions := findFunctions(pkgs, reNewClient) - for _, fn := range newXClientFuncstions { - if newGlobalFuncsToSkip[fn.name] || !isArrayExist(supportedNewClientParams, fn.paramNames) { - continue - } - if _, ok := newFuncToSkipPerPackage[pkgWithoutVersion]; ok { - if newFuncToSkipPerPackage[pkgWithoutVersion][fn.name] { - continue - } - } - tables[strings.TrimPrefix(fn.name, "New")] = &Table{ - NewFuncName: fn.name, - NewClientParams: fn.paramNames, - } - } - listMethods := findFunctions(pkgs, reListRequest) - pagerMethods := findFunctions(pkgs, rePager) - - var result []*Table - for client, t := range tables { - var pagerMethod *function - var listMethod *function - if pagerMethods[client+".NewListAllPager"] != nil { - if listMethods[client+".listAllCreateRequest"] != nil { - pagerMethod = pagerMethods[client+".NewListAllPager"] - t.Pager = "NewListAllPager" - listMethod = listMethods[client+".listAllCreateRequest"] - } else { - // this permutation is not supported by codegen - continue - } - } else if pagerMethods[client+".NewListPager"] != nil { - if listMethods[client+".listCreateRequest"] != nil { - pagerMethod = pagerMethods[client+".NewListPager"] - t.Pager = "NewListPager" - listMethod = listMethods[client+".listCreateRequest"] - } else { - // this permutation is not supported by codegen - continue - } - } else if pagerMethods[client+".listBySubscriptionCreateRequest"] != nil { - if listMethods[client+".listBySubscriptionCreateRequest"] != nil { - pagerMethod = pagerMethods[client+".listBySubscriptionCreateRequest"] - t.Pager = "listBySubscriptionCreateRequest" - listMethod = listMethods[client+".listBySubscriptionCreateRequest"] - } else { - // this permutation is not supported by codegen - continue - } - } else { - // this permutation is not supported by codegen - continue - } - - if !isArrayExist(supportedPagerParams, pagerMethod.paramNames) { - continue - } - azURL := parseURLFromFunc(listMethod.ast) - if azURL == "" { - continue - } - t.URL = azURL - t.ResponseStruct = pagerMethod.returnTypes[0] - namespaceMatches := reNamespaceFromURL.FindStringSubmatch(azURL) - if len(namespaceMatches) == 2 { - t.Namespace = strings.ToLower(namespaceMatches[1]) - t.Multiplex = fmt.Sprintf("client.SubscriptionMultiplexRegisteredNamespace(client.Namespace%s)", strings.ReplaceAll(t.Namespace, ".", "_")) - } else { - t.Multiplex = "client.SubscriptionMultiplex" - } - hasId := false - t.ResponseValueStruct, t.ResponspeStructNextLink, hasId = getStructValueNameFromResponse(pkgs, t.ResponseStruct) - if hasId { - result = append(result, t) - } - } - sort.SliceStable(result, func(i, j int) bool { - return result[i].NewFuncName < result[j].NewFuncName - }) - return result, nil -} diff --git a/plugins/source/azure/codegen0/internal/azparser/recipe.go b/plugins/source/azure/codegen0/internal/azparser/recipe.go deleted file mode 100644 index 6e3d2149fbbda6..00000000000000 --- a/plugins/source/azure/codegen0/internal/azparser/recipe.go +++ /dev/null @@ -1,30 +0,0 @@ -package azparser - -// Contains the information needed to generate CQ Table for specific Azure Client -type Table struct { - // FullImportPath - ImportPath string - // Package in the plugin - PackageName string - BaseImportPath string - // Name of the table - Name string - // name of the function that creates a new azure client - NewFuncName string - // Namespace Parsed from the URL - Namespace string - // NamespaceConst - NamespaceConst string - // Pager name to use - Pager string - // ResponseStruct - ResponseStruct string - ResponspeStructNextLink bool - ResponseValueStruct string - // URL is the one set by NewListAll or NewList, depending on which one is available - URL string - NewFuncHasSubscriptionId bool - // param names for NewXClient function - NewClientParams []string - Multiplex string -} diff --git a/plugins/source/azure/codegen0/main.go b/plugins/source/azure/codegen0/main.go deleted file mode 100644 index 49e8d8021cff45..00000000000000 --- a/plugins/source/azure/codegen0/main.go +++ /dev/null @@ -1,220 +0,0 @@ -package main - -import ( - "bytes" - "embed" - "fmt" - "go/format" - "log" - "os" - "os/exec" - "path" - "runtime" - "strings" - "text/template" - - "github.com/cloudquery/cloudquery/plugins/source/azure/codegen0/internal/azparser" - "github.com/iancoleman/strcase" -) - -var templateFuncs = template.FuncMap{ - "ToCamel": strcase.ToCamel, - "ToLower": strings.ToLower, -} - -//go:embed templates/*.go.tpl -var templateFS embed.FS - -var ( - currentFilename string - currentDir string -) - -func main() { - var ok bool - _, currentFilename, _, ok = runtime.Caller(0) - if !ok { - log.Fatal("Failed to get caller information") - } - currentDir = path.Dir(currentFilename) - var updateGoMod bool - if len(os.Args) > 1 && os.Args[1] == "--update-go-mod" { - updateGoMod = true - } - - if updateGoMod { - packagesToGoGet, err := azparser.DiscoverSubpackages() - if err != nil { - log.Fatal(err) - } - fmt.Printf("go getting %d packages\n", len(packagesToGoGet)) - args := []string{"get", "-u"} - args = append(args, packagesToGoGet...) - cmd := exec.Command("go", args...) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - log.Fatal(err) - } - } - - armModules, err := azparser.GetArmModules(path.Join(currentDir, "../go.mod")) - if err != nil { - log.Fatal(err) - } - namespaces := make(map[string]string, 0) - var allTables []*azparser.Table - for _, armModule := range armModules { - tables, err := azparser.CreateTablesFromPackage(armModule) - if err != nil { - log.Fatal(err) - } - if len(tables) == 0 { - continue - } - importPath := strings.Split(armModule, "@")[0] - for _, table := range tables { - if table.Namespace == "" { - panic(fmt.Sprintf("table %s has no namespace %s %s", table.NewFuncName, table.URL, importPath)) - } - namespaces[strings.ReplaceAll(table.Namespace, ".", "_")] = table.Namespace - } - for _, table := range tables { - table.Name = strings.TrimPrefix(table.NewFuncName, "New") - table.Name = strcase.ToSnake(strings.TrimSuffix(table.Name, "Client")) - table.BaseImportPath = path.Base(importPath) - table.PackageName = strings.TrimPrefix(path.Base(importPath), "arm") - table.ImportPath = importPath - table.NamespaceConst = strings.ReplaceAll(table.Namespace, ".", "_") - if len(table.NewClientParams) == 3 { - table.NewFuncHasSubscriptionId = true - } - if err := generateTable(table); err != nil { - log.Fatal(err) - } - } - allTables = append(allTables, tables...) - } - if err := generateTables(allTables); err != nil { - log.Fatal(err) - } - if err := generateNamespaces(namespaces); err != nil { - log.Fatal(err) - } -} - -func generateNamespaces(namespaces map[string]string) error { - tpl, err := template.New("namespaces.go.tpl").Funcs(template.FuncMap{ - "ToCamel": strcase.ToCamel, - }).ParseFS(templateFS, "templates/namespaces.go.tpl") - if err != nil { - return fmt.Errorf("failed to parse namespaces.go.tpl: %w", err) - } - - var buff bytes.Buffer - if err := tpl.Execute(&buff, namespaces); err != nil { - return fmt.Errorf("failed to execute recipe template: %w", err) - } - filePath := path.Join(currentDir, "../client/namespaces.go") - content := buff.Bytes() - formattedContent, err := format.Source(content) - if err != nil { - fmt.Printf("failed to format code for %s: %v\n", filePath, err) - } else { - content = formattedContent - } - if err := os.WriteFile(filePath, content, 0644); err != nil { - return fmt.Errorf("failed to write file %s: %w", filePath, err) - } - return nil -} - -func generateTable(r *azparser.Table) error { - tpl, err := template.New("list.go.tpl").Funcs(templateFuncs).ParseFS(templateFS, "templates/*.go.tpl") - if err != nil { - return fmt.Errorf("failed to parse templates: %w", err) - } - var buff bytes.Buffer - if err := tpl.Execute(&buff, r); err != nil { - return fmt.Errorf("failed to execute template for %w", err) - } - - filePath := path.Join(currentDir, "../resources/services", r.PackageName) - if err := os.MkdirAll(filePath, os.ModePerm); err != nil { - return err - } - name := r.Name - if strings.HasSuffix(name, "_test") { - name = name + "_not" - } - filePath = path.Join(filePath, name+".go") - - content := buff.Bytes() - formattedContent, err := format.Source(buff.Bytes()) - if err != nil { - fmt.Printf("failed to format code for %s: %v\n", filePath, err) - } else { - content = formattedContent - } - if err := os.WriteFile(filePath, content, 0644); err != nil { - return fmt.Errorf("failed to write file %s: %w", filePath, err) - } - if err := generateTableMock(r); err != nil { - return err - } - return nil -} - -func generateTableMock(r *azparser.Table) error { - tpl, err := template.New("list_mock.go.tpl").Funcs(templateFuncs).ParseFS(templateFS, "templates/*.go.tpl") - if err != nil { - return fmt.Errorf("failed to parse templates: %w", err) - } - var buff bytes.Buffer - if err := tpl.Execute(&buff, r); err != nil { - return fmt.Errorf("failed to execute template: %w", err) - } - - filePath := path.Join(currentDir, "../resources/services", r.PackageName) - if err := os.MkdirAll(filePath, os.ModePerm); err != nil { - return err - } - filePath = path.Join(filePath, r.Name+"_mock_test.go") - - content := buff.Bytes() - formattedContent, err := format.Source(buff.Bytes()) - if err != nil { - fmt.Printf("failed to format code for %s: %v\n", filePath, err) - } else { - content = formattedContent - } - if err := os.WriteFile(filePath, content, 0644); err != nil { - return fmt.Errorf("failed to write file %s: %w", filePath, err) - } - return nil -} - -func generateTables(rr []*azparser.Table) error { - tpl, err := template.New("tables.go.tpl").Funcs(templateFuncs).ParseFS(templateFS, "templates/tables.go.tpl") - if err != nil { - return fmt.Errorf("failed to parse services.go.tpl: %w", err) - } - - var buff bytes.Buffer - if err := tpl.Execute(&buff, rr); err != nil { - return fmt.Errorf("failed to execute services template: %w", err) - } - - filePath := path.Join(currentDir, "../resources/plugin/tables.go") - content := buff.Bytes() - formattedContent, err := format.Source(buff.Bytes()) - if err != nil { - fmt.Printf("failed to format code for %s: %v\n", filePath, err) - } else { - content = formattedContent - } - if err := os.WriteFile(filePath, content, 0644); err != nil { - return fmt.Errorf("failed to write file %s: %w", filePath, err) - } - return nil -} diff --git a/plugins/source/azure/codegen0/templates/list.go.tpl b/plugins/source/azure/codegen0/templates/list.go.tpl deleted file mode 100644 index 818354c99b5671..00000000000000 --- a/plugins/source/azure/codegen0/templates/list.go.tpl +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by codegen; DO NOT EDIT. -package {{.PackageName}} - -import ( - "github.com/cloudquery/plugin-sdk/schema" - "github.com/cloudquery/plugin-sdk/transformers" - "context" - "{{.ImportPath}}" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" -) - -func {{.Name | ToCamel}}() *schema.Table { - return &schema.Table{ - Name: "azure_{{.PackageName}}_{{.Name}}", - Resolver: fetch{{.Name | ToCamel}}, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_{{.PackageName}}_{{.Name}}", client.Namespace{{.NamespaceConst}}), - Transform: transformers.TransformWithStruct(&{{.BaseImportPath}}.{{.ResponseValueStruct}}{}), - Columns: []schema.Column{ - { - Name: "subscription_id", - Type: schema.TypeString, - Resolver: client.ResolveAzureSubscription, - }, - { - Name: "id", - Type: schema.TypeString, - Resolver: schema.PathResolver("ID"), - CreationOptions: schema.ColumnCreationOptions{ - PrimaryKey: true, - }, - }, - }, - } -} - -func fetch{{.Name | ToCamel}}(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - {{- if .NewFuncHasSubscriptionId}} - svc, err := {{.BaseImportPath}}.{{.NewFuncName}}(cl.SubscriptionId, cl.Creds, cl.Options) - {{- else}} - svc, err := {{.BaseImportPath}}.{{.NewFuncName}}(cl.Creds, cl.Options) - {{- end}} - if err != nil { - return err - } - pager := svc.{{.Pager}}(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} \ No newline at end of file diff --git a/plugins/source/azure/codegen0/templates/list_mock.go.tpl b/plugins/source/azure/codegen0/templates/list_mock.go.tpl deleted file mode 100644 index 1121f44e8eeec8..00000000000000 --- a/plugins/source/azure/codegen0/templates/list_mock.go.tpl +++ /dev/null @@ -1,42 +0,0 @@ -// Code generated by codegen; DO NOT EDIT. -package {{.PackageName}} - -import ( - "encoding/json" - "net/http" - - "testing" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/cloudquery/plugin-sdk/faker" - "github.com/gorilla/mux" - "{{.ImportPath}}" -) - -func create{{.Name | ToCamel}}(router *mux.Router) (error) { - var item {{.BaseImportPath}}.{{.ResponseStruct}} - if err := faker.FakeObject(&item); err != nil { - return err - } - {{if .ResponspeStructNextLink}} - emptyStr := "" - item.NextLink = &emptyStr - {{end}} - router.HandleFunc("{{.URL}}", 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 Test{{.Name | ToCamel}}(t *testing.T) { - client.MockTestHelper(t, {{.Name | ToCamel}}(), create{{.Name | ToCamel}}) -} diff --git a/plugins/source/azure/codegen0/templates/namespaces.go.tpl b/plugins/source/azure/codegen0/templates/namespaces.go.tpl deleted file mode 100644 index 3fbcad783ba449..00000000000000 --- a/plugins/source/azure/codegen0/templates/namespaces.go.tpl +++ /dev/null @@ -1,12 +0,0 @@ -// Code generated by codegen; DO NOT EDIT. -package client - -{{- range $key, $value := .}} -const Namespace{{$key}} = "{{$value}}" -{{- end}} - -var autoGeneratedNamespaces = []string{ -{{- range $key, $value := .}} - Namespace{{$key}}, -{{- end}} -} diff --git a/plugins/source/azure/codegen0/templates/tables.go.tpl b/plugins/source/azure/codegen0/templates/tables.go.tpl deleted file mode 100644 index 4595b75ce697be..00000000000000 --- a/plugins/source/azure/codegen0/templates/tables.go.tpl +++ /dev/null @@ -1,17 +0,0 @@ -// Code generated by codegen; DO NOT EDIT. -package plugin - -import ( - "github.com/cloudquery/plugin-sdk/schema" - {{- range .}} - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/{{.PackageName}}" - {{- end}} -) - -func generatedTables() []*schema.Table { - return []*schema.Table{ - {{- range .}} - {{.PackageName}}.{{.Name | ToCamel}}(), - {{- end}} - } -} \ No newline at end of file diff --git a/plugins/source/azure/resources/plugin/plugin.go b/plugins/source/azure/resources/plugin/plugin.go index a859364b4a53f4..13cf43c1d4b7a8 100644 --- a/plugins/source/azure/resources/plugin/plugin.go +++ b/plugins/source/azure/resources/plugin/plugin.go @@ -2,73 +2,18 @@ package plugin import ( "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/authorization" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/azuredata" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/cdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/compute" - "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/datafactory" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/healthbot" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/keyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/logic" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/mariadb" - "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/network" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/nginx" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/peering" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/redis" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/resources" - "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/storage" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/subscription" "github.com/cloudquery/plugin-sdk/plugins/source" - "github.com/cloudquery/plugin-sdk/schema" ) var ( Version = "development" ) -// var Tables []*schema.Table - -var customTables = []*schema.Table{ - authorization.RoleDefinitions(), - azuredata.SqlServerRegistrations(), - cdn.Profiles(), - compute.VirtualMachines(), - compute.SKUs(), - compute.VirtualMachineScaleSets(), - cosmos.DatabaseAccounts(), - costmanagement.Views(), - datafactory.Factories(), - healthbot.Bots(), - keyvault.Keyvault(), - keyvault.KeyvaultManagedHsms(), - logic.Workflows(), - mariadb.Servers(), - monitor.TenantActivityLogAlerts(), - mysql.Servers(), - network.ExpressRouteGateways(), - security.Pricings(), - storage.Accounts(), - subscription.Subscriptions(), - redis.Caches(), - resources.Resources(), - subscription.Tenants(), - search.Services(), - nginx.Deployments(), - peering.ServiceProviders(), -} - func Plugin() *source.Plugin { - allTables := append(generatedTables(), customTables...) return source.NewPlugin( "azure", Version, - allTables, + tables(), client.New, ) } diff --git a/plugins/source/azure/resources/plugin/tables.go b/plugins/source/azure/resources/plugin/tables.go index 4b74125f079441..d1afcba5ce372b 100644 --- a/plugins/source/azure/resources/plugin/tables.go +++ b/plugins/source/azure/resources/plugin/tables.go @@ -1,4 +1,3 @@ -// Code generated by codegen; DO NOT EDIT. package plugin import ( @@ -12,6 +11,7 @@ import ( "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/azuredata" "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" @@ -24,10 +24,12 @@ import ( "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" @@ -43,16 +45,22 @@ import ( "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/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" @@ -65,15 +73,20 @@ import ( "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/windowsiot" @@ -81,7 +94,7 @@ import ( "github.com/cloudquery/plugin-sdk/schema" ) -func generatedTables() []*schema.Table { +func tables() []*schema.Table { return []*schema.Table{ advisor.RecommendationMetadata(), advisor.Recommendations(), @@ -106,10 +119,12 @@ func generatedTables() []*schema.Table { authorization.ClassicAdministrators(), authorization.ProviderOperationsMetadata(), authorization.RoleAssignments(), + authorization.RoleDefinitions(), automation.Account(), azurearcdata.PostgresInstances(), azurearcdata.SqlManagedInstances(), azurearcdata.SqlServerInstances(), + azuredata.SqlServerRegistrations(), batch.Account(), billing.Accounts(), billing.EnrollmentAccounts(), @@ -117,6 +132,7 @@ func generatedTables() []*schema.Table { botservice.Bots(), cdn.EdgeNodes(), cdn.ManagedRuleSets(), + cdn.Profiles(), cognitiveservices.Accounts(), cognitiveservices.DeletedAccounts(), compute.CloudServices(), @@ -126,7 +142,12 @@ func generatedTables() []*schema.Table { compute.Galleries(), compute.Images(), compute.RestorePointCollections(), + compute.SKUs(), compute.Snapshots(), + compute.VirtualMachineScaleSets(), + compute.VirtualMachines(), + cosmos.DatabaseAccounts(), + costmanagement.Views(), confluent.MarketplaceAgreements(), connectedvmware.Clusters(), connectedvmware.Datastores(), @@ -147,6 +168,7 @@ func generatedTables() []*schema.Table { databox.Jobs(), datadog.MarketplaceAgreements(), datadog.Monitors(), + datafactory.Factories(), datalakeanalytics.Accounts(), datalakestore.Accounts(), datamigration.Services(), @@ -165,16 +187,23 @@ func generatedTables() []*schema.Table { 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(), + mariadb.Servers(), marketplace.PrivateStore(), monitor.LogProfiles(), monitor.PrivateLinkScopes(), + monitor.TenantActivityLogAlerts(), monitor.TenantActivityLogs(), + mysql.Servers(), mysqlflexibleservers.Servers(), network.ApplicationGateways(), network.ApplicationSecurityGroups(), @@ -186,6 +215,7 @@ func generatedTables() []*schema.Table { network.DdosProtectionPlans(), network.DscpConfiguration(), network.ExpressRouteCircuits(), + network.ExpressRouteGateways(), network.ExpressRoutePorts(), network.ExpressRoutePortsLocations(), network.ExpressRouteServiceProviders(), @@ -216,11 +246,13 @@ func generatedTables() []*schema.Table { 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(), @@ -230,15 +262,18 @@ func generatedTables() []*schema.Table { privatedns.PrivateZones(), providerhub.ProviderRegistrations(), redhatopenshift.OpenShiftClusters(), + redis.Caches(), relay.Namespaces(), reservations.Reservation(), reservations.ReservationOrder(), + resources.Resources(), policy.Assignments(), policy.DataPolicyManifests(), policy.Definitions(), policy.Exemptions(), policy.SetDefinitions(), saas.Resources(), + search.Services(), security.Alerts(), security.AlertsSuppressionRules(), security.AllowedConnections(), @@ -252,6 +287,7 @@ func generatedTables() []*schema.Table { security.GovernanceRule(), security.JitNetworkAccessPolicies(), security.Locations(), + security.Pricings(), security.RegulatoryComplianceStandards(), security.SecureScoreControlDefinitions(), security.SecureScoreControls(), @@ -267,8 +303,11 @@ func generatedTables() []*schema.Table { sql.VirtualClusters(), sqlvirtualmachine.Groups(), sqlvirtualmachine.SqlVirtualMachines(), + storage.Accounts(), storagecache.Caches(), streamanalytics.StreamingJobs(), + subscription.Subscriptions(), + subscription.Tenants(), support.Services(), support.Tickets(), synapse.PrivateLinkHubs(), diff --git a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go b/plugins/source/azure/resources/services/advisor/recommendation_metadata.go index 001a345535ed6c..32f64fa580fae0 100644 --- a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go +++ b/plugins/source/azure/resources/services/advisor/recommendation_metadata.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 5d6ffc262e48c2..ad28d9c47241c5 100644 --- a/plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go +++ b/plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package advisor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/advisor/recommendations.go b/plugins/source/azure/resources/services/advisor/recommendations.go index 25246474966caf..8250d6ff1917d0 100644 --- a/plugins/source/azure/resources/services/advisor/recommendations.go +++ b/plugins/source/azure/resources/services/advisor/recommendations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go b/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go index 217f8cc61a17be..e99cf2069a5fc6 100644 --- a/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go +++ b/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package advisor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/advisor/suppressions.go b/plugins/source/azure/resources/services/advisor/suppressions.go index 168097136e43b3..45e8a0eb637806 100644 --- a/plugins/source/azure/resources/services/advisor/suppressions.go +++ b/plugins/source/azure/resources/services/advisor/suppressions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go b/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go index b8aad20f26691c..8b034b99d6a5d4 100644 --- a/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go +++ b/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package advisor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/analysisservices/servers.go b/plugins/source/azure/resources/services/analysisservices/servers.go index 2da3af81037048..85be49b60b417f 100644 --- a/plugins/source/azure/resources/services/analysisservices/servers.go +++ b/plugins/source/azure/resources/services/analysisservices/servers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go b/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go index 8c8399f409d85e..6ab6a779956787 100644 --- a/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go +++ b/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package analysisservices import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/apimanagement/service.go b/plugins/source/azure/resources/services/apimanagement/service.go index 09fa95a02f53a3..19500b7c8eb6ab 100644 --- a/plugins/source/azure/resources/services/apimanagement/service.go +++ b/plugins/source/azure/resources/services/apimanagement/service.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/apimanagement/service_mock_test.go b/plugins/source/azure/resources/services/apimanagement/service_mock_test.go index cc3b9e8097c430..f9cb89d7f564d7 100644 --- a/plugins/source/azure/resources/services/apimanagement/service_mock_test.go +++ b/plugins/source/azure/resources/services/apimanagement/service_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package apimanagement import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go b/plugins/source/azure/resources/services/appcomplianceautomation/reports.go index 1fa11a2f8e7ab9..67fd32f488f3a3 100644 --- a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go +++ b/plugins/source/azure/resources/services/appcomplianceautomation/reports.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go b/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go index 3223f924dfc808..191970d71a9a7f 100644 --- a/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go +++ b/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appcomplianceautomation import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go b/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go index 51cbf2222f7dae..86b568a1ca250e 100644 --- a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go +++ b/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index fc8b44bc446e50..4fae5707f84e3a 100644 --- a/plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go +++ b/plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appconfiguration import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/applicationinsights/components.go b/plugins/source/azure/resources/services/applicationinsights/components.go index 955d9d7197ecff..0aa34df4a07f79 100644 --- a/plugins/source/azure/resources/services/applicationinsights/components.go +++ b/plugins/source/azure/resources/services/applicationinsights/components.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go b/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go index 166a3c3baf9a33..1ecc5cfda12dca 100644 --- a/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go +++ b/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package applicationinsights import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/applicationinsights/web_tests.go b/plugins/source/azure/resources/services/applicationinsights/web_tests.go index 11728a5c8a0a26..56c0872b83ef4d 100644 --- a/plugins/source/azure/resources/services/applicationinsights/web_tests.go +++ b/plugins/source/azure/resources/services/applicationinsights/web_tests.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 33739e18b5c4fe..20be1d8c3eae2a 100644 --- a/plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go +++ b/plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package applicationinsights import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/certificate_orders.go b/plugins/source/azure/resources/services/appservice/certificate_orders.go index 2d3299496cf692..343cd07310bdcd 100644 --- a/plugins/source/azure/resources/services/appservice/certificate_orders.go +++ b/plugins/source/azure/resources/services/appservice/certificate_orders.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/certificate_orders_mock_test.go b/plugins/source/azure/resources/services/appservice/certificate_orders_mock_test.go index 26232d764c3cd0..3f3d40fdaa54af 100644 --- a/plugins/source/azure/resources/services/appservice/certificate_orders_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/certificate_orders_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/certificates.go b/plugins/source/azure/resources/services/appservice/certificates.go index d8ce5165c4fdf1..8f449d1605f871 100644 --- a/plugins/source/azure/resources/services/appservice/certificates.go +++ b/plugins/source/azure/resources/services/appservice/certificates.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/certificates_mock_test.go b/plugins/source/azure/resources/services/appservice/certificates_mock_test.go index 742aa63ef913f0..69b491432810ca 100644 --- a/plugins/source/azure/resources/services/appservice/certificates_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/certificates_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/deleted_web_apps.go b/plugins/source/azure/resources/services/appservice/deleted_web_apps.go index 7ec9b053641e0f..374635c0004001 100644 --- a/plugins/source/azure/resources/services/appservice/deleted_web_apps.go +++ b/plugins/source/azure/resources/services/appservice/deleted_web_apps.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/deleted_web_apps_mock_test.go b/plugins/source/azure/resources/services/appservice/deleted_web_apps_mock_test.go index 78bf9de608ba63..c9345a6cd2b194 100644 --- a/plugins/source/azure/resources/services/appservice/deleted_web_apps_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/deleted_web_apps_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/domains.go b/plugins/source/azure/resources/services/appservice/domains.go index 3c19bdf84a285b..d50babbd4b9502 100644 --- a/plugins/source/azure/resources/services/appservice/domains.go +++ b/plugins/source/azure/resources/services/appservice/domains.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/domains_mock_test.go b/plugins/source/azure/resources/services/appservice/domains_mock_test.go index be7b8bc73f9196..69885bacb65df4 100644 --- a/plugins/source/azure/resources/services/appservice/domains_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/domains_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/environments.go b/plugins/source/azure/resources/services/appservice/environments.go index f74f24bcad0a83..1dbe8ce802e1a3 100644 --- a/plugins/source/azure/resources/services/appservice/environments.go +++ b/plugins/source/azure/resources/services/appservice/environments.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/environments_mock_test.go b/plugins/source/azure/resources/services/appservice/environments_mock_test.go index 8878cc86592dae..5a2e2a6459c2e5 100644 --- a/plugins/source/azure/resources/services/appservice/environments_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/environments_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/plans.go b/plugins/source/azure/resources/services/appservice/plans.go index 876ab837464c56..c35ef069dabbbf 100644 --- a/plugins/source/azure/resources/services/appservice/plans.go +++ b/plugins/source/azure/resources/services/appservice/plans.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/plans_mock_test.go b/plugins/source/azure/resources/services/appservice/plans_mock_test.go index cf4a1b56b2bf30..0f3c8224e9a79a 100644 --- a/plugins/source/azure/resources/services/appservice/plans_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/plans_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/recommendations.go b/plugins/source/azure/resources/services/appservice/recommendations.go index 2d295012c81f69..7304941c6f6df8 100644 --- a/plugins/source/azure/resources/services/appservice/recommendations.go +++ b/plugins/source/azure/resources/services/appservice/recommendations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/recommendations_mock_test.go b/plugins/source/azure/resources/services/appservice/recommendations_mock_test.go index 3d59c61fcfd39f..efc300c6247033 100644 --- a/plugins/source/azure/resources/services/appservice/recommendations_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/recommendations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/resource_health_metadata.go b/plugins/source/azure/resources/services/appservice/resource_health_metadata.go index e15acf9ea31241..a88ab98d4ed96a 100644 --- a/plugins/source/azure/resources/services/appservice/resource_health_metadata.go +++ b/plugins/source/azure/resources/services/appservice/resource_health_metadata.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/resource_health_metadata_mock_test.go b/plugins/source/azure/resources/services/appservice/resource_health_metadata_mock_test.go index 8f80572b5c0ab1..bc458ac201764f 100644 --- a/plugins/source/azure/resources/services/appservice/resource_health_metadata_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/resource_health_metadata_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/static_sites.go b/plugins/source/azure/resources/services/appservice/static_sites.go index bce1c62e21be36..f4d5573a211a4a 100644 --- a/plugins/source/azure/resources/services/appservice/static_sites.go +++ b/plugins/source/azure/resources/services/appservice/static_sites.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/static_sites_mock_test.go b/plugins/source/azure/resources/services/appservice/static_sites_mock_test.go index 88068f17aa5b05..01eccd8deea97e 100644 --- a/plugins/source/azure/resources/services/appservice/static_sites_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/static_sites_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/top_level_domains.go b/plugins/source/azure/resources/services/appservice/top_level_domains.go index 773d2ceb85d0a6..60eb8027484920 100644 --- a/plugins/source/azure/resources/services/appservice/top_level_domains.go +++ b/plugins/source/azure/resources/services/appservice/top_level_domains.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/top_level_domains_mock_test.go b/plugins/source/azure/resources/services/appservice/top_level_domains_mock_test.go index 45338fed04cffb..326d727ff9bb56 100644 --- a/plugins/source/azure/resources/services/appservice/top_level_domains_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/top_level_domains_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/appservice/web_apps.go b/plugins/source/azure/resources/services/appservice/web_apps.go index 5292e970d3d9b1..dc56123e8c43b4 100644 --- a/plugins/source/azure/resources/services/appservice/web_apps.go +++ b/plugins/source/azure/resources/services/appservice/web_apps.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/appservice/web_apps_mock_test.go b/plugins/source/azure/resources/services/appservice/web_apps_mock_test.go index a192ddf9e70c4c..57b370b22ed74d 100644 --- a/plugins/source/azure/resources/services/appservice/web_apps_mock_test.go +++ b/plugins/source/azure/resources/services/appservice/web_apps_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package appservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/authorization/classic_administrators.go b/plugins/source/azure/resources/services/authorization/classic_administrators.go index 7f77c8ab8520c2..f45bf307391574 100644 --- a/plugins/source/azure/resources/services/authorization/classic_administrators.go +++ b/plugins/source/azure/resources/services/authorization/classic_administrators.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index b21fd0ef79d055..5b6e59fe066588 100644 --- a/plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go +++ b/plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go b/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go index f7057fcef204f4..f991d0a1b0c7fb 100644 --- a/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go +++ b/plugins/source/azure/resources/services/authorization/provider_operations_metadata.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/authorization/provider_operations_metadata_mock_test.go b/plugins/source/azure/resources/services/authorization/provider_operations_metadata_mock_test.go index 04eb5dd4adec2c..2d780bc96130bf 100644 --- a/plugins/source/azure/resources/services/authorization/provider_operations_metadata_mock_test.go +++ b/plugins/source/azure/resources/services/authorization/provider_operations_metadata_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/authorization/role_assignments.go b/plugins/source/azure/resources/services/authorization/role_assignments.go index 723b5447bc5b7a..8d6fa79e4cdd90 100644 --- a/plugins/source/azure/resources/services/authorization/role_assignments.go +++ b/plugins/source/azure/resources/services/authorization/role_assignments.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 9fd92cf0ee275c..b6bde80823a292 100644 --- a/plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go +++ b/plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package authorization import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/automation/account.go b/plugins/source/azure/resources/services/automation/account.go index bed8558c823f68..c55449c4e49dcd 100644 --- a/plugins/source/azure/resources/services/automation/account.go +++ b/plugins/source/azure/resources/services/automation/account.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/automation/account_mock_test.go b/plugins/source/azure/resources/services/automation/account_mock_test.go index dcc7890e5b0f5e..4a48c822f88124 100644 --- a/plugins/source/azure/resources/services/automation/account_mock_test.go +++ b/plugins/source/azure/resources/services/automation/account_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package automation import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go b/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go index 84bfa4333085fc..60808568a5a9de 100644 --- a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 73c79388e216a4..d175f73354d15b 100644 --- a/plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go +++ b/plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package azurearcdata import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go index 998e9614d3d1f0..110d72cd9db2e2 100644 --- a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 777d528f23c725..c4992cbe07b2d3 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package azurearcdata import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go index 318f1150f414ed..15e93db172357c 100644 --- a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go +++ b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 81dd521494ee66..f846f7a2b51dca 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package azurearcdata import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/azuredata/sql_server_registrations_mock_test.go b/plugins/source/azure/resources/services/azuredata/sql_server_registrations_mock_test.go index 66ea44aa5864ea..1188324367b80b 100644 --- a/plugins/source/azure/resources/services/azuredata/sql_server_registrations_mock_test.go +++ b/plugins/source/azure/resources/services/azuredata/sql_server_registrations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package azuredata import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azuredata/armazuredata" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/batch/account.go b/plugins/source/azure/resources/services/batch/account.go index e276fa00001497..8c4ca7189450ed 100644 --- a/plugins/source/azure/resources/services/batch/account.go +++ b/plugins/source/azure/resources/services/batch/account.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/batch/account_mock_test.go b/plugins/source/azure/resources/services/batch/account_mock_test.go index f2970ebdcfce5f..824476bb37195b 100644 --- a/plugins/source/azure/resources/services/batch/account_mock_test.go +++ b/plugins/source/azure/resources/services/batch/account_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package batch import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/billing/accounts.go b/plugins/source/azure/resources/services/billing/accounts.go index 62ef8d60631e6a..fe1cddedf5eb93 100644 --- a/plugins/source/azure/resources/services/billing/accounts.go +++ b/plugins/source/azure/resources/services/billing/accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/billing/accounts_mock_test.go b/plugins/source/azure/resources/services/billing/accounts_mock_test.go index 7b9dd85010a06e..285db8bba39c01 100644 --- a/plugins/source/azure/resources/services/billing/accounts_mock_test.go +++ b/plugins/source/azure/resources/services/billing/accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package billing import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/billing/enrollment_accounts.go b/plugins/source/azure/resources/services/billing/enrollment_accounts.go index 7a465eae92ea26..a868b0362270bd 100644 --- a/plugins/source/azure/resources/services/billing/enrollment_accounts.go +++ b/plugins/source/azure/resources/services/billing/enrollment_accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 0b0b9c641c0977..d679feed007993 100644 --- a/plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go +++ b/plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package billing import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/billing/periods.go b/plugins/source/azure/resources/services/billing/periods.go index 6cbd0a909012cb..182778e507bb91 100644 --- a/plugins/source/azure/resources/services/billing/periods.go +++ b/plugins/source/azure/resources/services/billing/periods.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/billing/periods_mock_test.go b/plugins/source/azure/resources/services/billing/periods_mock_test.go index 23ce15d7923607..e601b20c208994 100644 --- a/plugins/source/azure/resources/services/billing/periods_mock_test.go +++ b/plugins/source/azure/resources/services/billing/periods_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package billing import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/botservice/bots.go b/plugins/source/azure/resources/services/botservice/bots.go index c0452ebdffe547..683ffeec12f572 100644 --- a/plugins/source/azure/resources/services/botservice/bots.go +++ b/plugins/source/azure/resources/services/botservice/bots.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/botservice/bots_mock_test.go b/plugins/source/azure/resources/services/botservice/bots_mock_test.go index 9df0816fcde0a1..49308bdd43d9dc 100644 --- a/plugins/source/azure/resources/services/botservice/bots_mock_test.go +++ b/plugins/source/azure/resources/services/botservice/bots_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package botservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cdn/edge_nodes.go b/plugins/source/azure/resources/services/cdn/edge_nodes.go index 713d94aea0be2d..de9386813c8d8b 100644 --- a/plugins/source/azure/resources/services/cdn/edge_nodes.go +++ b/plugins/source/azure/resources/services/cdn/edge_nodes.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 8da69b9bb2f1bd..b6174009230a82 100644 --- a/plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go +++ b/plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cdn import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go b/plugins/source/azure/resources/services/cdn/managed_rule_sets.go index 9a5c08eff63ab3..a3f80f6f0e40cb 100644 --- a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go +++ b/plugins/source/azure/resources/services/cdn/managed_rule_sets.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index d1c0f2818b97d4..2bce9479c8a427 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cdn import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cognitiveservices/accounts.go b/plugins/source/azure/resources/services/cognitiveservices/accounts.go index de06670b2942e9..61253171bb450d 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/accounts.go +++ b/plugins/source/azure/resources/services/cognitiveservices/accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go b/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go index fa28326e040339..77a0ec9f482a58 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go +++ b/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cognitiveservices import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go index 39423d08331bd8..7c1f234f0803d5 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go +++ b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 5024d85f4ad1e0..e8abe62b85e56f 100644 --- a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go +++ b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cognitiveservices import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/cloud_services.go b/plugins/source/azure/resources/services/compute/cloud_services.go index 23a903bef52847..f2defe6e057026 100644 --- a/plugins/source/azure/resources/services/compute/cloud_services.go +++ b/plugins/source/azure/resources/services/compute/cloud_services.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/cloud_services_mock_test.go b/plugins/source/azure/resources/services/compute/cloud_services_mock_test.go index c68d3b54917e81..bf025245593f39 100644 --- a/plugins/source/azure/resources/services/compute/cloud_services_mock_test.go +++ b/plugins/source/azure/resources/services/compute/cloud_services_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/disk_accesses.go b/plugins/source/azure/resources/services/compute/disk_accesses.go index fbc1d6ba8a694c..1a65ba644c1db2 100644 --- a/plugins/source/azure/resources/services/compute/disk_accesses.go +++ b/plugins/source/azure/resources/services/compute/disk_accesses.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/disk_accesses_mock_test.go b/plugins/source/azure/resources/services/compute/disk_accesses_mock_test.go index 3bc5f046547a34..e45f4534a73928 100644 --- a/plugins/source/azure/resources/services/compute/disk_accesses_mock_test.go +++ b/plugins/source/azure/resources/services/compute/disk_accesses_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/disk_encryption_sets.go b/plugins/source/azure/resources/services/compute/disk_encryption_sets.go index 7a63c91a3d2bcd..afd2a15133abc7 100644 --- a/plugins/source/azure/resources/services/compute/disk_encryption_sets.go +++ b/plugins/source/azure/resources/services/compute/disk_encryption_sets.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/disk_encryption_sets_mock_test.go b/plugins/source/azure/resources/services/compute/disk_encryption_sets_mock_test.go index a16addaf3d504c..e35ee89b8f6de9 100644 --- a/plugins/source/azure/resources/services/compute/disk_encryption_sets_mock_test.go +++ b/plugins/source/azure/resources/services/compute/disk_encryption_sets_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/disks.go b/plugins/source/azure/resources/services/compute/disks.go index 0786e0067d2323..064054cf2e33f7 100644 --- a/plugins/source/azure/resources/services/compute/disks.go +++ b/plugins/source/azure/resources/services/compute/disks.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/disks_mock_test.go b/plugins/source/azure/resources/services/compute/disks_mock_test.go index 80025b75d160b9..1f119dc391d614 100644 --- a/plugins/source/azure/resources/services/compute/disks_mock_test.go +++ b/plugins/source/azure/resources/services/compute/disks_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/galleries.go b/plugins/source/azure/resources/services/compute/galleries.go index 22169ac1dae914..06a6e697ea2914 100644 --- a/plugins/source/azure/resources/services/compute/galleries.go +++ b/plugins/source/azure/resources/services/compute/galleries.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/galleries_mock_test.go b/plugins/source/azure/resources/services/compute/galleries_mock_test.go index 7413296ef6b32d..12577f205ad126 100644 --- a/plugins/source/azure/resources/services/compute/galleries_mock_test.go +++ b/plugins/source/azure/resources/services/compute/galleries_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/images.go b/plugins/source/azure/resources/services/compute/images.go index 3432b518bc4b1e..4a60ab9fa07c76 100644 --- a/plugins/source/azure/resources/services/compute/images.go +++ b/plugins/source/azure/resources/services/compute/images.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/images_mock_test.go b/plugins/source/azure/resources/services/compute/images_mock_test.go index 6fc800d5beaefb..0f52ce60901094 100644 --- a/plugins/source/azure/resources/services/compute/images_mock_test.go +++ b/plugins/source/azure/resources/services/compute/images_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/restore_point_collections.go b/plugins/source/azure/resources/services/compute/restore_point_collections.go index 6c1bcc11590a47..584a75469568ad 100644 --- a/plugins/source/azure/resources/services/compute/restore_point_collections.go +++ b/plugins/source/azure/resources/services/compute/restore_point_collections.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/restore_point_collections_mock_test.go b/plugins/source/azure/resources/services/compute/restore_point_collections_mock_test.go index 12ce959d504fef..2392b7cbb9bb71 100644 --- a/plugins/source/azure/resources/services/compute/restore_point_collections_mock_test.go +++ b/plugins/source/azure/resources/services/compute/restore_point_collections_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/compute/snapshots.go b/plugins/source/azure/resources/services/compute/snapshots.go index 3163351b02ff12..017977131bfc09 100644 --- a/plugins/source/azure/resources/services/compute/snapshots.go +++ b/plugins/source/azure/resources/services/compute/snapshots.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/compute/snapshots_mock_test.go b/plugins/source/azure/resources/services/compute/snapshots_mock_test.go index 2a9ee2551e1baf..1a603db2c8db86 100644 --- a/plugins/source/azure/resources/services/compute/snapshots_mock_test.go +++ b/plugins/source/azure/resources/services/compute/snapshots_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package compute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go b/plugins/source/azure/resources/services/confluent/marketplace_agreements.go index d7c741f3a90760..3ac7839ba9951e 100644 --- a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go +++ b/plugins/source/azure/resources/services/confluent/marketplace_agreements.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 01edeb0e94b0d7..a0b65cf96564aa 100644 --- a/plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go +++ b/plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package confluent import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/clusters.go b/plugins/source/azure/resources/services/connectedvmware/clusters.go index dbbf5f6fb0f262..3eda364dd3a518 100644 --- a/plugins/source/azure/resources/services/connectedvmware/clusters.go +++ b/plugins/source/azure/resources/services/connectedvmware/clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go index e4be1f38abf0bd..4ee318a6e973fa 100644 --- a/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/datastores.go b/plugins/source/azure/resources/services/connectedvmware/datastores.go index 4f2d5534fa8c75..fb234e0c54ab73 100644 --- a/plugins/source/azure/resources/services/connectedvmware/datastores.go +++ b/plugins/source/azure/resources/services/connectedvmware/datastores.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go index 3fcee7ee693d98..bc3d12e337aca5 100644 --- a/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/hosts.go b/plugins/source/azure/resources/services/connectedvmware/hosts.go index d04dd9dc9ec231..67fd52ca280783 100644 --- a/plugins/source/azure/resources/services/connectedvmware/hosts.go +++ b/plugins/source/azure/resources/services/connectedvmware/hosts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go index db214ea2ea666e..931a9b5bf59535 100644 --- a/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go b/plugins/source/azure/resources/services/connectedvmware/resource_pools.go index e136b72af70c93..f9ff8afd80e133 100644 --- a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go +++ b/plugins/source/azure/resources/services/connectedvmware/resource_pools.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 1fb36d651ed5c0..7b0a9704f23ea8 100644 --- a/plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/v_centers.go b/plugins/source/azure/resources/services/connectedvmware/v_centers.go index e8ffc09f8efe57..d03d953e8fb6f0 100644 --- a/plugins/source/azure/resources/services/connectedvmware/v_centers.go +++ b/plugins/source/azure/resources/services/connectedvmware/v_centers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index daeeb02ecda2f0..6bdf96a6164737 100644 --- a/plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go index 003f2f2f25c529..d5231e4f306fc7 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 421fb9926b40e8..aff918b779f87c 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go index 27730c426eccfd..008eff3f1d1585 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index edfdb2f5080f26..5a6083648df9f6 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go b/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go index b35c37fafb0d65..0a766a572e171f 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index c41a65a7e37d74..38dd76831abd27 100644 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go +++ b/plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package connectedvmware import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/containerinstance/container_groups.go b/plugins/source/azure/resources/services/containerinstance/container_groups.go index e54556274b9efd..124d06d11e2c21 100644 --- a/plugins/source/azure/resources/services/containerinstance/container_groups.go +++ b/plugins/source/azure/resources/services/containerinstance/container_groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package containerinstance import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerinstance/armcontainerinstance" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 3080c0bda16e2b..1622f615e35a5e 100644 --- a/plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go +++ b/plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package containerinstance import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerinstance/armcontainerinstance" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/containerregistry/registries.go b/plugins/source/azure/resources/services/containerregistry/registries.go index a240641fa19096..05a2b1ff5c4f08 100644 --- a/plugins/source/azure/resources/services/containerregistry/registries.go +++ b/plugins/source/azure/resources/services/containerregistry/registries.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go b/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go index 3fa068c2406ebf..4a480718f15fa2 100644 --- a/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go +++ b/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package containerregistry import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/containerservice/managed_clusters.go b/plugins/source/azure/resources/services/containerservice/managed_clusters.go index b8479a399e5b1e..ad1c994881e592 100644 --- a/plugins/source/azure/resources/services/containerservice/managed_clusters.go +++ b/plugins/source/azure/resources/services/containerservice/managed_clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package containerservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index abf0db2e88d94b..3706a020226dac 100644 --- a/plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go +++ b/plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package containerservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/containerservice/snapshots.go b/plugins/source/azure/resources/services/containerservice/snapshots.go index e66487a6c3b51a..cdf2877bf8aaeb 100644 --- a/plugins/source/azure/resources/services/containerservice/snapshots.go +++ b/plugins/source/azure/resources/services/containerservice/snapshots.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package containerservice import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go b/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go index 4a04d7654946db..f00ca1ca5a7bd3 100644 --- a/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go +++ b/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package containerservice import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cosmos/locations.go b/plugins/source/azure/resources/services/cosmos/locations.go index 45bb20851a741a..b35f9b8b90a24a 100644 --- a/plugins/source/azure/resources/services/cosmos/locations.go +++ b/plugins/source/azure/resources/services/cosmos/locations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package cosmos import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/cosmos/locations_mock_test.go b/plugins/source/azure/resources/services/cosmos/locations_mock_test.go index 3e253bed8979ba..009deaaa67d6a5 100644 --- a/plugins/source/azure/resources/services/cosmos/locations_mock_test.go +++ b/plugins/source/azure/resources/services/cosmos/locations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cosmos import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go index 3313d1f7fd208b..5baa30cfed5a31 100644 --- a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go +++ b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package cosmos import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts_mock_test.go b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts_mock_test.go index a7c86abdb45ca6..3987d9b4d729db 100644 --- a/plugins/source/azure/resources/services/cosmos/restorable_database_accounts_mock_test.go +++ b/plugins/source/azure/resources/services/cosmos/restorable_database_accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package cosmos import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/customerinsights/hubs.go b/plugins/source/azure/resources/services/customerinsights/hubs.go index 05d4b201ccb78d..df9ac368d24dc7 100644 --- a/plugins/source/azure/resources/services/customerinsights/hubs.go +++ b/plugins/source/azure/resources/services/customerinsights/hubs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go b/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go index 7a1e3be27fe73e..d8d6d7a339b67d 100644 --- a/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go +++ b/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package customerinsights import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/dashboard/grafana.go b/plugins/source/azure/resources/services/dashboard/grafana.go index 0e96f380318fa5..82a0ad4e873a32 100644 --- a/plugins/source/azure/resources/services/dashboard/grafana.go +++ b/plugins/source/azure/resources/services/dashboard/grafana.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go b/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go index b02b566db6a3cf..efbe45bab719a7 100644 --- a/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go +++ b/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package dashboard import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/databox/jobs.go b/plugins/source/azure/resources/services/databox/jobs.go index 76da6eb0da7588..7ac6d2ba465e14 100644 --- a/plugins/source/azure/resources/services/databox/jobs.go +++ b/plugins/source/azure/resources/services/databox/jobs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/databox/jobs_mock_test.go b/plugins/source/azure/resources/services/databox/jobs_mock_test.go index 2a3f1a47062907..8ee1f29cca217c 100644 --- a/plugins/source/azure/resources/services/databox/jobs_mock_test.go +++ b/plugins/source/azure/resources/services/databox/jobs_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package databox import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go b/plugins/source/azure/resources/services/datadog/marketplace_agreements.go index 11686ea5275b54..9e5af3ff9c15d9 100644 --- a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go +++ b/plugins/source/azure/resources/services/datadog/marketplace_agreements.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 17db8174cf28d0..b9ddbd3fade4f2 100644 --- a/plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go +++ b/plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datadog import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datadog/monitors.go b/plugins/source/azure/resources/services/datadog/monitors.go index 0782b1177aefef..92665e80b71f26 100644 --- a/plugins/source/azure/resources/services/datadog/monitors.go +++ b/plugins/source/azure/resources/services/datadog/monitors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/datadog/monitors_mock_test.go b/plugins/source/azure/resources/services/datadog/monitors_mock_test.go index c56272d1b06a75..20e94ac0c66ca8 100644 --- a/plugins/source/azure/resources/services/datadog/monitors_mock_test.go +++ b/plugins/source/azure/resources/services/datadog/monitors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datadog import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datafactory/factories_mock_test.go b/plugins/source/azure/resources/services/datafactory/factories_mock_test.go index cd18189715e4dc..18d6f4479c0ffe 100644 --- a/plugins/source/azure/resources/services/datafactory/factories_mock_test.go +++ b/plugins/source/azure/resources/services/datafactory/factories_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datafactory import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go b/plugins/source/azure/resources/services/datalakeanalytics/accounts.go index 6d8f02d3c4ff6c..13e92cf5285268 100644 --- a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go +++ b/plugins/source/azure/resources/services/datalakeanalytics/accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go b/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go index 6ce5f598a30b76..476297130fed74 100644 --- a/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go +++ b/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datalakeanalytics import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datalakestore/accounts.go b/plugins/source/azure/resources/services/datalakestore/accounts.go index 2f61857271b719..88290cf28be552 100644 --- a/plugins/source/azure/resources/services/datalakestore/accounts.go +++ b/plugins/source/azure/resources/services/datalakestore/accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go b/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go index 8fabbbd789a84a..4c1975109f68d3 100644 --- a/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go +++ b/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datalakestore import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/datamigration/services.go b/plugins/source/azure/resources/services/datamigration/services.go index a084760ef35036..093b12b932bb16 100644 --- a/plugins/source/azure/resources/services/datamigration/services.go +++ b/plugins/source/azure/resources/services/datamigration/services.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/datamigration/services_mock_test.go b/plugins/source/azure/resources/services/datamigration/services_mock_test.go index 424b772fcc754e..4aef85e4fb28df 100644 --- a/plugins/source/azure/resources/services/datamigration/services_mock_test.go +++ b/plugins/source/azure/resources/services/datamigration/services_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package datamigration import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go b/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go index 3d4719d6e62bcc..9c68faef7ebd4d 100644 --- a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go +++ b/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package desktopvirtualization import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/desktopvirtualization/armdesktopvirtualization" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 8c91ac1601e10e..2cdd10aa15b1f8 100644 --- a/plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go +++ b/plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package desktopvirtualization import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/desktopvirtualization/armdesktopvirtualization" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/devhub/workflow.go b/plugins/source/azure/resources/services/devhub/workflow.go index 4300bc71e9ebc3..003bea0e55c2e7 100644 --- a/plugins/source/azure/resources/services/devhub/workflow.go +++ b/plugins/source/azure/resources/services/devhub/workflow.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/devhub/workflow_mock_test.go b/plugins/source/azure/resources/services/devhub/workflow_mock_test.go index be66376d14760d..2ccd685e928c8c 100644 --- a/plugins/source/azure/resources/services/devhub/workflow_mock_test.go +++ b/plugins/source/azure/resources/services/devhub/workflow_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package devhub import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go b/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go index 93fc2c0f62ebc9..d64570f5462a0a 100644 --- a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go +++ b/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index a28afc43125a50..3cb9530660ed69 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package devops import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/dns/zones.go b/plugins/source/azure/resources/services/dns/zones.go index 659fef0dde8190..2a91e95f0e7f2f 100644 --- a/plugins/source/azure/resources/services/dns/zones.go +++ b/plugins/source/azure/resources/services/dns/zones.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/dns/zones_mock_test.go b/plugins/source/azure/resources/services/dns/zones_mock_test.go index 20240c2ab852a7..e68714505273dc 100644 --- a/plugins/source/azure/resources/services/dns/zones_mock_test.go +++ b/plugins/source/azure/resources/services/dns/zones_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package dns import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go index 52721f2e8f3ec2..8c564b3dda3929 100644 --- a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go +++ b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 5a6658b45258cf..14f255a91525d8 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package dnsresolver import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go index 58c00aace74507..b52ca02406c461 100644 --- a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go +++ b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 4641a1eccf4c15..afc07377255061 100644 --- a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go +++ b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package dnsresolver import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/elastic/monitors.go b/plugins/source/azure/resources/services/elastic/monitors.go index 047c9fdbda9c76..2795089fb908a2 100644 --- a/plugins/source/azure/resources/services/elastic/monitors.go +++ b/plugins/source/azure/resources/services/elastic/monitors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/elastic/monitors_mock_test.go b/plugins/source/azure/resources/services/elastic/monitors_mock_test.go index 1adbb660a7b9b0..f38bfa95601491 100644 --- a/plugins/source/azure/resources/services/elastic/monitors_mock_test.go +++ b/plugins/source/azure/resources/services/elastic/monitors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package elastic import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/engagementfabric/accounts.go b/plugins/source/azure/resources/services/engagementfabric/accounts.go index c6b92fb607ac06..92ab96e33c8f6e 100644 --- a/plugins/source/azure/resources/services/engagementfabric/accounts.go +++ b/plugins/source/azure/resources/services/engagementfabric/accounts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go b/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go index 96fb697d4aaf22..bf68670feba1b3 100644 --- a/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go +++ b/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package engagementfabric import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/eventgrid/topic_types.go b/plugins/source/azure/resources/services/eventgrid/topic_types.go index 87ab9a0ef1ac76..31dc5949d0c2e0 100644 --- a/plugins/source/azure/resources/services/eventgrid/topic_types.go +++ b/plugins/source/azure/resources/services/eventgrid/topic_types.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package eventgrid import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventgrid/armeventgrid" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index f649bcb32420e3..2b01779ab57914 100644 --- a/plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go +++ b/plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package eventgrid import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventgrid/armeventgrid" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/eventhub/namespaces.go b/plugins/source/azure/resources/services/eventhub/namespaces.go index 38fb00189be694..6c1fdfe4b9fe17 100644 --- a/plugins/source/azure/resources/services/eventhub/namespaces.go +++ b/plugins/source/azure/resources/services/eventhub/namespaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go b/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go index 840e1fa68a81bb..f30e8d3e63e5ac 100644 --- a/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go +++ b/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package eventhub import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/frontdoor/front_doors.go b/plugins/source/azure/resources/services/frontdoor/front_doors.go index 472f4bb082b574..e0600ab71993cd 100644 --- a/plugins/source/azure/resources/services/frontdoor/front_doors.go +++ b/plugins/source/azure/resources/services/frontdoor/front_doors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 19322a07866299..d5ed83053fd898 100644 --- a/plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go +++ b/plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package frontdoor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go index f218b0bd80e3fe..aae8840cb30478 100644 --- a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go +++ b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 6cfc961c4b4d22..dd43f581702520 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package frontdoor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go index df0f75ee01e4c1..a3c27f551e33ca 100644 --- a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go +++ b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 3ab778a67508fa..90e59f5056ac2f 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package frontdoor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go b/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go index e21e6b145e2c02..b3dfe0142360c9 100644 --- a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go +++ b/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 8c3641a6d04fb4..7033ac772f7f6c 100644 --- a/plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go +++ b/plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package hanaonazure import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/hdinsight/clusters.go b/plugins/source/azure/resources/services/hdinsight/clusters.go index d428f471f97126..0f0e0dc5b1dd3f 100644 --- a/plugins/source/azure/resources/services/hdinsight/clusters.go +++ b/plugins/source/azure/resources/services/hdinsight/clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go b/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go index 7de8e63b37a3a6..855077a9971c96 100644 --- a/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go +++ b/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package hdinsight import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/healthbot/bots_mock_test.go b/plugins/source/azure/resources/services/healthbot/bots_mock_test.go index 0810ed03cbc912..e7866a1306e7b6 100644 --- a/plugins/source/azure/resources/services/healthbot/bots_mock_test.go +++ b/plugins/source/azure/resources/services/healthbot/bots_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package healthbot import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/healthcareapis/services.go b/plugins/source/azure/resources/services/healthcareapis/services.go index 696275de6a6af9..db46710a851e6d 100644 --- a/plugins/source/azure/resources/services/healthcareapis/services.go +++ b/plugins/source/azure/resources/services/healthcareapis/services.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go b/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go index 962b1d6be7401a..dcf50b8d4577db 100644 --- a/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go +++ b/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package healthcareapis import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go index f738d19df0ee46..16d74d724fe03f 100644 --- a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go +++ b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 69b72b46befe95..03e028f3a297cf 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package hybridcompute import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go b/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go index bfcc1ea3004ac4..7681d5dd254467 100644 --- a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go +++ b/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 612cc06001e3d9..9ffef422ed68ad 100644 --- a/plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go +++ b/plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package hybriddatamanager import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/kusto/clusters.go b/plugins/source/azure/resources/services/kusto/clusters.go index fbf5ffbee2b8a2..7f316f61ece64b 100644 --- a/plugins/source/azure/resources/services/kusto/clusters.go +++ b/plugins/source/azure/resources/services/kusto/clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/kusto/clusters_mock_test.go b/plugins/source/azure/resources/services/kusto/clusters_mock_test.go index cb45e502808eb4..7342728180ce6e 100644 --- a/plugins/source/azure/resources/services/kusto/clusters_mock_test.go +++ b/plugins/source/azure/resources/services/kusto/clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package kusto import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/maintenance/configurations.go b/plugins/source/azure/resources/services/maintenance/configurations.go index afb7dd4d895742..b26f05b93b2de9 100644 --- a/plugins/source/azure/resources/services/maintenance/configurations.go +++ b/plugins/source/azure/resources/services/maintenance/configurations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go b/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go index f69ccb6eb4dbb5..6964c6ac54a41c 100644 --- a/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go +++ b/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package maintenance import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go index 083d508a2c9e1e..3e97aec73552a9 100644 --- a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go +++ b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 19304ef06e81af..1e54c13735d8b2 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package maintenance import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/marketplace/private_store.go b/plugins/source/azure/resources/services/marketplace/private_store.go index 44a04c7bd89505..1b8b51314315de 100644 --- a/plugins/source/azure/resources/services/marketplace/private_store.go +++ b/plugins/source/azure/resources/services/marketplace/private_store.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 16d612787fd305..b37e50279b31f7 100644 --- a/plugins/source/azure/resources/services/marketplace/private_store_mock_test.go +++ b/plugins/source/azure/resources/services/marketplace/private_store_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package marketplace import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/monitor/log_profiles.go b/plugins/source/azure/resources/services/monitor/log_profiles.go index 77775ed68f55f6..c34421e72b9c12 100644 --- a/plugins/source/azure/resources/services/monitor/log_profiles.go +++ b/plugins/source/azure/resources/services/monitor/log_profiles.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 0a597d9adebb2d..483a78e481d8b7 100644 --- a/plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go +++ b/plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package monitor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/monitor/private_link_scopes.go b/plugins/source/azure/resources/services/monitor/private_link_scopes.go index 771bb3e2ff20ca..941bcc473c1b9f 100644 --- a/plugins/source/azure/resources/services/monitor/private_link_scopes.go +++ b/plugins/source/azure/resources/services/monitor/private_link_scopes.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 0088dfb5d5649e..2f08f1075d3156 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package monitor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go b/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go index f49e076549646b..1d5fbd89043009 100644 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go +++ b/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index b65e9be7795653..35a0ef8b23d646 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package monitor import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go b/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go index aeef41ec5e70b6..67a9751261e3b1 100644 --- a/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go +++ b/plugins/source/azure/resources/services/mysqlflexibleservers/servers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package mysqlflexibleservers import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mysql/armmysqlflexibleservers" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/mysqlflexibleservers/servers_mock_test.go b/plugins/source/azure/resources/services/mysqlflexibleservers/servers_mock_test.go index 32c93fe452830e..d0e63a850f1d25 100644 --- a/plugins/source/azure/resources/services/mysqlflexibleservers/servers_mock_test.go +++ b/plugins/source/azure/resources/services/mysqlflexibleservers/servers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package mysqlflexibleservers import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mysql/armmysqlflexibleservers" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/application_gateways.go b/plugins/source/azure/resources/services/network/application_gateways.go index e8e11f0a741384..b373d6c920884e 100644 --- a/plugins/source/azure/resources/services/network/application_gateways.go +++ b/plugins/source/azure/resources/services/network/application_gateways.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 8d8fecf88f85c9..70630c7c0849e9 100644 --- a/plugins/source/azure/resources/services/network/application_gateways_mock_test.go +++ b/plugins/source/azure/resources/services/network/application_gateways_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/application_security_groups.go b/plugins/source/azure/resources/services/network/application_security_groups.go index fcaf143344d54f..723b1c8a255749 100644 --- a/plugins/source/azure/resources/services/network/application_security_groups.go +++ b/plugins/source/azure/resources/services/network/application_security_groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 9c25f844101fd1..5593544084b6e6 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 364166a3bd90f1..f7a9be014ff34e 100644 --- a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go +++ b/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index c46576f7b53d57..478720b5d561a0 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/azure_firewalls.go b/plugins/source/azure/resources/services/network/azure_firewalls.go index 7f349a088030ae..f78ed440958145 100644 --- a/plugins/source/azure/resources/services/network/azure_firewalls.go +++ b/plugins/source/azure/resources/services/network/azure_firewalls.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 6e4088da0b4406..1f9d36d2279279 100644 --- a/plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go +++ b/plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/bastion_hosts.go b/plugins/source/azure/resources/services/network/bastion_hosts.go index 58d9ffd7c131a2..292e08e3a54bf8 100644 --- a/plugins/source/azure/resources/services/network/bastion_hosts.go +++ b/plugins/source/azure/resources/services/network/bastion_hosts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index ea1b5c1cbdfd96..594c1570a7b08c 100644 --- a/plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go +++ b/plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/bgp_service_communities.go b/plugins/source/azure/resources/services/network/bgp_service_communities.go index d74479a3715313..be0cc889cc5a6a 100644 --- a/plugins/source/azure/resources/services/network/bgp_service_communities.go +++ b/plugins/source/azure/resources/services/network/bgp_service_communities.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/network/bgp_service_communities_mock_test.go b/plugins/source/azure/resources/services/network/bgp_service_communities_mock_test.go index d3182db744ef1b..6da59f2bceb875 100644 --- a/plugins/source/azure/resources/services/network/bgp_service_communities_mock_test.go +++ b/plugins/source/azure/resources/services/network/bgp_service_communities_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go b/plugins/source/azure/resources/services/network/custom_ip_prefixes.go index 92bd6a7ecb31a5..124b778fbfe2c8 100644 --- a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go +++ b/plugins/source/azure/resources/services/network/custom_ip_prefixes.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 3d070644cb5099..c5573a15ffdcb9 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/ddos_protection_plans.go b/plugins/source/azure/resources/services/network/ddos_protection_plans.go index b2abb02c837cfd..2e792b6d2c376e 100644 --- a/plugins/source/azure/resources/services/network/ddos_protection_plans.go +++ b/plugins/source/azure/resources/services/network/ddos_protection_plans.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index ea6ee5407132e6..2e353e92123e91 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/dscp_configuration.go b/plugins/source/azure/resources/services/network/dscp_configuration.go index c365623352303b..f145fde5eb3b43 100644 --- a/plugins/source/azure/resources/services/network/dscp_configuration.go +++ b/plugins/source/azure/resources/services/network/dscp_configuration.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 010cfcc7082c57..d4dc6d421543b8 100644 --- a/plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go +++ b/plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/express_route_circuits.go b/plugins/source/azure/resources/services/network/express_route_circuits.go index 26c85ed0089737..87f62f202616a6 100644 --- a/plugins/source/azure/resources/services/network/express_route_circuits.go +++ b/plugins/source/azure/resources/services/network/express_route_circuits.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 189a59b11528da..b19f054fec4b76 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/express_route_ports.go b/plugins/source/azure/resources/services/network/express_route_ports.go index 174bf4191c3a4c..b64628b474f412 100644 --- a/plugins/source/azure/resources/services/network/express_route_ports.go +++ b/plugins/source/azure/resources/services/network/express_route_ports.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 165e09d227b815..a4b62e232fba89 100644 --- a/plugins/source/azure/resources/services/network/express_route_ports_locations.go +++ b/plugins/source/azure/resources/services/network/express_route_ports_locations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index bf382243ff9d5f..5565dc0665ac17 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 954c0cecee480c..8b4f010b5feee5 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 53d2198f0c83da..04839597548e35 100644 --- a/plugins/source/azure/resources/services/network/express_route_service_providers.go +++ b/plugins/source/azure/resources/services/network/express_route_service_providers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 78982ee3c10b6b..6472daa0868f72 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/firewall_policies.go b/plugins/source/azure/resources/services/network/firewall_policies.go index 4a71965114f421..1c1210e9920e2b 100644 --- a/plugins/source/azure/resources/services/network/firewall_policies.go +++ b/plugins/source/azure/resources/services/network/firewall_policies.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 5a9dbeed350995..c2c72e3a911791 100644 --- a/plugins/source/azure/resources/services/network/firewall_policies_mock_test.go +++ b/plugins/source/azure/resources/services/network/firewall_policies_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/interfaces.go b/plugins/source/azure/resources/services/network/interfaces.go index e506dd051d62e3..44b7defa475664 100644 --- a/plugins/source/azure/resources/services/network/interfaces.go +++ b/plugins/source/azure/resources/services/network/interfaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/network/interfaces_mock_test.go b/plugins/source/azure/resources/services/network/interfaces_mock_test.go index 2a8f7c453bc5b2..d9fd59199da34b 100644 --- a/plugins/source/azure/resources/services/network/interfaces_mock_test.go +++ b/plugins/source/azure/resources/services/network/interfaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/ip_allocations.go b/plugins/source/azure/resources/services/network/ip_allocations.go index 3153e183c4b2af..2a285a93eaa46c 100644 --- a/plugins/source/azure/resources/services/network/ip_allocations.go +++ b/plugins/source/azure/resources/services/network/ip_allocations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index daf8a6df299e31..1c7333f7b72711 100644 --- a/plugins/source/azure/resources/services/network/ip_allocations_mock_test.go +++ b/plugins/source/azure/resources/services/network/ip_allocations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/ip_groups.go b/plugins/source/azure/resources/services/network/ip_groups.go index 97172304a1c43e..d2b9aefdfc62b3 100644 --- a/plugins/source/azure/resources/services/network/ip_groups.go +++ b/plugins/source/azure/resources/services/network/ip_groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 81baca21e09783..15770c3bcd4a67 100644 --- a/plugins/source/azure/resources/services/network/ip_groups_mock_test.go +++ b/plugins/source/azure/resources/services/network/ip_groups_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/load_balancers.go b/plugins/source/azure/resources/services/network/load_balancers.go index cb6a6a220a3561..5051d2b1271465 100644 --- a/plugins/source/azure/resources/services/network/load_balancers.go +++ b/plugins/source/azure/resources/services/network/load_balancers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 62cd31e526970c..1647136a0ac718 100644 --- a/plugins/source/azure/resources/services/network/load_balancers_mock_test.go +++ b/plugins/source/azure/resources/services/network/load_balancers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/nat_gateways.go b/plugins/source/azure/resources/services/network/nat_gateways.go index 435aeff9cde017..fbc2aef08bd994 100644 --- a/plugins/source/azure/resources/services/network/nat_gateways.go +++ b/plugins/source/azure/resources/services/network/nat_gateways.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index ee1e0cc7ccedf4..577e3d049450bc 100644 --- a/plugins/source/azure/resources/services/network/nat_gateways_mock_test.go +++ b/plugins/source/azure/resources/services/network/nat_gateways_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/profiles.go b/plugins/source/azure/resources/services/network/profiles.go index c2e8a836ebc729..49e6ae9a4b0938 100644 --- a/plugins/source/azure/resources/services/network/profiles.go +++ b/plugins/source/azure/resources/services/network/profiles.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/network/profiles_mock_test.go b/plugins/source/azure/resources/services/network/profiles_mock_test.go index 710be4a96b2800..200eca32f9c344 100644 --- a/plugins/source/azure/resources/services/network/profiles_mock_test.go +++ b/plugins/source/azure/resources/services/network/profiles_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/public_ip_addresses.go b/plugins/source/azure/resources/services/network/public_ip_addresses.go index 8d6c6e95eebe6e..f5511f47ae697b 100644 --- a/plugins/source/azure/resources/services/network/public_ip_addresses.go +++ b/plugins/source/azure/resources/services/network/public_ip_addresses.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 7a351910ec7c02..30f105a30508e4 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/public_ip_prefixes.go b/plugins/source/azure/resources/services/network/public_ip_prefixes.go index d297b95e3aba6c..fac80bb85f9f50 100644 --- a/plugins/source/azure/resources/services/network/public_ip_prefixes.go +++ b/plugins/source/azure/resources/services/network/public_ip_prefixes.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 4628cc035ad726..101ae997c3a196 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/route_filters.go b/plugins/source/azure/resources/services/network/route_filters.go index cd1d30c0ad7838..7ddf6333a69255 100644 --- a/plugins/source/azure/resources/services/network/route_filters.go +++ b/plugins/source/azure/resources/services/network/route_filters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 70d46a513339f4..ac5676ccfdf5dd 100644 --- a/plugins/source/azure/resources/services/network/route_filters_mock_test.go +++ b/plugins/source/azure/resources/services/network/route_filters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/route_tables.go b/plugins/source/azure/resources/services/network/route_tables.go index 79ade60083fa7f..27c8dee335d90c 100644 --- a/plugins/source/azure/resources/services/network/route_tables.go +++ b/plugins/source/azure/resources/services/network/route_tables.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 78fbaf5d17bd93..0a5359581dc8f5 100644 --- a/plugins/source/azure/resources/services/network/route_tables_mock_test.go +++ b/plugins/source/azure/resources/services/network/route_tables_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/security_groups.go b/plugins/source/azure/resources/services/network/security_groups.go index 42d40804c88885..d23db5209f997a 100644 --- a/plugins/source/azure/resources/services/network/security_groups.go +++ b/plugins/source/azure/resources/services/network/security_groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 6be7fedb6d2014..9811e6a2541262 100644 --- a/plugins/source/azure/resources/services/network/security_groups_mock_test.go +++ b/plugins/source/azure/resources/services/network/security_groups_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/security_partner_providers.go b/plugins/source/azure/resources/services/network/security_partner_providers.go index 1a72e82c2671a8..afd365f9517f78 100644 --- a/plugins/source/azure/resources/services/network/security_partner_providers.go +++ b/plugins/source/azure/resources/services/network/security_partner_providers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 18d87f4c27870c..93f1765354deab 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/service_endpoint_policies.go b/plugins/source/azure/resources/services/network/service_endpoint_policies.go index a49eab629dcb79..137bac9c81083b 100644 --- a/plugins/source/azure/resources/services/network/service_endpoint_policies.go +++ b/plugins/source/azure/resources/services/network/service_endpoint_policies.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 2c3169aa11768c..e52ec0cc41a63f 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 063a3f9c380bca..333bef4cbe4c19 100644 --- a/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go +++ b/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 39dbcbc8da2aaa..53f5c5beec1f3c 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_appliances.go b/plugins/source/azure/resources/services/network/virtual_appliances.go index 0cb22ad93c1ce7..440e8dbe2dc4d0 100644 --- a/plugins/source/azure/resources/services/network/virtual_appliances.go +++ b/plugins/source/azure/resources/services/network/virtual_appliances.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index ae0541edd99b9a..61c6f073c0ace2 100644 --- a/plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go +++ b/plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_hubs.go b/plugins/source/azure/resources/services/network/virtual_hubs.go index 7ac3c0c8bc3c27..8ba036655bb04e 100644 --- a/plugins/source/azure/resources/services/network/virtual_hubs.go +++ b/plugins/source/azure/resources/services/network/virtual_hubs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 23c889e1f808ee..2ef6f1fbe1c274 100644 --- a/plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go +++ b/plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_network_taps.go b/plugins/source/azure/resources/services/network/virtual_network_taps.go index 2adc4d1f6ac44d..e38523fb65488e 100644 --- a/plugins/source/azure/resources/services/network/virtual_network_taps.go +++ b/plugins/source/azure/resources/services/network/virtual_network_taps.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index d6f6f48d72bdd5..c3f24815adbc4c 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_networks.go b/plugins/source/azure/resources/services/network/virtual_networks.go index 65f8a22f3dab26..744107d15a060c 100644 --- a/plugins/source/azure/resources/services/network/virtual_networks.go +++ b/plugins/source/azure/resources/services/network/virtual_networks.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 140ec6d4a3f0ab..ba7c84dd0ca688 100644 --- a/plugins/source/azure/resources/services/network/virtual_networks_mock_test.go +++ b/plugins/source/azure/resources/services/network/virtual_networks_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_routers.go b/plugins/source/azure/resources/services/network/virtual_routers.go index 884656b4b8be1c..d75641eb52a0f1 100644 --- a/plugins/source/azure/resources/services/network/virtual_routers.go +++ b/plugins/source/azure/resources/services/network/virtual_routers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index c297968aaef1cd..47117b59615d2c 100644 --- a/plugins/source/azure/resources/services/network/virtual_routers_mock_test.go +++ b/plugins/source/azure/resources/services/network/virtual_routers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/virtual_wans.go b/plugins/source/azure/resources/services/network/virtual_wans.go index cdbc17251bd486..675cba03fa6263 100644 --- a/plugins/source/azure/resources/services/network/virtual_wans.go +++ b/plugins/source/azure/resources/services/network/virtual_wans.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index b2db00264cc3a4..a68aee0cdc86a5 100644 --- a/plugins/source/azure/resources/services/network/virtual_wans_mock_test.go +++ b/plugins/source/azure/resources/services/network/virtual_wans_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/vpn_gateways.go b/plugins/source/azure/resources/services/network/vpn_gateways.go index c381a6b6af5b47..9f174e60c14cdb 100644 --- a/plugins/source/azure/resources/services/network/vpn_gateways.go +++ b/plugins/source/azure/resources/services/network/vpn_gateways.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 00184f50b99676..da044d8e32b8ef 100644 --- a/plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go +++ b/plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/vpn_server_configurations.go b/plugins/source/azure/resources/services/network/vpn_server_configurations.go index 3db192332a2b93..4d7002302be3c4 100644 --- a/plugins/source/azure/resources/services/network/vpn_server_configurations.go +++ b/plugins/source/azure/resources/services/network/vpn_server_configurations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index e6c3ea1895aced..6ffd3cb574b36a 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/vpn_sites.go b/plugins/source/azure/resources/services/network/vpn_sites.go index 843254b303f28c..0c0526c0e6a9af 100644 --- a/plugins/source/azure/resources/services/network/vpn_sites.go +++ b/plugins/source/azure/resources/services/network/vpn_sites.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 443b233a27e20e..0318ba565abb89 100644 --- a/plugins/source/azure/resources/services/network/vpn_sites_mock_test.go +++ b/plugins/source/azure/resources/services/network/vpn_sites_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/network/watchers.go b/plugins/source/azure/resources/services/network/watchers.go index 408a678cb315e5..20d5a8504a4d9d 100644 --- a/plugins/source/azure/resources/services/network/watchers.go +++ b/plugins/source/azure/resources/services/network/watchers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/network/watchers_mock_test.go b/plugins/source/azure/resources/services/network/watchers_mock_test.go index ee82bc1ab48a65..45ab68a430afc4 100644 --- a/plugins/source/azure/resources/services/network/watchers_mock_test.go +++ b/plugins/source/azure/resources/services/network/watchers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 147f62c22b2b9f..be8b7a4b071cd5 100644 --- a/plugins/source/azure/resources/services/network/web_application_firewall_policies.go +++ b/plugins/source/azure/resources/services/network/web_application_firewall_policies.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 65c82b6ce5b583..3bc8bf23f91578 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package network import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" 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 index 8edee704a5716d..acf9039a1e00a5 100644 --- 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 @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package networkfunction import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index 43c5a2c46ea8d7..64b4bba397ee40 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package networkfunction import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/nginx/deployments_mock_test.go b/plugins/source/azure/resources/services/nginx/deployments_mock_test.go index 698a4a08d29643..9e517391f0e397 100644 --- a/plugins/source/azure/resources/services/nginx/deployments_mock_test.go +++ b/plugins/source/azure/resources/services/nginx/deployments_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package nginx import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/notificationhubs/namespaces.go b/plugins/source/azure/resources/services/notificationhubs/namespaces.go index 2af7453c4da94d..eb4d124802f9ef 100644 --- a/plugins/source/azure/resources/services/notificationhubs/namespaces.go +++ b/plugins/source/azure/resources/services/notificationhubs/namespaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go b/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go index a451c00ee24eb1..01e3df293305d5 100644 --- a/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go +++ b/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package notificationhubs import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/operationalinsights/clusters.go b/plugins/source/azure/resources/services/operationalinsights/clusters.go index 98e13213e5c310..f756dec3efd64a 100644 --- a/plugins/source/azure/resources/services/operationalinsights/clusters.go +++ b/plugins/source/azure/resources/services/operationalinsights/clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go b/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go index 7d323fac2fab78..a5490114091c61 100644 --- a/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go +++ b/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package operationalinsights import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/operationalinsights/workspaces.go b/plugins/source/azure/resources/services/operationalinsights/workspaces.go index 1bb7813633550e..f5cdbcef02dc36 100644 --- a/plugins/source/azure/resources/services/operationalinsights/workspaces.go +++ b/plugins/source/azure/resources/services/operationalinsights/workspaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go b/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go index 90298fec116c13..053046b28dde97 100644 --- a/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go +++ b/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package operationalinsights import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/peering/service_countries.go b/plugins/source/azure/resources/services/peering/service_countries.go index 77f0e29f1aff63..a6083530c9a579 100644 --- a/plugins/source/azure/resources/services/peering/service_countries.go +++ b/plugins/source/azure/resources/services/peering/service_countries.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 88a485779f32e3..d40194e105aa8f 100644 --- a/plugins/source/azure/resources/services/peering/service_countries_mock_test.go +++ b/plugins/source/azure/resources/services/peering/service_countries_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package peering import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/peering/service_locations.go b/plugins/source/azure/resources/services/peering/service_locations.go index 6f4f5cbc72efd1..6e8044151dfff2 100644 --- a/plugins/source/azure/resources/services/peering/service_locations.go +++ b/plugins/source/azure/resources/services/peering/service_locations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/peering/service_locations_mock_test.go b/plugins/source/azure/resources/services/peering/service_locations_mock_test.go index ae3eadb8d40b1c..c2297fbeb2f331 100644 --- a/plugins/source/azure/resources/services/peering/service_locations_mock_test.go +++ b/plugins/source/azure/resources/services/peering/service_locations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package peering import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" 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 index ccd154dbabf648..0df4a507372028 100644 --- a/plugins/source/azure/resources/services/peering/service_providers_mock_test.go +++ b/plugins/source/azure/resources/services/peering/service_providers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package peering import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/policy/assignments.go b/plugins/source/azure/resources/services/policy/assignments.go index 3be6c642fd7b7a..d0fb26c3bec566 100644 --- a/plugins/source/azure/resources/services/policy/assignments.go +++ b/plugins/source/azure/resources/services/policy/assignments.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/policy/assignments_mock_test.go b/plugins/source/azure/resources/services/policy/assignments_mock_test.go index c8e97c37c078e7..cfd7d8fce0ccf3 100644 --- a/plugins/source/azure/resources/services/policy/assignments_mock_test.go +++ b/plugins/source/azure/resources/services/policy/assignments_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package policy import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/policy/data_policy_manifests.go b/plugins/source/azure/resources/services/policy/data_policy_manifests.go index 9ea169f906ed36..ccaccffe2d4ecd 100644 --- a/plugins/source/azure/resources/services/policy/data_policy_manifests.go +++ b/plugins/source/azure/resources/services/policy/data_policy_manifests.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 4b15489a955962..e6ab022832583b 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package policy import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/policy/definitions.go b/plugins/source/azure/resources/services/policy/definitions.go index 37f3841a84061d..9ed5392128227d 100644 --- a/plugins/source/azure/resources/services/policy/definitions.go +++ b/plugins/source/azure/resources/services/policy/definitions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/policy/definitions_mock_test.go b/plugins/source/azure/resources/services/policy/definitions_mock_test.go index 2511c2e6adec77..d5de98d966c6fb 100644 --- a/plugins/source/azure/resources/services/policy/definitions_mock_test.go +++ b/plugins/source/azure/resources/services/policy/definitions_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package policy import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/policy/exemptions.go b/plugins/source/azure/resources/services/policy/exemptions.go index 69c2cea3f415e1..3f434a96c80dbe 100644 --- a/plugins/source/azure/resources/services/policy/exemptions.go +++ b/plugins/source/azure/resources/services/policy/exemptions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/policy/exemptions_mock_test.go b/plugins/source/azure/resources/services/policy/exemptions_mock_test.go index 5c45c678538c89..f86510aebcf45d 100644 --- a/plugins/source/azure/resources/services/policy/exemptions_mock_test.go +++ b/plugins/source/azure/resources/services/policy/exemptions_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package policy import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/policy/set_definitions.go b/plugins/source/azure/resources/services/policy/set_definitions.go index 43a276eb45ff8d..cba6bad33a8a51 100644 --- a/plugins/source/azure/resources/services/policy/set_definitions.go +++ b/plugins/source/azure/resources/services/policy/set_definitions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 1783285c57342f..de1353e646c52e 100644 --- a/plugins/source/azure/resources/services/policy/set_definitions_mock_test.go +++ b/plugins/source/azure/resources/services/policy/set_definitions_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package policy import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" 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 index ecf5c28ebfe9cf..cfdea16c3086e2 100644 --- a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go +++ b/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 993eb0a1164054..e6ccbbc30fe5e8 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package portal import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/portal/tenant_configurations.go b/plugins/source/azure/resources/services/portal/tenant_configurations.go index 89e6f8178292e5..96d7f757719afc 100644 --- a/plugins/source/azure/resources/services/portal/tenant_configurations.go +++ b/plugins/source/azure/resources/services/portal/tenant_configurations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 05855fb91dd324..095347212d392b 100644 --- a/plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go +++ b/plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package portal import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/postgresql/servers.go b/plugins/source/azure/resources/services/postgresql/servers.go index 3b8a77eb863c9f..4d96b5ba44f6bf 100644 --- a/plugins/source/azure/resources/services/postgresql/servers.go +++ b/plugins/source/azure/resources/services/postgresql/servers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package postgresql import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresql/armpostgresql" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/postgresql/servers_mock_test.go b/plugins/source/azure/resources/services/postgresql/servers_mock_test.go index d96ba3f6869c21..660305e722e80d 100644 --- a/plugins/source/azure/resources/services/postgresql/servers_mock_test.go +++ b/plugins/source/azure/resources/services/postgresql/servers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package postgresql import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresql/armpostgresql" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go index c7d061fe6d64d7..ebe3ed8f9879e5 100644 --- a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go +++ b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package postgresqlflexibleservers import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresql/armpostgresqlflexibleservers" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers_mock_test.go b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers_mock_test.go index 61325bcdc55c99..644a4287954953 100644 --- a/plugins/source/azure/resources/services/postgresqlflexibleservers/servers_mock_test.go +++ b/plugins/source/azure/resources/services/postgresqlflexibleservers/servers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package postgresqlflexibleservers import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresql/armpostgresqlflexibleservers" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go b/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go index 2f7006ea97e270..479b5a15a0553d 100644 --- a/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go +++ b/plugins/source/azure/resources/services/postgresqlhsc/server_groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package postgresqlhsc import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresqlhsc/armpostgresqlhsc" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/postgresqlhsc/server_groups_mock_test.go b/plugins/source/azure/resources/services/postgresqlhsc/server_groups_mock_test.go index 41c9a9a6264020..fd80a5c6ab8e31 100644 --- a/plugins/source/azure/resources/services/postgresqlhsc/server_groups_mock_test.go +++ b/plugins/source/azure/resources/services/postgresqlhsc/server_groups_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package postgresqlhsc import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresqlhsc/armpostgresqlhsc" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/powerbidedicated/capacities.go b/plugins/source/azure/resources/services/powerbidedicated/capacities.go index b1352670548f6b..e601c686430e84 100644 --- a/plugins/source/azure/resources/services/powerbidedicated/capacities.go +++ b/plugins/source/azure/resources/services/powerbidedicated/capacities.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go b/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go index 4ee8500e7395e8..8354f774aa522f 100644 --- a/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go +++ b/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package powerbidedicated import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/privatedns/private_zones.go b/plugins/source/azure/resources/services/privatedns/private_zones.go index a5235d32256a8f..9e2a7c1d7c96a4 100644 --- a/plugins/source/azure/resources/services/privatedns/private_zones.go +++ b/plugins/source/azure/resources/services/privatedns/private_zones.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 2a21433f826778..f7f3281fde2e1f 100644 --- a/plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go +++ b/plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package privatedns import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/providerhub/provider_registrations.go b/plugins/source/azure/resources/services/providerhub/provider_registrations.go index 53d6595220d09e..2a0dfe6e364f70 100644 --- a/plugins/source/azure/resources/services/providerhub/provider_registrations.go +++ b/plugins/source/azure/resources/services/providerhub/provider_registrations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index e6dcb8e2f53883..c5c556ec5bc637 100644 --- a/plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go +++ b/plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package providerhub import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go index eae39e4556a3d7..6e2169554361be 100644 --- a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go +++ b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 90e1c1c474743f..0174fd27a695c9 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package redhatopenshift import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/relay/namespaces.go b/plugins/source/azure/resources/services/relay/namespaces.go index bdd4c874bcf23d..2c74660473f933 100644 --- a/plugins/source/azure/resources/services/relay/namespaces.go +++ b/plugins/source/azure/resources/services/relay/namespaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/relay/namespaces_mock_test.go b/plugins/source/azure/resources/services/relay/namespaces_mock_test.go index 1306943851f635..f16514de36115f 100644 --- a/plugins/source/azure/resources/services/relay/namespaces_mock_test.go +++ b/plugins/source/azure/resources/services/relay/namespaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package relay import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/reservations/reservation.go b/plugins/source/azure/resources/services/reservations/reservation.go index e28495cf26d1c6..ed3dd03781e8f9 100644 --- a/plugins/source/azure/resources/services/reservations/reservation.go +++ b/plugins/source/azure/resources/services/reservations/reservation.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package reservations import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/reservations/reservation_mock_test.go b/plugins/source/azure/resources/services/reservations/reservation_mock_test.go index 83554192b190fc..e4f093859c29c2 100644 --- a/plugins/source/azure/resources/services/reservations/reservation_mock_test.go +++ b/plugins/source/azure/resources/services/reservations/reservation_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package reservations import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/reservations/reservation_order.go b/plugins/source/azure/resources/services/reservations/reservation_order.go index a44f1388c1ea7f..a4cd971f6cd834 100644 --- a/plugins/source/azure/resources/services/reservations/reservation_order.go +++ b/plugins/source/azure/resources/services/reservations/reservation_order.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package reservations import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" 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 index ae9f411fa72e2e..fab7c962218e0d 100644 --- a/plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go +++ b/plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package reservations import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/saas/resources.go b/plugins/source/azure/resources/services/saas/resources.go index 63954413d6bfa2..6fe765ea3734a9 100644 --- a/plugins/source/azure/resources/services/saas/resources.go +++ b/plugins/source/azure/resources/services/saas/resources.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/saas/resources_mock_test.go b/plugins/source/azure/resources/services/saas/resources_mock_test.go index 2f03229d316081..61e183bb7e4042 100644 --- a/plugins/source/azure/resources/services/saas/resources_mock_test.go +++ b/plugins/source/azure/resources/services/saas/resources_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package saas import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/alerts.go b/plugins/source/azure/resources/services/security/alerts.go index d6eeeb65f7c4bd..8d1f9f5362a78f 100644 --- a/plugins/source/azure/resources/services/security/alerts.go +++ b/plugins/source/azure/resources/services/security/alerts.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/alerts_mock_test.go b/plugins/source/azure/resources/services/security/alerts_mock_test.go index 427ad19d66eb2c..6551d63694bffa 100644 --- a/plugins/source/azure/resources/services/security/alerts_mock_test.go +++ b/plugins/source/azure/resources/services/security/alerts_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go b/plugins/source/azure/resources/services/security/alerts_suppression_rules.go index 752fdbada9e9d2..90abb528650107 100644 --- a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go +++ b/plugins/source/azure/resources/services/security/alerts_suppression_rules.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index d06685bd52e93f..2515bed9792639 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/allowed_connections.go b/plugins/source/azure/resources/services/security/allowed_connections.go index e06317dd858520..27e3ee5e30fcbe 100644 --- a/plugins/source/azure/resources/services/security/allowed_connections.go +++ b/plugins/source/azure/resources/services/security/allowed_connections.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index bdd5f9c627d50e..fd1ce17453072f 100644 --- a/plugins/source/azure/resources/services/security/allowed_connections_mock_test.go +++ b/plugins/source/azure/resources/services/security/allowed_connections_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/applications.go b/plugins/source/azure/resources/services/security/applications.go index aad7ac3d889320..41bfe6f88ae893 100644 --- a/plugins/source/azure/resources/services/security/applications.go +++ b/plugins/source/azure/resources/services/security/applications.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/applications_mock_test.go b/plugins/source/azure/resources/services/security/applications_mock_test.go index 263200006e6ca7..cf8e9cd4d533c8 100644 --- a/plugins/source/azure/resources/services/security/applications_mock_test.go +++ b/plugins/source/azure/resources/services/security/applications_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/assessments_metadata.go b/plugins/source/azure/resources/services/security/assessments_metadata.go index aaecda7619a40e..e77861339334bf 100644 --- a/plugins/source/azure/resources/services/security/assessments_metadata.go +++ b/plugins/source/azure/resources/services/security/assessments_metadata.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/assessments_metadata_mock_test.go b/plugins/source/azure/resources/services/security/assessments_metadata_mock_test.go index 7f6a9a156ade27..76fe2ff3edd03f 100644 --- a/plugins/source/azure/resources/services/security/assessments_metadata_mock_test.go +++ b/plugins/source/azure/resources/services/security/assessments_metadata_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go b/plugins/source/azure/resources/services/security/auto_provisioning_settings.go index 9864acfa166430..bc1b8b3c237061 100644 --- a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go +++ b/plugins/source/azure/resources/services/security/auto_provisioning_settings.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 4243e7232c56de..4a72698aad5c68 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/automations.go b/plugins/source/azure/resources/services/security/automations.go index 65937c0be45a9f..c1c30ef08752bc 100644 --- a/plugins/source/azure/resources/services/security/automations.go +++ b/plugins/source/azure/resources/services/security/automations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/automations_mock_test.go b/plugins/source/azure/resources/services/security/automations_mock_test.go index 9c3c7a7dda30d9..9cb253b4fbf857 100644 --- a/plugins/source/azure/resources/services/security/automations_mock_test.go +++ b/plugins/source/azure/resources/services/security/automations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/connectors.go b/plugins/source/azure/resources/services/security/connectors.go index 15a40c44ed939d..8306cbfd1cc46b 100644 --- a/plugins/source/azure/resources/services/security/connectors.go +++ b/plugins/source/azure/resources/services/security/connectors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/connectors_mock_test.go b/plugins/source/azure/resources/services/security/connectors_mock_test.go index 963b83d065f6f1..f5bc68a4f8d5b7 100644 --- a/plugins/source/azure/resources/services/security/connectors_mock_test.go +++ b/plugins/source/azure/resources/services/security/connectors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/discovered_security_solutions.go b/plugins/source/azure/resources/services/security/discovered_security_solutions.go index 8ec9c953cc90c6..c6a3f37530cdc8 100644 --- a/plugins/source/azure/resources/services/security/discovered_security_solutions.go +++ b/plugins/source/azure/resources/services/security/discovered_security_solutions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 7a24a4916ce61b..574f84c636b8f8 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/external_security_solutions.go b/plugins/source/azure/resources/services/security/external_security_solutions.go index b1c5d2bc770d92..2fd8991db252b1 100644 --- a/plugins/source/azure/resources/services/security/external_security_solutions.go +++ b/plugins/source/azure/resources/services/security/external_security_solutions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 438c3f46f92c52..16525dcb0a427d 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/governance_rule.go b/plugins/source/azure/resources/services/security/governance_rule.go index 29d8e2fbe4bfd8..f2644b763e4e8a 100644 --- a/plugins/source/azure/resources/services/security/governance_rule.go +++ b/plugins/source/azure/resources/services/security/governance_rule.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 3cb631338ddf28..4758005841ffaa 100644 --- a/plugins/source/azure/resources/services/security/governance_rule_mock_test.go +++ b/plugins/source/azure/resources/services/security/governance_rule_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" 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 index 67bed79bb0668d..ca6168497185a0 100644 --- a/plugins/source/azure/resources/services/security/jit_network_access_policies.go +++ b/plugins/source/azure/resources/services/security/jit_network_access_policies.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 31c0243828ad0e..fe2c5a83817423 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/locations.go b/plugins/source/azure/resources/services/security/locations.go index f229b6ed64382f..4418a4a3fa13b1 100644 --- a/plugins/source/azure/resources/services/security/locations.go +++ b/plugins/source/azure/resources/services/security/locations.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/locations_mock_test.go b/plugins/source/azure/resources/services/security/locations_mock_test.go index c1f9e6299ef321..6f6382f1b5ac6f 100644 --- a/plugins/source/azure/resources/services/security/locations_mock_test.go +++ b/plugins/source/azure/resources/services/security/locations_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go b/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go index 759e5800e4ae7c..bcf11a811f7212 100644 --- a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go +++ b/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index e3f8d30c47c43f..fd308ac6ebc62a 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" 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 index ca58a647de722b..fe02de407408f5 100644 --- a/plugins/source/azure/resources/services/security/secure_score_control_definitions.go +++ b/plugins/source/azure/resources/services/security/secure_score_control_definitions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 6c48632a79ab89..367bcd9618d1f9 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/secure_score_controls.go b/plugins/source/azure/resources/services/security/secure_score_controls.go index 551eeef039184d..e5d190245eb937 100644 --- a/plugins/source/azure/resources/services/security/secure_score_controls.go +++ b/plugins/source/azure/resources/services/security/secure_score_controls.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index b57d8fa28afe34..0a9310a0890976 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/secure_scores.go b/plugins/source/azure/resources/services/security/secure_scores.go index d3471a8eb8e143..dc65e2a12e091a 100644 --- a/plugins/source/azure/resources/services/security/secure_scores.go +++ b/plugins/source/azure/resources/services/security/secure_scores.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 2b81eaaf1d0a50..ffc633d4877810 100644 --- a/plugins/source/azure/resources/services/security/secure_scores_mock_test.go +++ b/plugins/source/azure/resources/services/security/secure_scores_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/solutions.go b/plugins/source/azure/resources/services/security/solutions.go index ca9a2330215c45..c3457f7c894c86 100644 --- a/plugins/source/azure/resources/services/security/solutions.go +++ b/plugins/source/azure/resources/services/security/solutions.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/solutions_mock_test.go b/plugins/source/azure/resources/services/security/solutions_mock_test.go index bad51f9152fbf0..3298e70767982f 100644 --- a/plugins/source/azure/resources/services/security/solutions_mock_test.go +++ b/plugins/source/azure/resources/services/security/solutions_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/tasks.go b/plugins/source/azure/resources/services/security/tasks.go index 1d678646db3317..df7d9bebf9d6a4 100644 --- a/plugins/source/azure/resources/services/security/tasks.go +++ b/plugins/source/azure/resources/services/security/tasks.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/tasks_mock_test.go b/plugins/source/azure/resources/services/security/tasks_mock_test.go index ba22bf330ff660..8dc608d412f1fe 100644 --- a/plugins/source/azure/resources/services/security/tasks_mock_test.go +++ b/plugins/source/azure/resources/services/security/tasks_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/topology.go b/plugins/source/azure/resources/services/security/topology.go index 0860483ddb9337..260a8e37b2f88c 100644 --- a/plugins/source/azure/resources/services/security/topology.go +++ b/plugins/source/azure/resources/services/security/topology.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/security/topology_mock_test.go b/plugins/source/azure/resources/services/security/topology_mock_test.go index a50f91b8ce594e..a294e2617921ad 100644 --- a/plugins/source/azure/resources/services/security/topology_mock_test.go +++ b/plugins/source/azure/resources/services/security/topology_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/security/workspace_settings.go b/plugins/source/azure/resources/services/security/workspace_settings.go index bb943e78043d34..798beb9c6694a2 100644 --- a/plugins/source/azure/resources/services/security/workspace_settings.go +++ b/plugins/source/azure/resources/services/security/workspace_settings.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 8e1070aa9c5738..f4a80449d48050 100644 --- a/plugins/source/azure/resources/services/security/workspace_settings_mock_test.go +++ b/plugins/source/azure/resources/services/security/workspace_settings_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package security import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/servicebus/namespaces.go b/plugins/source/azure/resources/services/servicebus/namespaces.go index 50ba5467e9afe6..9602f55494ddcc 100644 --- a/plugins/source/azure/resources/services/servicebus/namespaces.go +++ b/plugins/source/azure/resources/services/servicebus/namespaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go b/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go index b2b7e4c8495183..78083b49b9629e 100644 --- a/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go +++ b/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package servicebus import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sql/instance_pools.go b/plugins/source/azure/resources/services/sql/instance_pools.go index 06565588875d72..8f8d4027960921 100644 --- a/plugins/source/azure/resources/services/sql/instance_pools.go +++ b/plugins/source/azure/resources/services/sql/instance_pools.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sql/instance_pools_mock_test.go b/plugins/source/azure/resources/services/sql/instance_pools_mock_test.go index 9fa4c34c281786..501898eb7ea3b7 100644 --- a/plugins/source/azure/resources/services/sql/instance_pools_mock_test.go +++ b/plugins/source/azure/resources/services/sql/instance_pools_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sql/managed_instances.go b/plugins/source/azure/resources/services/sql/managed_instances.go index f6c31e7a0949f5..7c93d38a2aef6e 100644 --- a/plugins/source/azure/resources/services/sql/managed_instances.go +++ b/plugins/source/azure/resources/services/sql/managed_instances.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sql/managed_instances_mock_test.go b/plugins/source/azure/resources/services/sql/managed_instances_mock_test.go index adaaf2443c5912..22f8586263f67e 100644 --- a/plugins/source/azure/resources/services/sql/managed_instances_mock_test.go +++ b/plugins/source/azure/resources/services/sql/managed_instances_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sql/servers.go b/plugins/source/azure/resources/services/sql/servers.go index 92b284b5711d10..39f89972ac3e23 100644 --- a/plugins/source/azure/resources/services/sql/servers.go +++ b/plugins/source/azure/resources/services/sql/servers.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sql/servers_mock_test.go b/plugins/source/azure/resources/services/sql/servers_mock_test.go index cdfe6417d3b3f0..246b5d2d9f44d6 100644 --- a/plugins/source/azure/resources/services/sql/servers_mock_test.go +++ b/plugins/source/azure/resources/services/sql/servers_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sql/virtual_clusters.go b/plugins/source/azure/resources/services/sql/virtual_clusters.go index 14ad2dfe373ccf..91ca8299188ed9 100644 --- a/plugins/source/azure/resources/services/sql/virtual_clusters.go +++ b/plugins/source/azure/resources/services/sql/virtual_clusters.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sql/virtual_clusters_mock_test.go b/plugins/source/azure/resources/services/sql/virtual_clusters_mock_test.go index 7ba9d5a21fa6fa..7ff48f5827c6a8 100644 --- a/plugins/source/azure/resources/services/sql/virtual_clusters_mock_test.go +++ b/plugins/source/azure/resources/services/sql/virtual_clusters_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sql import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go b/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go index 10fc7cfb105ef4..d2aee9a5a2e6ae 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/groups.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sqlvirtualmachine import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sqlvirtualmachine/armsqlvirtualmachine" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/groups_mock_test.go b/plugins/source/azure/resources/services/sqlvirtualmachine/groups_mock_test.go index 74d1fa7c45f5dd..aa8c3a390260fb 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/groups_mock_test.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/groups_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sqlvirtualmachine import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sqlvirtualmachine/armsqlvirtualmachine" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go index 55a10e1eebc5f0..38fdd97e5da446 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package sqlvirtualmachine import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sqlvirtualmachine/armsqlvirtualmachine" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines_mock_test.go b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines_mock_test.go index bb965bd12c4ef7..7a81b56c3ad39b 100644 --- a/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines_mock_test.go +++ b/plugins/source/azure/resources/services/sqlvirtualmachine/sql_virtual_machines_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package sqlvirtualmachine import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sqlvirtualmachine/armsqlvirtualmachine" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/storagecache/caches.go b/plugins/source/azure/resources/services/storagecache/caches.go index e76505331da184..c409b66ba88138 100644 --- a/plugins/source/azure/resources/services/storagecache/caches.go +++ b/plugins/source/azure/resources/services/storagecache/caches.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. package storagecache import ( "context" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecache" "github.com/cloudquery/cloudquery/plugins/source/azure/client" "github.com/cloudquery/plugin-sdk/schema" diff --git a/plugins/source/azure/resources/services/storagecache/caches_mock_test.go b/plugins/source/azure/resources/services/storagecache/caches_mock_test.go index 390fa1e72b34b2..e4df72d327649d 100644 --- a/plugins/source/azure/resources/services/storagecache/caches_mock_test.go +++ b/plugins/source/azure/resources/services/storagecache/caches_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package storagecache import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "testing" + "github.com/cloudquery/cloudquery/plugins/source/azure/client" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecache" "github.com/cloudquery/plugin-sdk/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go index 6ad7bf5178713a..3e2b7c43f03e3d 100644 --- a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go +++ b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index f4d744725f468b..d332d322cae635 100644 --- a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go +++ b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package streamanalytics import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/support/services.go b/plugins/source/azure/resources/services/support/services.go index 816ae08b92730b..ed530c6c5c8877 100644 --- a/plugins/source/azure/resources/services/support/services.go +++ b/plugins/source/azure/resources/services/support/services.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/support/services_mock_test.go b/plugins/source/azure/resources/services/support/services_mock_test.go index fd8a3d0fa640f1..bf2be2e5673873 100644 --- a/plugins/source/azure/resources/services/support/services_mock_test.go +++ b/plugins/source/azure/resources/services/support/services_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package support import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/support/tickets.go b/plugins/source/azure/resources/services/support/tickets.go index 0c16b31ec5b231..fa9fdd60f75570 100644 --- a/plugins/source/azure/resources/services/support/tickets.go +++ b/plugins/source/azure/resources/services/support/tickets.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/support/tickets_mock_test.go b/plugins/source/azure/resources/services/support/tickets_mock_test.go index 7e65f58472063c..5bff48a1dd4c61 100644 --- a/plugins/source/azure/resources/services/support/tickets_mock_test.go +++ b/plugins/source/azure/resources/services/support/tickets_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package support import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/synapse/private_link_hubs.go b/plugins/source/azure/resources/services/synapse/private_link_hubs.go index f7fabafbaf8572..bfdefc518e2bdb 100644 --- a/plugins/source/azure/resources/services/synapse/private_link_hubs.go +++ b/plugins/source/azure/resources/services/synapse/private_link_hubs.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" 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 index 618667efa0714f..dc500996d49dcf 100644 --- 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 @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package synapse import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/synapse/workspaces.go b/plugins/source/azure/resources/services/synapse/workspaces.go index 71fc1cc1ad83b3..1fa97ff4baf518 100644 --- a/plugins/source/azure/resources/services/synapse/workspaces.go +++ b/plugins/source/azure/resources/services/synapse/workspaces.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go b/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go index b083cb4fc45e1d..3a178279142ad6 100644 --- a/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go +++ b/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package synapse import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/windowsiot/services.go b/plugins/source/azure/resources/services/windowsiot/services.go index e4977e80f27bfc..599e5b2165b3d3 100644 --- a/plugins/source/azure/resources/services/windowsiot/services.go +++ b/plugins/source/azure/resources/services/windowsiot/services.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/windowsiot/services_mock_test.go b/plugins/source/azure/resources/services/windowsiot/services_mock_test.go index 0e02967fdbaa92..2d94cb69836872 100644 --- a/plugins/source/azure/resources/services/windowsiot/services_mock_test.go +++ b/plugins/source/azure/resources/services/windowsiot/services_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package windowsiot import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" diff --git a/plugins/source/azure/resources/services/workloads/monitors.go b/plugins/source/azure/resources/services/workloads/monitors.go index 6c05bf93f43347..4b1dd7ab74aba7 100644 --- a/plugins/source/azure/resources/services/workloads/monitors.go +++ b/plugins/source/azure/resources/services/workloads/monitors.go @@ -1,8 +1,8 @@ -// Code generated by codegen; DO NOT EDIT. 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/schema" diff --git a/plugins/source/azure/resources/services/workloads/monitors_mock_test.go b/plugins/source/azure/resources/services/workloads/monitors_mock_test.go index c6efa174a94d7f..2b7f6f183344f2 100644 --- a/plugins/source/azure/resources/services/workloads/monitors_mock_test.go +++ b/plugins/source/azure/resources/services/workloads/monitors_mock_test.go @@ -1,13 +1,13 @@ -// Code generated by codegen; DO NOT EDIT. package workloads import ( "encoding/json" "net/http" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" "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/faker" "github.com/gorilla/mux" From cf3580131cd9957b4a569e4ff44acc529b532826 Mon Sep 17 00:00:00 2001 From: candiduslynx Date: Thu, 12 Jan 2023 14:14:43 +0200 Subject: [PATCH 110/186] fix(aws)!: Add PK to `aws_s3_bucket_grants` table (#6754) BEGIN_COMMIT_OVERRIDE fix!: introduce `aws_s3_bucket_grants` explicit primary key `(bucket_arn, grantee_id)`. If you've previously synced this table you'll need to drop it for the PK change (migration) to succeed. END_COMMIT_OVERRIDE --- .../source/aws/docs/tables/aws_s3_bucket_grants.md | 7 ++++--- .../aws/resources/services/s3/bucket_cors_rules.go | 1 - .../services/s3/bucket_encryption_rules.go | 1 - .../aws/resources/services/s3/bucket_grants.go | 14 ++++++++++---- .../aws/resources/services/s3/bucket_lifecycles.go | 1 - 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md b/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md index 837d6dbb53da77..9edf2a977c2de2 100644 --- a/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md +++ b/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md @@ -2,7 +2,7 @@ https://docs.aws.amazon.com/AmazonS3/latest/API/API_Grant.html -The primary key for this table is **_cq_id**. +The composite primary key for this table is (**bucket_arn**, **grantee_id**). ## Relations @@ -14,9 +14,10 @@ This table depends on [aws_s3_buckets](aws_s3_buckets.md). | ------------- | ------------- | |_cq_source_name|String| |_cq_sync_time|Timestamp| -|_cq_id (PK)|UUID| +|_cq_id|UUID| |_cq_parent_id|UUID| |account_id|String| -|bucket_arn|String| +|bucket_arn (PK)|String| +|grantee_id (PK)|String| |grantee|JSON| |permission|String| \ No newline at end of file diff --git a/plugins/source/aws/resources/services/s3/bucket_cors_rules.go b/plugins/source/aws/resources/services/s3/bucket_cors_rules.go index 83151672910429..d4127bc04cd0d8 100644 --- a/plugins/source/aws/resources/services/s3/bucket_cors_rules.go +++ b/plugins/source/aws/resources/services/s3/bucket_cors_rules.go @@ -13,7 +13,6 @@ func BucketCorsRules() *schema.Table { Description: `https://docs.aws.amazon.com/AmazonS3/latest/API/API_CORSRule.html`, Resolver: fetchS3BucketCorsRules, Transform: transformers.TransformWithStruct(&types.CORSRule{}), - Multiplex: client.AccountMultiplex, Columns: []schema.Column{ { Name: "account_id", diff --git a/plugins/source/aws/resources/services/s3/bucket_encryption_rules.go b/plugins/source/aws/resources/services/s3/bucket_encryption_rules.go index ac5856956fd573..82e89c0d0dbe4e 100644 --- a/plugins/source/aws/resources/services/s3/bucket_encryption_rules.go +++ b/plugins/source/aws/resources/services/s3/bucket_encryption_rules.go @@ -13,7 +13,6 @@ func BucketEncryptionRules() *schema.Table { Description: `https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html`, Resolver: fetchS3BucketEncryptionRules, Transform: transformers.TransformWithStruct(&types.ServerSideEncryptionRule{}), - Multiplex: client.AccountMultiplex, Columns: []schema.Column{ { Name: "account_id", diff --git a/plugins/source/aws/resources/services/s3/bucket_grants.go b/plugins/source/aws/resources/services/s3/bucket_grants.go index 24e3cb87dadf15..d1eece31c54dbb 100644 --- a/plugins/source/aws/resources/services/s3/bucket_grants.go +++ b/plugins/source/aws/resources/services/s3/bucket_grants.go @@ -13,7 +13,6 @@ func BucketGrants() *schema.Table { Description: `https://docs.aws.amazon.com/AmazonS3/latest/API/API_Grant.html`, Resolver: fetchS3BucketGrants, Transform: transformers.TransformWithStruct(&types.Grant{}), - Multiplex: client.AccountMultiplex, Columns: []schema.Column{ { Name: "account_id", @@ -21,9 +20,16 @@ func BucketGrants() *schema.Table { Resolver: client.ResolveAWSAccount, }, { - Name: "bucket_arn", - Type: schema.TypeString, - Resolver: schema.ParentColumnResolver("arn"), + Name: "bucket_arn", + Type: schema.TypeString, + Resolver: schema.ParentColumnResolver("arn"), + CreationOptions: schema.ColumnCreationOptions{PrimaryKey: true}, + }, + { + Name: "grantee_id", + Type: schema.TypeString, + Resolver: schema.PathResolver("Grantee.ID"), + CreationOptions: schema.ColumnCreationOptions{PrimaryKey: true}, }, }, } diff --git a/plugins/source/aws/resources/services/s3/bucket_lifecycles.go b/plugins/source/aws/resources/services/s3/bucket_lifecycles.go index 813af4e5f63c9d..16e23387996118 100644 --- a/plugins/source/aws/resources/services/s3/bucket_lifecycles.go +++ b/plugins/source/aws/resources/services/s3/bucket_lifecycles.go @@ -13,7 +13,6 @@ func BucketLifecycles() *schema.Table { Description: `https://docs.aws.amazon.com/AmazonS3/latest/API/API_LifecycleRule.html`, Resolver: fetchS3BucketLifecycles, Transform: transformers.TransformWithStruct(&types.LifecycleRule{}), - Multiplex: client.AccountMultiplex, Columns: []schema.Column{ { Name: "account_id", From 59c32dc65c9df6870c4d973893a7e722c45188fd Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Thu, 12 Jan 2023 14:27:23 +0200 Subject: [PATCH 111/186] feat: ADD GCP VPC Access (#6755) #### Summary **Full Changelog**: https://github.com/cloudquery/codegen/compare/v0.1.1...v0.2.0 --- ### 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/fastly/codegen/main.go | 5 +++++ plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/source/fastly/codegen/main.go b/plugins/source/fastly/codegen/main.go index 2c47b70d8188ab..7343999fd02a9d 100644 --- a/plugins/source/fastly/codegen/main.go +++ b/plugins/source/fastly/codegen/main.go @@ -19,6 +19,7 @@ func main() { []any{&fastly.Client{}}, path.Join(path.Dir(filename), "../client/services"), interfaces.WithIncludeFunc(include), + interfaces.WithExtraImports(extraImports), ) if err != nil { panic(err) @@ -28,3 +29,7 @@ func main() { func include(m reflect.Method) bool { return interfaces.MethodHasAnyPrefix(m, []string{"Get", "List", "NewGet", "NewList"}) } + +func extraImports(m reflect.Method) []string { + return []string{"net/http"} +} diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index af8f7ed2b4bc72..1d9983ca93ba25 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/fastly go 1.19 require ( - github.com/cloudquery/codegen v0.1.1 + github.com/cloudquery/codegen v0.2.0 github.com/cloudquery/plugin-sdk v1.25.0 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index 72e7c435742c3a..86429158a16327 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/codegen v0.1.1 h1:zIPNMeNAlUdLwP4gpb8BsfOfAxyLYOBxBNSG+nZpSx4= -github.com/cloudquery/codegen v0.1.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= +github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= +github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= From b11670e8ba57586b6749bce8bd33b9e6203db3a4 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:10:32 +0200 Subject: [PATCH 114/186] chore(main): Release plugins-source-aws v11.0.0 (#6679) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release *beep* *boop* --- ## [11.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v10.1.0...plugins-source-aws-v11.0.0) (2023-01-12) ### ⚠ BREAKING CHANGES * introduce `aws_s3_bucket_grants` explicit primary key `(bucket_arn, grantee_id)`. If you've previously synced this table you'll need to drop it for the PK change (migration) to succeed. ### Features * **aws:** Add Org resource policies ([#6743](https://github.com/cloudquery/cloudquery/issues/6743)) ([80dcf8e](https://github.com/cloudquery/cloudquery/commit/80dcf8e9c5c13adcd91f58046d712bf87d6c1d3f)) * **aws:** Add support for xray resource policy ([#4833](https://github.com/cloudquery/cloudquery/issues/4833)) ([b68dc35](https://github.com/cloudquery/cloudquery/commit/b68dc350487194de6d5600663a147cca21123c82)) ### Bug Fixes * **aws:** Add PKs To IAM Resources ([#6741](https://github.com/cloudquery/cloudquery/issues/6741)) ([f7cdb07](https://github.com/cloudquery/cloudquery/commit/f7cdb07d19447cfc3651892b7d8d870ce3f29c15)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) * introduce `aws_s3_bucket_grants` explicit primary key `(bucket_arn, grantee_id)`. If you've previously synced this table you'll need to drop it for the PK change (migration) to succeed. ([cf35801](https://github.com/cloudquery/cloudquery/commit/cf3580131cd9957b4a569e4ff44acc529b532826)) --- 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/aws/CHANGELOG.md | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4a4d2f04f0c286..acfe0b800705a0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,7 +1,7 @@ { "cli": "2.1.0", "cli+FILLER": "0.0.0", - "plugins/source/aws": "10.1.0", + "plugins/source/aws": "11.0.0", "plugins/source/aws+FILLER": "0.0.0", "plugins/source/azure": "3.3.0", "plugins/source/azure+FILLER": "0.0.0", diff --git a/plugins/source/aws/CHANGELOG.md b/plugins/source/aws/CHANGELOG.md index f5a98faa820ce2..131d1f54f8e87f 100644 --- a/plugins/source/aws/CHANGELOG.md +++ b/plugins/source/aws/CHANGELOG.md @@ -6,6 +6,26 @@ 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). +## [11.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v10.1.0...plugins-source-aws-v11.0.0) (2023-01-12) + + +### ⚠ BREAKING CHANGES + +* introduce `aws_s3_bucket_grants` explicit primary key `(bucket_arn, grantee_id)`. If you've previously synced this table you'll need to drop it for the PK change (migration) to succeed. + +### Features + +* **aws:** Add Org resource policies ([#6743](https://github.com/cloudquery/cloudquery/issues/6743)) ([80dcf8e](https://github.com/cloudquery/cloudquery/commit/80dcf8e9c5c13adcd91f58046d712bf87d6c1d3f)) +* **aws:** Add support for xray resource policy ([#4833](https://github.com/cloudquery/cloudquery/issues/4833)) ([b68dc35](https://github.com/cloudquery/cloudquery/commit/b68dc350487194de6d5600663a147cca21123c82)) + + +### Bug Fixes + +* **aws:** Add PKs To IAM Resources ([#6741](https://github.com/cloudquery/cloudquery/issues/6741)) ([f7cdb07](https://github.com/cloudquery/cloudquery/commit/f7cdb07d19447cfc3651892b7d8d870ce3f29c15)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) +* introduce `aws_s3_bucket_grants` explicit primary key `(bucket_arn, grantee_id)`. If you've previously synced this table you'll need to drop it for the PK change (migration) to succeed. ([cf35801](https://github.com/cloudquery/cloudquery/commit/cf3580131cd9957b4a569e4ff44acc529b532826)) + ## [10.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v10.0.0...plugins-source-aws-v10.1.0) (2023-01-11) From c30dec193b15d3b6bda1577de4428ea93826a87b Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:14:06 +0200 Subject: [PATCH 115/186] chore(main): Release plugins-source-github v2.1.1 (#6715) :robot: I have created a release *beep* *boop* --- ## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v2.1.0...plugins-source-github-v2.1.1) (2023-01-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) * **github:** Fix panic in workflow fetching ([#6693](https://github.com/cloudquery/cloudquery/issues/6693)) ([a582f0b](https://github.com/cloudquery/cloudquery/commit/a582f0b76bb28be4ca6a9448fcf452d7408b12fd)) --- 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 | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index acfe0b800705a0..9fdb6143fba36d 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": "7.1.1", "plugins/source/gcp+FILLER": "0.0.0", - "plugins/source/github": "2.1.0", + "plugins/source/github": "2.1.1", "plugins/source/github+FILLER": "0.0.0", "plugins/source/heroku": "3.1.5", "plugins/source/heroku+FILLER": "0.0.0", diff --git a/plugins/source/github/CHANGELOG.md b/plugins/source/github/CHANGELOG.md index 2e31da6c4f2c2a..b230bf3f020db9 100644 --- a/plugins/source/github/CHANGELOG.md +++ b/plugins/source/github/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v2.1.0...plugins-source-github-v2.1.1) (2023-01-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) +* **github:** Fix panic in workflow fetching ([#6693](https://github.com/cloudquery/cloudquery/issues/6693)) ([a582f0b](https://github.com/cloudquery/cloudquery/commit/a582f0b76bb28be4ca6a9448fcf452d7408b12fd)) + ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v2.0.0...plugins-source-github-v2.1.0) (2023-01-10) From 90ca3444e3c61bbf6f578abd29a5829f10858ecb Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Thu, 12 Jan 2023 16:29:28 +0000 Subject: [PATCH 116/186] chore(aws): Update contribution docs and restore service interface automation (#6756) This updates the contribution docs for AWS. This also restores the service interface automation that was there before, but now it uses the `cloudquery/codegen` library (so less code in AWS) and is run as part of `make gen-mocks`. This makes it much easier to add new services. --- plugins/source/aws/CONTRIBUTING.md | 96 ++----- plugins/source/aws/Makefile | 4 +- .../source/aws/client/services/s3manager.go | 1 + .../aws/client/services/savingsplans.go | 1 - plugins/source/aws/codegen/main.go | 236 ++++++++++++++++++ plugins/source/aws/go.mod | 1 + plugins/source/aws/go.sum | 2 + 7 files changed, 261 insertions(+), 80 deletions(-) create mode 100644 plugins/source/aws/codegen/main.go diff --git a/plugins/source/aws/CONTRIBUTING.md b/plugins/source/aws/CONTRIBUTING.md index 86946e69f729d0..74b485162a452e 100644 --- a/plugins/source/aws/CONTRIBUTING.md +++ b/plugins/source/aws/CONTRIBUTING.md @@ -4,108 +4,48 @@ Thanks for contributing to CloudQuery! You are awesome. This document serves as There are three main steps to adding a new AWS resource: -1. [Generate interfaces for the AWS SDK function(s) that fetch the resource](#1-generate-interfaces-for-the-aws-sdk-functions-that-fetch-the-resource) -2. [Add a code generation recipe](#2-add-a-code-generation-recipe) -3. [Write the resolver function to fetch the resource using the AWS SDK](#3-setting-up-the-resource) +1. [Generate interfaces for the AWS SDK function(s) that fetch the resource](#step-1-generate-interfaces-for-the-aws-sdk-functions-that-fetch-the-resource) +2. [Add a new table](#step-2-add-a-new-table) As a prerequisite, in [aws-sdk-go-v2](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2) ensure API calls exist to list/describe the desired resource, and make note of: - to which aws service the resource belongs - the schema of the returned object(s) -## 1. Generate Interfaces for the AWS SDK Function(s) that Fetch the Resource +## Step 1. Generate Interfaces for the AWS SDK Function(s) that Fetch the Resource -### Before you Start - -Inside the root of this repository, run: - -```shell -make install-tools -``` - -This will install `mockgen` and any other tools necessary to complete the process. - -### Generate the Service Interface +### Generate the Service Interface (if it doesn't exist) 1. Check in [client/services.go](client/services.go) that the service you need has an interface defined. If it does, you can skip to [2. Add a Code Generation Recipe](#2-add-a-code-generation-recipe). If not, read on to learn how to generate the interface. 2. Inside [codegen/services/clients.go](codegen/services/clients.go), add the client for the AWS SDK you need to the `clients` slice. You may need to run `go get github.com/aws/aws-sdk-go-v2/service/` (e.g. `go get github.com/aws/aws-sdk-go-v2/service/dynamodb`) to add the dependency first. -3. Run `make gen-mocks`. This should add the interface for your client to [client/services.go](client/services.go) and create a mock for it that will be used in unit tests later. - -## 2. Add a Code Generation Recipe - -Every supported AWS service has a recipe file under [codegen/recipes](codegen/recipes). For example, all ECS resources are listed in [codegen/recipes/ecs.go](codegen/recipes/ecs.go). - -In the following examples, we will use the fictional `MyService` AWS service with `MyResource` resource as an example. We recommend taking a look at a few examples in [codegen/recipes](codegen/recipes) first, as these steps will make more sense with some examples to reference. - -If you are adding a service that needs a new recipe, see [Add a New Recipe File](#add-a-new-recipe-file). Otherwise, if the AWS service is already supported but is missing resource(s), you may skip to [Add a Resource to a Recipe](#add-a-resource-to-a-recipe). - -### Add a New Recipe File - -The process to follow for adding a new recipe is: - -1. Add a new file under [codegen/recipes](codegen/recipes) called `myservice.go`. -2. Inside the new file, add a function called `MyServiceResources()` that returns `[]*Resource`. -3. Call the function from [codegen/main.go](codegen/main.go) by adding - `resources = append(resources, recipes.MyServiceResources()...)` -4. Define the list of resources to be generated and return it inside this function. See - [Add a Resource to a Recipe](#add-a-resource-to-a-recipe) for more details. - -### Add a Resource to a Recipe - -`MyServiceResources()` should return a slice of `*Resource` instances. Each resource should, at a minimum, have the following fields defined: - - 1. `Service`: This will become the table prefix, and will usually be the same as the filename you chose for the recipe. - 2. `SubService`: This will be the final part of the table name, e.g. `aws_myservice_subservice` - 3. `Multiplex`: Most AWS services have resources defined per account and region. In such cases, `client.ServiceAccountRegionMultiplexer("my-service")` is usually the correct multiplexer to use. Look in [client/data/partition_service_region.json](client/data/partition_service_region.json) for the correct service name to use. - 4. `Struct`: This should be a pointer to the struct that will be synced to the destination. CloudQuery's plugin-sdk code generation will read the fields of this struct and convert it to a `Table` instance with appropriate column types. - - Deciding which struct to use takes some practice. To find the right struct, explore the return types of the SDK functions provided by the [AWS Go SDK](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2) (and that you created interface functions for in Step 1). Often there will be a `Get` or `Describe` call that returns a `GetResourceOutput` (or similar) struct. Sometimes this Output struct can be used directly. Other times, the Output struct will reference an inner type, which should then be used for defining the Resource. - -#### All Available Resource Fields - -All available Resource fields can be seen in [base.go](codegen/recipes/base.go). These closely map to the `Table` fields [defined by the plugin-sdk](https://github.com/cloudquery/plugin-sdk/blob/main/schema/table.go), which you may use as a further reference about what each field does. - -#### Common Fields - -If all the resources share the same value for a field (as is often the case for `Service` and `Multiplex`), our convention is to reduce boilerplate by setting these properties in a loop after defining the resources slice, e.g. - -```go -// set default values -for _, r := range resources { - r.Service = "myservice" - r.Multiplex = `client.ServiceAccountRegionMultiplexer("my-service")` -} -``` - -### Run Code Generation - -With the recipe file added and some resources defined, you are ready to run code generation. Run: - -```shell -make gen-code -``` - -This will update all resources and generate a new directory for your service under [resources/services](resources/services). +3. Run `make gen-mocks`. This takes a few seconds, but it should add the interface for your client to [client/services.go](client/services.go) and create a mock for it that will be used in unit tests later. -## 3. Setting up the resource +### Step 2. Add a New Table -By following the steps outlined above, you should now have generated a `myservice` directory under `resources/services`, containing a file called `myresource.go` (these names are examples, your actual filenames will differ). We will now set up the resource. This involves two steps: refining the `codegen` recipe, and writing one or more resolver functions. +The process to follow for adding a new table is: -1. Open the generated `myservice/myresource.go` and inspect the `schema.Table` that is being returned. Does it contain the appropriate columns for the resource? Does it have a primary key? If something looks off, return to the recipe for this resource (under [codegen/recipes](codegen/recipes)) and make adjustments. Then re-run code generation as described in [Run Code Generation](#run-code-generation). Repeat this process until the Table looks right. -2. Your generated `Table` will reference a `Resolver` function that needs to be implemented. The generated file should never be edited directly, so create a new file called `myresource_fetch.go` and add a resolver function with the following signature: +1. Add a new directory matching the AWS service name under [resources/services](resources/services) (e.g. `resources/services/newservice`), if one doesn't exist already +2. Create a new file under the new directory with the name of the resource (e.g. `resources/services/newservice/myresource.go`) and add a function that returns `*schema.Table`. The easiest is to copy-paste an existing table as a starting point ([`Kinesis`](resources/services/kinesis/kinesis.go) is a good example). +3. **Important**: Add a call to the new function to the list of tables in [tables.go](resources/plugin/tables.go). Otherwise, the new table will not be included in the plugin. +4. Update all the fields, taking special care to ensure that the `transformers.TransformWithStruct()` call in the `Resolver` function has the correct struct type (e.g. `transformers.TransformWithStruct(&types.MyResource{})`) +5. Implement the resolver function. This should have the signature: ```go func fetchMyResource(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- interface{}) error { // TODO: implement this } ``` + + The easiest is to copy-paste an existing resolver as a starting point. (Again, [`Kinesis`](resources/services/kinesis/streams_fetch.go) is a good example.) + You may use a type assertion on `meta` to obtain a reference to your interface functions, e.g.: ```go svc := meta.(*client.Client).Services().MyService ``` + With this in hand, complete the resolver function to fetch all resources. After resources are retrieved, send them to the `res` channel for the SDK to deliver to all destinations. -3. Implement a mock test in `myresource_mock_test.go`. We will not describe this in detail here; look at a few examples for similar resources to get you started. +6. Implement a mock test in `myresource_mock_test.go`. We will not describe this in detail here; look at a few examples for similar resources to get you started. -We recommend looking at other resources similar to yours to get an idea of what needs to be done in this step. +We highly recommend looking at other resources similar to yours to get an idea of what needs to be done in each step. ### Implementing Resolver Functions diff --git a/plugins/source/aws/Makefile b/plugins/source/aws/Makefile index 39b698269a9f68..926969b0ff75b3 100644 --- a/plugins/source/aws/Makefile +++ b/plugins/source/aws/Makefile @@ -16,7 +16,9 @@ lint: .PHONY: gen-mocks gen-mocks: go install github.com/golang/mock/mockgen@v1.6.0 - rm -rf ./client/mocks/* + grep -rl '// Code generated by codegen; DO NOT EDIT.' ./client/services/* | xargs rm + go run codegen/main.go + grep -rl '// Code generated by MockGen. DO NOT EDIT.' ./client/mocks/* | xargs rm go generate ./client/... .PHONY: gen-docs diff --git a/plugins/source/aws/client/services/s3manager.go b/plugins/source/aws/client/services/s3manager.go index 2d0bd1c74c69de..90b3641b6fd150 100644 --- a/plugins/source/aws/client/services/s3manager.go +++ b/plugins/source/aws/client/services/s3manager.go @@ -2,6 +2,7 @@ package services import ( "context" + "github.com/aws/aws-sdk-go-v2/service/s3" ) diff --git a/plugins/source/aws/client/services/savingsplans.go b/plugins/source/aws/client/services/savingsplans.go index 9917b621fdad18..0ca6d37b66ecde 100644 --- a/plugins/source/aws/client/services/savingsplans.go +++ b/plugins/source/aws/client/services/savingsplans.go @@ -3,7 +3,6 @@ package services import ( "context" - "github.com/aws/aws-sdk-go-v2/service/savingsplans" ) diff --git a/plugins/source/aws/codegen/main.go b/plugins/source/aws/codegen/main.go new file mode 100644 index 00000000000000..25e2c61605b233 --- /dev/null +++ b/plugins/source/aws/codegen/main.go @@ -0,0 +1,236 @@ +package main + +import ( + "path" + "reflect" + "runtime" + + "github.com/aws/aws-sdk-go-v2/service/accessanalyzer" + "github.com/aws/aws-sdk-go-v2/service/account" + "github.com/aws/aws-sdk-go-v2/service/acm" + "github.com/aws/aws-sdk-go-v2/service/amp" + "github.com/aws/aws-sdk-go-v2/service/apigateway" + "github.com/aws/aws-sdk-go-v2/service/apigatewayv2" + "github.com/aws/aws-sdk-go-v2/service/applicationautoscaling" + "github.com/aws/aws-sdk-go-v2/service/apprunner" + "github.com/aws/aws-sdk-go-v2/service/appstream" + "github.com/aws/aws-sdk-go-v2/service/appsync" + "github.com/aws/aws-sdk-go-v2/service/athena" + "github.com/aws/aws-sdk-go-v2/service/autoscaling" + "github.com/aws/aws-sdk-go-v2/service/backup" + "github.com/aws/aws-sdk-go-v2/service/cloudformation" + "github.com/aws/aws-sdk-go-v2/service/cloudfront" + "github.com/aws/aws-sdk-go-v2/service/cloudhsmv2" + "github.com/aws/aws-sdk-go-v2/service/cloudtrail" + "github.com/aws/aws-sdk-go-v2/service/cloudwatch" + "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs" + "github.com/aws/aws-sdk-go-v2/service/codebuild" + "github.com/aws/aws-sdk-go-v2/service/codepipeline" + "github.com/aws/aws-sdk-go-v2/service/cognitoidentity" + "github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider" + "github.com/aws/aws-sdk-go-v2/service/configservice" + "github.com/aws/aws-sdk-go-v2/service/databasemigrationservice" + "github.com/aws/aws-sdk-go-v2/service/dax" + "github.com/aws/aws-sdk-go-v2/service/directconnect" + "github.com/aws/aws-sdk-go-v2/service/docdb" + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + "github.com/aws/aws-sdk-go-v2/service/ec2" + "github.com/aws/aws-sdk-go-v2/service/ecr" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic" + "github.com/aws/aws-sdk-go-v2/service/ecs" + "github.com/aws/aws-sdk-go-v2/service/efs" + "github.com/aws/aws-sdk-go-v2/service/eks" + "github.com/aws/aws-sdk-go-v2/service/elasticache" + "github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk" + "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing" + "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2" + "github.com/aws/aws-sdk-go-v2/service/elasticsearchservice" + "github.com/aws/aws-sdk-go-v2/service/elastictranscoder" + "github.com/aws/aws-sdk-go-v2/service/emr" + "github.com/aws/aws-sdk-go-v2/service/eventbridge" + "github.com/aws/aws-sdk-go-v2/service/firehose" + "github.com/aws/aws-sdk-go-v2/service/frauddetector" + "github.com/aws/aws-sdk-go-v2/service/fsx" + "github.com/aws/aws-sdk-go-v2/service/glacier" + "github.com/aws/aws-sdk-go-v2/service/glue" + "github.com/aws/aws-sdk-go-v2/service/guardduty" + "github.com/aws/aws-sdk-go-v2/service/iam" + "github.com/aws/aws-sdk-go-v2/service/identitystore" + "github.com/aws/aws-sdk-go-v2/service/inspector" + "github.com/aws/aws-sdk-go-v2/service/inspector2" + "github.com/aws/aws-sdk-go-v2/service/iot" + "github.com/aws/aws-sdk-go-v2/service/kafka" + "github.com/aws/aws-sdk-go-v2/service/kinesis" + "github.com/aws/aws-sdk-go-v2/service/kms" + "github.com/aws/aws-sdk-go-v2/service/lambda" + "github.com/aws/aws-sdk-go-v2/service/lightsail" + "github.com/aws/aws-sdk-go-v2/service/mq" + "github.com/aws/aws-sdk-go-v2/service/mwaa" + "github.com/aws/aws-sdk-go-v2/service/neptune" + "github.com/aws/aws-sdk-go-v2/service/organizations" + "github.com/aws/aws-sdk-go-v2/service/qldb" + "github.com/aws/aws-sdk-go-v2/service/quicksight" + "github.com/aws/aws-sdk-go-v2/service/ram" + "github.com/aws/aws-sdk-go-v2/service/rds" + "github.com/aws/aws-sdk-go-v2/service/redshift" + "github.com/aws/aws-sdk-go-v2/service/resourcegroups" + "github.com/aws/aws-sdk-go-v2/service/route53" + "github.com/aws/aws-sdk-go-v2/service/route53domains" + "github.com/aws/aws-sdk-go-v2/service/s3" + "github.com/aws/aws-sdk-go-v2/service/s3control" + "github.com/aws/aws-sdk-go-v2/service/sagemaker" + "github.com/aws/aws-sdk-go-v2/service/savingsplans" + "github.com/aws/aws-sdk-go-v2/service/scheduler" + "github.com/aws/aws-sdk-go-v2/service/secretsmanager" + "github.com/aws/aws-sdk-go-v2/service/servicecatalog" + "github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry" + "github.com/aws/aws-sdk-go-v2/service/servicequotas" + "github.com/aws/aws-sdk-go-v2/service/ses" + "github.com/aws/aws-sdk-go-v2/service/sesv2" + "github.com/aws/aws-sdk-go-v2/service/sfn" + "github.com/aws/aws-sdk-go-v2/service/shield" + "github.com/aws/aws-sdk-go-v2/service/sns" + "github.com/aws/aws-sdk-go-v2/service/sqs" + "github.com/aws/aws-sdk-go-v2/service/ssm" + "github.com/aws/aws-sdk-go-v2/service/ssoadmin" + "github.com/aws/aws-sdk-go-v2/service/timestreamwrite" + "github.com/aws/aws-sdk-go-v2/service/transfer" + "github.com/aws/aws-sdk-go-v2/service/waf" + "github.com/aws/aws-sdk-go-v2/service/wafregional" + "github.com/aws/aws-sdk-go-v2/service/wafv2" + "github.com/aws/aws-sdk-go-v2/service/workspaces" + "github.com/aws/aws-sdk-go-v2/service/xray" + "github.com/cloudquery/codegen/interfaces" + "github.com/thoas/go-funk" +) + +var clients = []any{ + &accessanalyzer.Client{}, + &account.Client{}, + &acm.Client{}, + &.Client{}, + &apigateway.Client{}, + &apigatewayv2.Client{}, + &applicationautoscaling.Client{}, + &apprunner.Client{}, + &appstream.Client{}, + &appsync.Client{}, + &athena.Client{}, + &autoscaling.Client{}, + &backup.Client{}, + &cloudformation.Client{}, + &cloudfront.Client{}, + &cloudhsmv2.Client{}, + &cloudtrail.Client{}, + &cloudwatch.Client{}, + &cloudwatchlogs.Client{}, + &codebuild.Client{}, + &codepipeline.Client{}, + &cognitoidentity.Client{}, + &cognitoidentityprovider.Client{}, + &configservice.Client{}, + &databasemigrationservice.Client{}, + &dax.Client{}, + &directconnect.Client{}, + &docdb.Client{}, + &dynamodb.Client{}, + &ec2.Client{}, + &ecr.Client{}, + &ecrpublic.Client{}, + &ecs.Client{}, + &efs.Client{}, + &eks.Client{}, + &elasticache.Client{}, + &elasticbeanstalk.Client{}, + &elasticloadbalancing.Client{}, + &elasticloadbalancingv2.Client{}, + &elasticsearchservice.Client{}, + &elastictranscoder.Client{}, + &emr.Client{}, + &eventbridge.Client{}, + &firehose.Client{}, + &frauddetector.Client{}, + &fsx.Client{}, + &glacier.Client{}, + &glue.Client{}, + &guardduty.Client{}, + &iam.Client{}, + &identitystore.Client{}, + &inspector.Client{}, + &inspector2.Client{}, + &iot.Client{}, + &kafka.Client{}, + &kinesis.Client{}, + &kms.Client{}, + &lambda.Client{}, + &lightsail.Client{}, + &mq.Client{}, + &mwaa.Client{}, + &neptune.Client{}, + &organizations.Client{}, + &qldb.Client{}, + &quicksight.Client{}, + &ram.Client{}, + &rds.Client{}, + &redshift.Client{}, + &resourcegroups.Client{}, + &route53.Client{}, + &route53domains.Client{}, + &s3.Client{}, + &s3control.Client{}, + &sagemaker.Client{}, + &savingsplans.Client{}, + &scheduler.Client{}, + &secretsmanager.Client{}, + &servicecatalog.Client{}, + &servicecatalogappregistry.Client{}, + &servicequotas.Client{}, + &ses.Client{}, + &sesv2.Client{}, + &sfn.Client{}, + &shield.Client{}, + &sns.Client{}, + &sqs.Client{}, + &ssm.Client{}, + &ssoadmin.Client{}, + ×treamwrite.Client{}, + &transfer.Client{}, + &waf.Client{}, + &wafregional.Client{}, + &wafv2.Client{}, + &workspaces.Client{}, + &xray.Client{}, +} + +// Generate the service interfaces under in client/services for use with mockgen. +func main() { + _, filename, _, ok := runtime.Caller(0) + if !ok { + panic("failed to get caller information") + } + err := interfaces.Generate( + clients, + path.Join(path.Dir(filename), "../client/services"), + interfaces.WithIncludeFunc(include), + interfaces.WithExtraImports(extraImports), + ) + if err != nil { + panic(err) + } +} + +func include(m reflect.Method) bool { + // these methods will be included despite not starting with an accepted prefix + var exceptions = []string{ + "QuerySchemaVersionMetadata", + "GenerateCredentialReport", + } + if funk.ContainsString(exceptions, m.Name) { + return true + } + return interfaces.MethodHasAnyPrefix(m, []string{"List", "Get", "Describe", "Search", "BatchGet"}) +} + +func extraImports(_ reflect.Method) []string { + return []string{"context"} +} diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index ce69b821d66340..1b9713234f9256 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -99,6 +99,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.15.3 github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 + github.com/cloudquery/codegen v0.2.0 github.com/cloudquery/plugin-sdk v1.25.0 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index fd8d1808394e4e..5cfc03200d421f 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -272,6 +272,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= +github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= From 01cb5911564c6bd83416143264f8cc5f3037daa4 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:30:42 +0200 Subject: [PATCH 117/186] fix(deps): Update module github.com/cloudquery/codegen to v0.2.1 (#6766) 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/codegen](https://togithub.com/cloudquery/codegen) | require | patch | `v0.2.0` -> `v0.2.1` | --- ### Release Notes
cloudquery/codegen ### [`v0.2.1`](https://togithub.com/cloudquery/codegen/releases/tag/v0.2.1) [Compare Source](https://togithub.com/cloudquery/codegen/compare/v0.2.0...v0.2.1) Fixes a bug in the default value of `ExtraImports` **Full Changelog**: https://github.com/cloudquery/codegen/compare/v0.2.0...v0.2.1
--- ### 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/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index 1d9983ca93ba25..49877ec828ae42 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/fastly go 1.19 require ( - github.com/cloudquery/codegen v0.2.0 + github.com/cloudquery/codegen v0.2.1 github.com/cloudquery/plugin-sdk v1.25.0 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index 86429158a16327..aa0e60075b12d5 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= -github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= +github.com/cloudquery/codegen v0.2.1 h1:AWpGNKIFUyzI7vulYADXi/3SoksUaNXgTgIMuSrTHZk= +github.com/cloudquery/codegen v0.2.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= From 33df29d3254cf083484de33957101d551a420ae9 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:31:40 +0200 Subject: [PATCH 118/186] chore: Update plugin `source-github` version to v2.1.1 (#6767) Updates the `source-github` plugin latest version to v2.1.1 --- website/versions/source-github.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-github.json b/website/versions/source-github.json index f2676592f06002..945c24b9e7439b 100644 --- a/website/versions/source-github.json +++ b/website/versions/source-github.json @@ -1 +1 @@ -{ "latest": "plugins-source-github-v2.1.0" } +{ "latest": "plugins-source-github-v2.1.1" } From c03e4c14f255090b4181ccb04dca3853a6357ee7 Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Thu, 12 Jan 2023 16:36:12 +0000 Subject: [PATCH 119/186] feat(vercel): Auto retry throttled requests (#6762) --- plugins/source/vercel/client/client.go | 24 ++++-- plugins/source/vercel/client/spec.go | 3 + plugins/source/vercel/client/testing.go | 2 +- .../source/vercel/internal/vercel/vercel.go | 81 +++++++++++++------ .../plugins/sources/vercel/configuration.md | 9 +++ 5 files changed, 88 insertions(+), 31 deletions(-) diff --git a/plugins/source/vercel/client/client.go b/plugins/source/vercel/client/client.go index 816dec80654117..068d6210cfc382 100644 --- a/plugins/source/vercel/client/client.go +++ b/plugins/source/vercel/client/client.go @@ -64,7 +64,7 @@ func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ... return nil, fmt.Errorf("failed to unmarshal vercel spec: %w", err) } - services, err := getServiceClient(veSpec, "") + services, err := getServiceClient(logger.With().Str("source", "stripe-client").Logger(), veSpec, "") if err != nil { return nil, err } @@ -79,7 +79,7 @@ func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ... return &cl, nil } -func getServiceClient(spec *Spec, teamID string) (*vercel.Client, error) { +func getServiceClient(logger zerolog.Logger, spec *Spec, teamID string) (*vercel.Client, error) { if spec.AccessToken == "" { return nil, errors.New("no access token provided") } @@ -89,13 +89,27 @@ func getServiceClient(spec *Spec, teamID string) (*vercel.Client, error) { if spec.Timeout < 1 { spec.Timeout = 5 } + if spec.PageSize < 1 { + spec.PageSize = 100 + } + if spec.MaxRetries < 1 { + spec.MaxRetries = 10 + } + if spec.MaxWait < 1 { + spec.MaxWait = 300 + } - return vercel.New(&http.Client{ - Timeout: time.Duration(spec.Timeout) * time.Second, - }, + return vercel.New( + logger, + &http.Client{ + Timeout: time.Duration(spec.Timeout) * time.Second, + }, spec.EndpointURL, spec.AccessToken, teamID, + spec.MaxRetries, + spec.MaxWait, + spec.PageSize, ), nil } diff --git a/plugins/source/vercel/client/spec.go b/plugins/source/vercel/client/spec.go index d33b44e5373e0b..7abed0877968af 100644 --- a/plugins/source/vercel/client/spec.go +++ b/plugins/source/vercel/client/spec.go @@ -6,4 +6,7 @@ type Spec struct { EndpointURL string `json:"endpoint_url,omitempty"` Timeout int64 `json:"timeout_secs,omitempty"` + PageSize int64 `json:"page_size,omitempty"` + MaxRetries int64 `json:"max_retries,omitempty"` + MaxWait int64 `json:"max_wait_secs,omitempty"` } diff --git a/plugins/source/vercel/client/testing.go b/plugins/source/vercel/client/testing.go index ac9a19fd4b6128..8745f7b8a1ff4e 100644 --- a/plugins/source/vercel/client/testing.go +++ b/plugins/source/vercel/client/testing.go @@ -83,7 +83,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. return nil, err } - services := vercel.New(mockClient, h.URL, testToken, veSpec.TeamIDs[0]) + services := vercel.New(logger.With().Str("source", "stripe-client").Logger(), mockClient, h.URL, testToken, veSpec.TeamIDs[0], 5, 10, 100) c := New(logger, spec, veSpec, services, veSpec.TeamIDs) return &c, nil diff --git a/plugins/source/vercel/internal/vercel/vercel.go b/plugins/source/vercel/internal/vercel/vercel.go index af30ed7c09a3d3..6df837d3f24d1a 100644 --- a/plugins/source/vercel/internal/vercel/vercel.go +++ b/plugins/source/vercel/internal/vercel/vercel.go @@ -9,13 +9,20 @@ import ( "net/url" "strconv" "time" + + "github.com/rs/zerolog" ) type Client struct { + logger zerolog.Logger hc HTTPDoer baseURL string token string teamID string + + maxRetries int64 + maxWait int64 // in seconds + pageSize int64 } type Paginator struct { @@ -28,12 +35,17 @@ type HTTPDoer interface { Do(req *http.Request) (*http.Response, error) } -func New(hc HTTPDoer, baseURL, token, teamID string) *Client { +func New(logger zerolog.Logger, hc HTTPDoer, baseURL, token, teamID string, maxRetries, maxWait, pageSize int64) *Client { return &Client{ + logger: logger, hc: hc, baseURL: baseURL, token: token, teamID: teamID, + + maxRetries: maxRetries, + maxWait: maxWait, + pageSize: pageSize, } } @@ -59,7 +71,7 @@ func (v *Client) Request(ctx context.Context, path string, until *int64, fill an func (v *Client) request(ctx context.Context, path string, until *int64) (io.ReadCloser, error) { u := v.baseURL + path uv := url.Values{} - uv.Set("limit", "100") // Maximum limit + uv.Set("limit", strconv.FormatInt(v.pageSize, 10)) if until != nil { uv.Set("until", strconv.FormatInt(*until, 10)) } @@ -67,35 +79,54 @@ func (v *Client) request(ctx context.Context, path string, until *int64) (io.Rea uv.Set("teamId", v.teamID) } - req, err := http.NewRequestWithContext(ctx, http.MethodGet, u+"?"+uv.Encode(), nil) - if err != nil { - return nil, err - } - req.Header.Set("Content-Type", "application/json") - req.Header.Set("Authorization", "Bearer "+v.token) - res, err := v.hc.Do(req) - if err != nil { - return nil, err - } + retries := int64(0) + for { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, u+"?"+uv.Encode(), nil) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+v.token) + res, err := v.hc.Do(req) + if err != nil { + return nil, err + } - if res.StatusCode != http.StatusOK { - defer res.Body.Close() + if res.StatusCode == http.StatusOK { + return res.Body, nil + } - if res.StatusCode == http.StatusTooManyRequests { - val := res.Header.Get("X-Ratelimit-Reset") - if val != "" { - t, err := strconv.ParseInt(val, 10, 64) - if err == nil && t > 0 { - ts := time.Unix(t, 0) - val = ts.Format(time.RFC3339) + fmt.Sprintf(" (in %s)", time.Until(ts).Round(time.Second)) - } + _ = res.Body.Close() + retries++ + if retries > v.maxRetries { + break + } - return nil, fmt.Errorf("request to %s failed: %s. Rate limit will reset at: %s", path, res.Status, val) + val := res.Header.Get("X-Ratelimit-Reset") + rateErr := fmt.Errorf("request to %s failed: %s", path, res.Status) + if val == "" || res.StatusCode != http.StatusTooManyRequests { + return nil, rateErr + } + + t, err := strconv.ParseInt(val, 10, 64) + if err == nil && t > 0 { + ts := time.Unix(t, 0) + secsLeft := time.Until(ts).Round(time.Second) + if secsLeft > 0 && secsLeft < time.Duration(v.maxWait)*time.Second { + v.logger.Info().Dur("wait", secsLeft).Msg("waiting for rate limit reset") + select { + case <-ctx.Done(): + return nil, rateErr + case <-time.After(secsLeft): + } + continue // next retry } + + val = ts.Format(time.RFC3339) + fmt.Sprintf(" (in %s)", secsLeft) } - return nil, fmt.Errorf("request to %s failed: %s", path, res.Status) + return nil, fmt.Errorf("request to %s failed: %s. Rate limit will reset at: %s", path, res.Status, val) } - return res.Body, nil + return nil, fmt.Errorf("exceeded max retries") } diff --git a/website/pages/docs/plugins/sources/vercel/configuration.md b/website/pages/docs/plugins/sources/vercel/configuration.md index 88fba58964a9a2..f3de9ebb5e566d 100644 --- a/website/pages/docs/plugins/sources/vercel/configuration.md +++ b/website/pages/docs/plugins/sources/vercel/configuration.md @@ -40,3 +40,12 @@ This is the (nested) spec used by the Vercel source plugin: - `timeout_secs` (integer in seconds, optional. Default: 5): Timeout for requests against the Vercel REST API. + +- `max_retries` (integer in seconds, optional. Default: 10): + Maximum number of retries for requests against the Vercel REST API. + +- `max_wait_secs` (integer in seconds, optional. Default: 300): + Maximum wait time between rate limited API requests. The plugin waits until the rate limit resets. If there's a need to wait longer than this time, the request will fail. + +- `page_size` (integer, optional. Default: 100): + Number of items to request in each API call. This is a tradeoff between the number of API calls and the number of items per API call, which might take too long. The maximum allowed value is 100. From 93a6ac70a1ee93d9d3b67a03e3761554fad81e8c Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:53:19 +0200 Subject: [PATCH 120/186] chore: Update plugin `source-aws` version to v11.0.0 (#6768) Updates the `source-aws` plugin latest version to v11.0.0 --- website/versions/source-aws.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-aws.json b/website/versions/source-aws.json index 886503bf9363a6..1df631c0c81a96 100644 --- a/website/versions/source-aws.json +++ b/website/versions/source-aws.json @@ -1 +1 @@ -{ "latest": "plugins-source-aws-v10.1.0" } +{ "latest": "plugins-source-aws-v11.0.0" } From 2cf0451476faaaa014fa723be0e9732cb51d21da Mon Sep 17 00:00:00 2001 From: candiduslynx Date: Thu, 12 Jan 2023 21:18:10 +0200 Subject: [PATCH 121/186] fix(aws): Correctly fill in `grantee_id` column to `aws_s3_bucket_grants` (#6772) * Add `grantee_type` column to `aws_s3_bucket_grants` * Correctly fill in `grantee_id` column to `aws_s3_bucket_grants` based on `grantee_type` --- .../source/aws/docs/tables/aws_s3_bucket_grants.md | 3 ++- .../aws/resources/services/s3/bucket_grants.go | 8 +++++++- .../aws/resources/services/s3/buckets_fetch.go | 13 +++++++++++++ .../aws/resources/services/s3/buckets_mock_test.go | 5 +++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md b/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md index 9edf2a977c2de2..42bce16948c256 100644 --- a/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md +++ b/plugins/source/aws/docs/tables/aws_s3_bucket_grants.md @@ -2,7 +2,7 @@ https://docs.aws.amazon.com/AmazonS3/latest/API/API_Grant.html -The composite primary key for this table is (**bucket_arn**, **grantee_id**). +The composite primary key for this table is (**bucket_arn**, **grantee_type**, **grantee_id**). ## Relations @@ -18,6 +18,7 @@ This table depends on [aws_s3_buckets](aws_s3_buckets.md). |_cq_parent_id|UUID| |account_id|String| |bucket_arn (PK)|String| +|grantee_type (PK)|String| |grantee_id (PK)|String| |grantee|JSON| |permission|String| \ No newline at end of file diff --git a/plugins/source/aws/resources/services/s3/bucket_grants.go b/plugins/source/aws/resources/services/s3/bucket_grants.go index d1eece31c54dbb..0146050e22f3b5 100644 --- a/plugins/source/aws/resources/services/s3/bucket_grants.go +++ b/plugins/source/aws/resources/services/s3/bucket_grants.go @@ -25,10 +25,16 @@ func BucketGrants() *schema.Table { Resolver: schema.ParentColumnResolver("arn"), CreationOptions: schema.ColumnCreationOptions{PrimaryKey: true}, }, + { + Name: "grantee_type", + Type: schema.TypeString, + Resolver: schema.PathResolver("Grantee.Type"), + CreationOptions: schema.ColumnCreationOptions{PrimaryKey: true}, + }, { Name: "grantee_id", Type: schema.TypeString, - Resolver: schema.PathResolver("Grantee.ID"), + Resolver: resolveBucketGranteeID, CreationOptions: schema.ColumnCreationOptions{PrimaryKey: true}, }, }, diff --git a/plugins/source/aws/resources/services/s3/buckets_fetch.go b/plugins/source/aws/resources/services/s3/buckets_fetch.go index 31d0115228ca42..840785418593bb 100644 --- a/plugins/source/aws/resources/services/s3/buckets_fetch.go +++ b/plugins/source/aws/resources/services/s3/buckets_fetch.go @@ -152,6 +152,19 @@ func fetchS3BucketGrants(ctx context.Context, meta schema.ClientMeta, parent *sc res <- aclOutput.Grants return nil } +func resolveBucketGranteeID(_ context.Context, _ schema.ClientMeta, resource *schema.Resource, c schema.Column) error { + grantee := resource.Item.(types.Grant).Grantee + switch grantee.Type { + case types.TypeCanonicalUser: + return resource.Set(c.Name, *grantee.ID) + case types.TypeAmazonCustomerByEmail: + return resource.Set(c.Name, *grantee.EmailAddress) + case types.TypeGroup: + return resource.Set(c.Name, *grantee.URI) + default: + return fmt.Errorf("unsupported grantee type %q", grantee.Type) + } +} func fetchS3BucketCorsRules(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { r := parent.Item.(*models.WrappedBucket) c := meta.(*client.Client) diff --git a/plugins/source/aws/resources/services/s3/buckets_mock_test.go b/plugins/source/aws/resources/services/s3/buckets_mock_test.go index d0ef711ba3d3b6..d3bb6a5bacec31 100644 --- a/plugins/source/aws/resources/services/s3/buckets_mock_test.go +++ b/plugins/source/aws/resources/services/s3/buckets_mock_test.go @@ -46,6 +46,11 @@ func buildS3Buckets(t *testing.T, ctrl *gomock.Controller) client.Services { if err != nil { t.Fatal(err) } + // set up properly + bgrant.Grantee.EmailAddress = nil + bgrant.Grantee.ID = nil + bgrant.Grantee.Type = s3Types.TypeGroup + bcors := s3Types.CORSRule{} err = faker.FakeObject(&bcors) if err != nil { From 0523a1a0e2b7ccd01a5222f58bbc484cf6968ca4 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 22:00:17 +0200 Subject: [PATCH 122/186] fix: Update endpoints (#6774) This PR was created by a scheduled workflow to sync endpoint changes --- .../client/data/partition_service_region.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/plugins/source/aws/client/data/partition_service_region.json b/plugins/source/aws/client/data/partition_service_region.json index ae168fbf0e490f..8e8a3643290d44 100644 --- a/plugins/source/aws/client/data/partition_service_region.json +++ b/plugins/source/aws/client/data/partition_service_region.json @@ -974,6 +974,21 @@ "aws-global": {} } }, + "cleanrooms": { + "regions": { + "ap-northeast-1": {}, + "ap-northeast-2": {}, + "ap-southeast-1": {}, + "ap-southeast-2": {}, + "eu-central-1": {}, + "eu-north-1": {}, + "eu-west-1": {}, + "eu-west-2": {}, + "us-east-1": {}, + "us-east-2": {}, + "us-west-2": {} + } + }, "cloud9": { "regions": { "af-south-1": {}, @@ -6137,12 +6152,14 @@ "fips-eu-west-1": {}, "fips-eu-west-2": {}, "fips-eu-west-3": {}, + "fips-me-central-1": {}, "fips-me-south-1": {}, "fips-sa-east-1": {}, "fips-us-east-1": {}, "fips-us-east-2": {}, "fips-us-west-1": {}, "fips-us-west-2": {}, + "me-central-1": {}, "me-south-1": {}, "sa-east-1": {}, "us-east-1": {}, @@ -6185,12 +6202,14 @@ "fips-eu-west-1": {}, "fips-eu-west-2": {}, "fips-eu-west-3": {}, + "fips-me-central-1": {}, "fips-me-south-1": {}, "fips-sa-east-1": {}, "fips-us-east-1": {}, "fips-us-east-2": {}, "fips-us-west-1": {}, "fips-us-west-2": {}, + "me-central-1": {}, "me-south-1": {}, "sa-east-1": {}, "us-east-1": {}, From 0ad499285405bf6143bad2409c93e3fde6b496bb Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 22:25:54 +0200 Subject: [PATCH 123/186] chore(main): Release plugins-source-aws v11.0.1 (#6773) :robot: I have created a release *beep* *boop* --- ## [11.0.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v11.0.0...plugins-source-aws-v11.0.1) (2023-01-12) ### Bug Fixes * **aws:** Correctly fill in `grantee_id` column to `aws_s3_bucket_grants` ([#6772](https://github.com/cloudquery/cloudquery/issues/6772)) ([2cf0451](https://github.com/cloudquery/cloudquery/commit/2cf0451476faaaa014fa723be0e9732cb51d21da)) * Update endpoints ([#6774](https://github.com/cloudquery/cloudquery/issues/6774)) ([0523a1a](https://github.com/cloudquery/cloudquery/commit/0523a1a0e2b7ccd01a5222f58bbc484cf6968ca4)) --- 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/aws/CHANGELOG.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 9fdb6143fba36d..bc14016a4cb627 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,7 +1,7 @@ { "cli": "2.1.0", "cli+FILLER": "0.0.0", - "plugins/source/aws": "11.0.0", + "plugins/source/aws": "11.0.1", "plugins/source/aws+FILLER": "0.0.0", "plugins/source/azure": "3.3.0", "plugins/source/azure+FILLER": "0.0.0", diff --git a/plugins/source/aws/CHANGELOG.md b/plugins/source/aws/CHANGELOG.md index 131d1f54f8e87f..57e07c05ec5b76 100644 --- a/plugins/source/aws/CHANGELOG.md +++ b/plugins/source/aws/CHANGELOG.md @@ -6,6 +6,14 @@ 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). +## [11.0.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v11.0.0...plugins-source-aws-v11.0.1) (2023-01-12) + + +### Bug Fixes + +* **aws:** Correctly fill in `grantee_id` column to `aws_s3_bucket_grants` ([#6772](https://github.com/cloudquery/cloudquery/issues/6772)) ([2cf0451](https://github.com/cloudquery/cloudquery/commit/2cf0451476faaaa014fa723be0e9732cb51d21da)) +* Update endpoints ([#6774](https://github.com/cloudquery/cloudquery/issues/6774)) ([0523a1a](https://github.com/cloudquery/cloudquery/commit/0523a1a0e2b7ccd01a5222f58bbc484cf6968ca4)) + ## [11.0.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-aws-v10.1.0...plugins-source-aws-v11.0.0) (2023-01-12) From 67bb02a647a8537343b61e4e836abf2deb2facf0 Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Thu, 12 Jan 2023 20:27:46 +0000 Subject: [PATCH 124/186] feat(stripe): Stripe source plugin (#6153) --- .github/pr_labeler.yml | 2 + .github/styles/Vocab/Base/accept.txt | 1 + .github/workflows/source_stripe.yml | 85 +++ .../workflows/wait_for_required_workflows.yml | 1 + plugins/source/stripe/.gitignore | 3 + plugins/source/stripe/.goreleaser.yaml | 14 + plugins/source/stripe/Makefile | 28 + plugins/source/stripe/README.md | 7 + plugins/source/stripe/client/client.go | 119 +++++ plugins/source/stripe/client/helpers.go | 31 ++ plugins/source/stripe/client/log.go | 23 + .../stripe/client/ratelimitedhttpclient.go | 43 ++ plugins/source/stripe/client/spec.go | 9 + plugins/source/stripe/client/testing.go | 142 +++++ plugins/source/stripe/client/transformers.go | 22 + .../source/stripe/codegen/fixtures/main.go | 166 ++++++ plugins/source/stripe/codegen/main.go | 138 +++++ plugins/source/stripe/codegen/recipes/all.go | 278 ++++++++++ .../source/stripe/codegen/recipes/recipes.go | 103 ++++ .../stripe/codegen/templates/get.go.tpl | 54 ++ .../stripe/codegen/templates/list.go.tpl | 110 ++++ .../codegen/templates/resource_test.go.tpl | 12 + .../stripe/codegen/templates/tables.go.tpl | 16 + plugins/source/stripe/docs/tables/README.md | 65 +++ .../stripe/docs/tables/stripe_accounts.md | 42 ++ .../docs/tables/stripe_apple_pay_domains.md | 20 + .../docs/tables/stripe_application_fees.md | 33 ++ .../stripe/docs/tables/stripe_balance.md | 21 + .../tables/stripe_balance_transactions.md | 30 ++ .../stripe_billing_portal_configurations.md | 27 + .../stripe/docs/tables/stripe_capabilities.md | 26 + .../stripe/docs/tables/stripe_charges.md | 65 +++ .../docs/tables/stripe_checkout_sessions.md | 61 +++ .../docs/tables/stripe_country_specs.md | 22 + .../stripe/docs/tables/stripe_coupons.md | 33 ++ .../stripe/docs/tables/stripe_credit_notes.md | 41 ++ .../stripe/docs/tables/stripe_customers.md | 44 ++ .../stripe/docs/tables/stripe_disputes.md | 31 ++ .../stripe/docs/tables/stripe_fee_refunds.md | 26 + .../stripe/docs/tables/stripe_file_links.md | 24 + .../source/stripe/docs/tables/stripe_files.md | 26 + .../stripe_identity_verification_reports.md | 25 + .../docs/tables/stripe_invoice_items.md | 38 ++ .../stripe/docs/tables/stripe_invoices.md | 92 ++++ .../tables/stripe_issuing_authorizations.md | 39 ++ .../docs/tables/stripe_issuing_cardholders.md | 30 ++ .../docs/tables/stripe_issuing_cards.md | 38 ++ .../docs/tables/stripe_issuing_disputes.md | 27 + .../tables/stripe_issuing_transactions.md | 35 ++ .../docs/tables/stripe_payment_intents.md | 54 ++ .../docs/tables/stripe_payment_links.md | 42 ++ .../docs/tables/stripe_payment_methods.md | 53 ++ .../stripe/docs/tables/stripe_payouts.md | 37 ++ .../source/stripe/docs/tables/stripe_plans.md | 36 ++ .../stripe/docs/tables/stripe_prices.md | 37 ++ .../stripe/docs/tables/stripe_products.md | 37 ++ .../docs/tables/stripe_promotion_codes.md | 28 + .../stripe/docs/tables/stripe_quotes.md | 49 ++ .../stripe_radar_early_fraud_warnings.md | 22 + .../stripe/docs/tables/stripe_refunds.md | 34 ++ .../tables/stripe_reporting_report_runs.md | 25 + .../tables/stripe_reporting_report_types.md | 23 + .../stripe/docs/tables/stripe_reviews.md | 29 + .../docs/tables/stripe_shipping_rates.md | 27 + .../stripe_sigma_scheduled_query_runs.md | 25 + .../tables/stripe_subscription_schedules.md | 33 ++ .../docs/tables/stripe_subscriptions.md | 56 ++ .../stripe/docs/tables/stripe_tax_codes.md | 18 + .../stripe/docs/tables/stripe_tax_rates.md | 29 + .../tables/stripe_terminal_configurations.md | 22 + .../docs/tables/stripe_terminal_locations.md | 22 + .../docs/tables/stripe_terminal_readers.md | 27 + .../stripe/docs/tables/stripe_topups.md | 32 ++ .../stripe/docs/tables/stripe_transfers.md | 32 ++ .../stripe_treasury_credit_reversals.md | 32 ++ .../tables/stripe_treasury_debit_reversals.md | 33 ++ .../stripe_treasury_financial_accounts.md | 43 ++ .../stripe_treasury_inbound_transfers.md | 38 ++ .../stripe_treasury_outbound_payments.md | 39 ++ .../stripe_treasury_outbound_transfers.md | 37 ++ .../stripe_treasury_received_credits.md | 34 ++ .../tables/stripe_treasury_received_debits.md | 34 ++ .../stripe_treasury_transaction_entries.md | 31 ++ .../tables/stripe_treasury_transactions.md | 33 ++ .../docs/tables/stripe_webhook_endpoints.md | 27 + plugins/source/stripe/go.mod | 47 ++ plugins/source/stripe/go.sum | 502 ++++++++++++++++++ plugins/source/stripe/main.go | 12 + .../source/stripe/resources/plugin/plugin.go | 19 + .../source/stripe/resources/plugin/tables.go | 97 ++++ .../resources/services/accounts/accounts.go | 81 +++ .../services/accounts/accounts_test.go | 12 + .../services/accounts/capabilities.go | 47 ++ .../apple_pay_domains/apple_pay_domains.go | 43 ++ .../apple_pay_domains_test.go | 12 + .../application_fees/application_fees.go | 81 +++ .../application_fees/application_fees_test.go | 12 + .../services/application_fees/fee_refunds.go | 47 ++ .../resources/services/balance/balance.go | 30 ++ .../services/balance/balance_test.go | 12 + .../services/balance/balance_transactions.go | 77 +++ .../balance/balance_transactions_test.go | 12 + .../billing_portal_configurations.go | 43 ++ .../billing_portal_configurations_test.go | 12 + .../resources/services/charges/charges.go | 77 +++ .../services/charges/charges_test.go | 12 + .../services/checkout/checkout_sessions.go | 43 ++ .../checkout/checkout_sessions_test.go | 12 + .../services/country_specs/country_specs.go | 43 ++ .../country_specs/country_specs_test.go | 12 + .../resources/services/coupons/coupons.go | 77 +++ .../services/coupons/coupons_test.go | 12 + .../services/credit_notes/credit_notes.go | 43 ++ .../credit_notes/credit_notes_test.go | 12 + .../resources/services/customers/customers.go | 77 +++ .../services/customers/customers_test.go | 12 + .../resources/services/disputes/disputes.go | 77 +++ .../services/disputes/disputes_test.go | 12 + .../services/file_links/file_links.go | 77 +++ .../services/file_links/file_links_test.go | 12 + .../stripe/resources/services/files/files.go | 77 +++ .../resources/services/files/files_test.go | 12 + .../identity/identity_verification_reports.go | 77 +++ .../identity_verification_reports_test.go | 12 + .../services/invoices/invoice_items.go | 43 ++ .../services/invoices/invoice_items_test.go | 12 + .../resources/services/invoices/invoices.go | 77 +++ .../services/invoices/invoices_test.go | 12 + .../issuing/issuing_authorizations.go | 77 +++ .../issuing/issuing_authorizations_test.go | 12 + .../services/issuing/issuing_cardholders.go | 77 +++ .../issuing/issuing_cardholders_test.go | 12 + .../services/issuing/issuing_cards.go | 77 +++ .../services/issuing/issuing_cards_test.go | 12 + .../services/issuing/issuing_disputes.go | 77 +++ .../services/issuing/issuing_disputes_test.go | 12 + .../services/issuing/issuing_transactions.go | 77 +++ .../issuing/issuing_transactions_test.go | 12 + .../services/payment/payment_intents.go | 77 +++ .../services/payment/payment_intents_test.go | 12 + .../services/payment/payment_links.go | 43 ++ .../services/payment/payment_links_test.go | 12 + .../services/payment/payment_methods.go | 43 ++ .../services/payment/payment_methods_test.go | 12 + .../resources/services/payouts/payouts.go | 77 +++ .../services/payouts/payouts_test.go | 12 + .../stripe/resources/services/plans/plans.go | 77 +++ .../resources/services/plans/plans_test.go | 12 + .../resources/services/prices/prices.go | 77 +++ .../resources/services/prices/prices_test.go | 12 + .../resources/services/products/products.go | 77 +++ .../services/products/products_test.go | 12 + .../promotion_codes/promotion_codes.go | 77 +++ .../promotion_codes/promotion_codes_test.go | 12 + .../resources/services/quotes/quotes.go | 43 ++ .../resources/services/quotes/quotes_test.go | 12 + .../radar/radar_early_fraud_warnings.go | 43 ++ .../radar/radar_early_fraud_warnings_test.go | 12 + .../resources/services/refunds/refunds.go | 77 +++ .../services/refunds/refunds_test.go | 12 + .../reporting/reporting_report_runs.go | 77 +++ .../reporting/reporting_report_runs_test.go | 12 + .../reporting/reporting_report_types.go | 43 ++ .../reporting/reporting_report_types_test.go | 12 + .../resources/services/reviews/reviews.go | 77 +++ .../services/reviews/reviews_test.go | 12 + .../services/shipping_rates/shipping_rates.go | 77 +++ .../shipping_rates/shipping_rates_test.go | 12 + .../sigma/sigma_scheduled_query_runs.go | 43 ++ .../sigma/sigma_scheduled_query_runs_test.go | 12 + .../subscription/subscription_schedules.go | 77 +++ .../subscription_schedules_test.go | 12 + .../services/subscription/subscriptions.go | 77 +++ .../subscription/subscriptions_test.go | 12 + .../resources/services/tax/tax_codes.go | 43 ++ .../resources/services/tax/tax_codes_test.go | 12 + .../resources/services/tax/tax_rates.go | 77 +++ .../resources/services/tax/tax_rates_test.go | 12 + .../terminal/terminal_configurations.go | 43 ++ .../terminal/terminal_configurations_test.go | 12 + .../services/terminal/terminal_locations.go | 43 ++ .../terminal/terminal_locations_test.go | 12 + .../services/terminal/terminal_readers.go | 43 ++ .../terminal/terminal_readers_test.go | 12 + .../resources/services/topups/topups.go | 77 +++ .../resources/services/topups/topups_test.go | 12 + .../resources/services/transfers/transfers.go | 77 +++ .../services/transfers/transfers_test.go | 12 + .../treasury/treasury_credit_reversals.go | 47 ++ .../treasury/treasury_debit_reversals.go | 47 ++ .../treasury/treasury_financial_accounts.go | 89 ++++ .../treasury_financial_accounts_test.go | 12 + .../treasury/treasury_inbound_transfers.go | 47 ++ .../treasury/treasury_outbound_payments.go | 47 ++ .../treasury/treasury_outbound_transfers.go | 47 ++ .../treasury/treasury_received_credits.go | 47 ++ .../treasury/treasury_received_debits.go | 47 ++ .../treasury/treasury_transaction_entries.go | 81 +++ .../treasury/treasury_transactions.go | 81 +++ .../webhook_endpoints/webhook_endpoints.go | 43 ++ .../webhook_endpoints_test.go | 12 + .../source/stripe/resources/testdata/.gitkeep | 0 website/pages/docs/plugins/sources/_meta.json | 1 + .../pages/docs/plugins/sources/overview.mdx | 1 + .../docs/plugins/sources/stripe/_meta.json | 4 + .../docs/plugins/sources/stripe/overview.md | 56 ++ .../docs/plugins/sources/stripe/tables.md | 65 +++ 207 files changed, 8812 insertions(+) create mode 100644 .github/workflows/source_stripe.yml create mode 100644 plugins/source/stripe/.gitignore create mode 100644 plugins/source/stripe/.goreleaser.yaml create mode 100644 plugins/source/stripe/Makefile create mode 100644 plugins/source/stripe/README.md create mode 100644 plugins/source/stripe/client/client.go create mode 100644 plugins/source/stripe/client/helpers.go create mode 100644 plugins/source/stripe/client/log.go create mode 100644 plugins/source/stripe/client/ratelimitedhttpclient.go create mode 100644 plugins/source/stripe/client/spec.go create mode 100644 plugins/source/stripe/client/testing.go create mode 100644 plugins/source/stripe/client/transformers.go create mode 100644 plugins/source/stripe/codegen/fixtures/main.go create mode 100644 plugins/source/stripe/codegen/main.go create mode 100644 plugins/source/stripe/codegen/recipes/all.go create mode 100644 plugins/source/stripe/codegen/recipes/recipes.go create mode 100644 plugins/source/stripe/codegen/templates/get.go.tpl create mode 100644 plugins/source/stripe/codegen/templates/list.go.tpl create mode 100644 plugins/source/stripe/codegen/templates/resource_test.go.tpl create mode 100644 plugins/source/stripe/codegen/templates/tables.go.tpl create mode 100644 plugins/source/stripe/docs/tables/README.md create mode 100644 plugins/source/stripe/docs/tables/stripe_accounts.md create mode 100644 plugins/source/stripe/docs/tables/stripe_apple_pay_domains.md create mode 100644 plugins/source/stripe/docs/tables/stripe_application_fees.md create mode 100644 plugins/source/stripe/docs/tables/stripe_balance.md create mode 100644 plugins/source/stripe/docs/tables/stripe_balance_transactions.md create mode 100644 plugins/source/stripe/docs/tables/stripe_billing_portal_configurations.md create mode 100644 plugins/source/stripe/docs/tables/stripe_capabilities.md create mode 100644 plugins/source/stripe/docs/tables/stripe_charges.md create mode 100644 plugins/source/stripe/docs/tables/stripe_checkout_sessions.md create mode 100644 plugins/source/stripe/docs/tables/stripe_country_specs.md create mode 100644 plugins/source/stripe/docs/tables/stripe_coupons.md create mode 100644 plugins/source/stripe/docs/tables/stripe_credit_notes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_customers.md create mode 100644 plugins/source/stripe/docs/tables/stripe_disputes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_fee_refunds.md create mode 100644 plugins/source/stripe/docs/tables/stripe_file_links.md create mode 100644 plugins/source/stripe/docs/tables/stripe_files.md create mode 100644 plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md create mode 100644 plugins/source/stripe/docs/tables/stripe_invoice_items.md create mode 100644 plugins/source/stripe/docs/tables/stripe_invoices.md create mode 100644 plugins/source/stripe/docs/tables/stripe_issuing_authorizations.md create mode 100644 plugins/source/stripe/docs/tables/stripe_issuing_cardholders.md create mode 100644 plugins/source/stripe/docs/tables/stripe_issuing_cards.md create mode 100644 plugins/source/stripe/docs/tables/stripe_issuing_disputes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_issuing_transactions.md create mode 100644 plugins/source/stripe/docs/tables/stripe_payment_intents.md create mode 100644 plugins/source/stripe/docs/tables/stripe_payment_links.md create mode 100644 plugins/source/stripe/docs/tables/stripe_payment_methods.md create mode 100644 plugins/source/stripe/docs/tables/stripe_payouts.md create mode 100644 plugins/source/stripe/docs/tables/stripe_plans.md create mode 100644 plugins/source/stripe/docs/tables/stripe_prices.md create mode 100644 plugins/source/stripe/docs/tables/stripe_products.md create mode 100644 plugins/source/stripe/docs/tables/stripe_promotion_codes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_quotes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_radar_early_fraud_warnings.md create mode 100644 plugins/source/stripe/docs/tables/stripe_refunds.md create mode 100644 plugins/source/stripe/docs/tables/stripe_reporting_report_runs.md create mode 100644 plugins/source/stripe/docs/tables/stripe_reporting_report_types.md create mode 100644 plugins/source/stripe/docs/tables/stripe_reviews.md create mode 100644 plugins/source/stripe/docs/tables/stripe_shipping_rates.md create mode 100644 plugins/source/stripe/docs/tables/stripe_sigma_scheduled_query_runs.md create mode 100644 plugins/source/stripe/docs/tables/stripe_subscription_schedules.md create mode 100644 plugins/source/stripe/docs/tables/stripe_subscriptions.md create mode 100644 plugins/source/stripe/docs/tables/stripe_tax_codes.md create mode 100644 plugins/source/stripe/docs/tables/stripe_tax_rates.md create mode 100644 plugins/source/stripe/docs/tables/stripe_terminal_configurations.md create mode 100644 plugins/source/stripe/docs/tables/stripe_terminal_locations.md create mode 100644 plugins/source/stripe/docs/tables/stripe_terminal_readers.md create mode 100644 plugins/source/stripe/docs/tables/stripe_topups.md create mode 100644 plugins/source/stripe/docs/tables/stripe_transfers.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_credit_reversals.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_debit_reversals.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_financial_accounts.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_inbound_transfers.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_outbound_payments.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_outbound_transfers.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_received_credits.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_received_debits.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_transaction_entries.md create mode 100644 plugins/source/stripe/docs/tables/stripe_treasury_transactions.md create mode 100644 plugins/source/stripe/docs/tables/stripe_webhook_endpoints.md create mode 100644 plugins/source/stripe/go.mod create mode 100644 plugins/source/stripe/go.sum create mode 100644 plugins/source/stripe/main.go create mode 100644 plugins/source/stripe/resources/plugin/plugin.go create mode 100644 plugins/source/stripe/resources/plugin/tables.go create mode 100644 plugins/source/stripe/resources/services/accounts/accounts.go create mode 100644 plugins/source/stripe/resources/services/accounts/accounts_test.go create mode 100644 plugins/source/stripe/resources/services/accounts/capabilities.go create mode 100644 plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains.go create mode 100644 plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains_test.go create mode 100644 plugins/source/stripe/resources/services/application_fees/application_fees.go create mode 100644 plugins/source/stripe/resources/services/application_fees/application_fees_test.go create mode 100644 plugins/source/stripe/resources/services/application_fees/fee_refunds.go create mode 100644 plugins/source/stripe/resources/services/balance/balance.go create mode 100644 plugins/source/stripe/resources/services/balance/balance_test.go create mode 100644 plugins/source/stripe/resources/services/balance/balance_transactions.go create mode 100644 plugins/source/stripe/resources/services/balance/balance_transactions_test.go create mode 100644 plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations.go create mode 100644 plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations_test.go create mode 100644 plugins/source/stripe/resources/services/charges/charges.go create mode 100644 plugins/source/stripe/resources/services/charges/charges_test.go create mode 100644 plugins/source/stripe/resources/services/checkout/checkout_sessions.go create mode 100644 plugins/source/stripe/resources/services/checkout/checkout_sessions_test.go create mode 100644 plugins/source/stripe/resources/services/country_specs/country_specs.go create mode 100644 plugins/source/stripe/resources/services/country_specs/country_specs_test.go create mode 100644 plugins/source/stripe/resources/services/coupons/coupons.go create mode 100644 plugins/source/stripe/resources/services/coupons/coupons_test.go create mode 100644 plugins/source/stripe/resources/services/credit_notes/credit_notes.go create mode 100644 plugins/source/stripe/resources/services/credit_notes/credit_notes_test.go create mode 100644 plugins/source/stripe/resources/services/customers/customers.go create mode 100644 plugins/source/stripe/resources/services/customers/customers_test.go create mode 100644 plugins/source/stripe/resources/services/disputes/disputes.go create mode 100644 plugins/source/stripe/resources/services/disputes/disputes_test.go create mode 100644 plugins/source/stripe/resources/services/file_links/file_links.go create mode 100644 plugins/source/stripe/resources/services/file_links/file_links_test.go create mode 100644 plugins/source/stripe/resources/services/files/files.go create mode 100644 plugins/source/stripe/resources/services/files/files_test.go create mode 100644 plugins/source/stripe/resources/services/identity/identity_verification_reports.go create mode 100644 plugins/source/stripe/resources/services/identity/identity_verification_reports_test.go create mode 100644 plugins/source/stripe/resources/services/invoices/invoice_items.go create mode 100644 plugins/source/stripe/resources/services/invoices/invoice_items_test.go create mode 100644 plugins/source/stripe/resources/services/invoices/invoices.go create mode 100644 plugins/source/stripe/resources/services/invoices/invoices_test.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_authorizations.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_authorizations_test.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_cardholders.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_cardholders_test.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_cards.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_cards_test.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_disputes.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_disputes_test.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_transactions.go create mode 100644 plugins/source/stripe/resources/services/issuing/issuing_transactions_test.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_intents.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_intents_test.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_links.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_links_test.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_methods.go create mode 100644 plugins/source/stripe/resources/services/payment/payment_methods_test.go create mode 100644 plugins/source/stripe/resources/services/payouts/payouts.go create mode 100644 plugins/source/stripe/resources/services/payouts/payouts_test.go create mode 100644 plugins/source/stripe/resources/services/plans/plans.go create mode 100644 plugins/source/stripe/resources/services/plans/plans_test.go create mode 100644 plugins/source/stripe/resources/services/prices/prices.go create mode 100644 plugins/source/stripe/resources/services/prices/prices_test.go create mode 100644 plugins/source/stripe/resources/services/products/products.go create mode 100644 plugins/source/stripe/resources/services/products/products_test.go create mode 100644 plugins/source/stripe/resources/services/promotion_codes/promotion_codes.go create mode 100644 plugins/source/stripe/resources/services/promotion_codes/promotion_codes_test.go create mode 100644 plugins/source/stripe/resources/services/quotes/quotes.go create mode 100644 plugins/source/stripe/resources/services/quotes/quotes_test.go create mode 100644 plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings.go create mode 100644 plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings_test.go create mode 100644 plugins/source/stripe/resources/services/refunds/refunds.go create mode 100644 plugins/source/stripe/resources/services/refunds/refunds_test.go create mode 100644 plugins/source/stripe/resources/services/reporting/reporting_report_runs.go create mode 100644 plugins/source/stripe/resources/services/reporting/reporting_report_runs_test.go create mode 100644 plugins/source/stripe/resources/services/reporting/reporting_report_types.go create mode 100644 plugins/source/stripe/resources/services/reporting/reporting_report_types_test.go create mode 100644 plugins/source/stripe/resources/services/reviews/reviews.go create mode 100644 plugins/source/stripe/resources/services/reviews/reviews_test.go create mode 100644 plugins/source/stripe/resources/services/shipping_rates/shipping_rates.go create mode 100644 plugins/source/stripe/resources/services/shipping_rates/shipping_rates_test.go create mode 100644 plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs.go create mode 100644 plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs_test.go create mode 100644 plugins/source/stripe/resources/services/subscription/subscription_schedules.go create mode 100644 plugins/source/stripe/resources/services/subscription/subscription_schedules_test.go create mode 100644 plugins/source/stripe/resources/services/subscription/subscriptions.go create mode 100644 plugins/source/stripe/resources/services/subscription/subscriptions_test.go create mode 100644 plugins/source/stripe/resources/services/tax/tax_codes.go create mode 100644 plugins/source/stripe/resources/services/tax/tax_codes_test.go create mode 100644 plugins/source/stripe/resources/services/tax/tax_rates.go create mode 100644 plugins/source/stripe/resources/services/tax/tax_rates_test.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_configurations.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_configurations_test.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_locations.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_locations_test.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_readers.go create mode 100644 plugins/source/stripe/resources/services/terminal/terminal_readers_test.go create mode 100644 plugins/source/stripe/resources/services/topups/topups.go create mode 100644 plugins/source/stripe/resources/services/topups/topups_test.go create mode 100644 plugins/source/stripe/resources/services/transfers/transfers.go create mode 100644 plugins/source/stripe/resources/services/transfers/transfers_test.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_credit_reversals.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_debit_reversals.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_financial_accounts.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_financial_accounts_test.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_inbound_transfers.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_outbound_payments.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_outbound_transfers.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_received_credits.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_received_debits.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_transaction_entries.go create mode 100644 plugins/source/stripe/resources/services/treasury/treasury_transactions.go create mode 100644 plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints.go create mode 100644 plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints_test.go create mode 100644 plugins/source/stripe/resources/testdata/.gitkeep create mode 100644 website/pages/docs/plugins/sources/stripe/_meta.json create mode 100644 website/pages/docs/plugins/sources/stripe/overview.md create mode 100644 website/pages/docs/plugins/sources/stripe/tables.md diff --git a/.github/pr_labeler.yml b/.github/pr_labeler.yml index 77792b1e1275f4..ae4e6f6c9acd52 100644 --- a/.github/pr_labeler.yml +++ b/.github/pr_labeler.yml @@ -38,6 +38,8 @@ slack: - plugins/source/slack/**/* shopify: - plugins/source/shopify/**/* +stripe: + - plugins/source/stripe/**/* pagerduty: - plugins/source/pagerduty/**/* terraform: diff --git a/.github/styles/Vocab/Base/accept.txt b/.github/styles/Vocab/Base/accept.txt index 7dd84dd732761d..f5b57472cde6cc 100644 --- a/.github/styles/Vocab/Base/accept.txt +++ b/.github/styles/Vocab/Base/accept.txt @@ -135,6 +135,7 @@ Snyk SRE SREs Steampipe +Stripe subfolder subnet subpolicies diff --git a/.github/workflows/source_stripe.yml b/.github/workflows/source_stripe.yml new file mode 100644 index 00000000000000..6bac91e3a23915 --- /dev/null +++ b/.github/workflows/source_stripe.yml @@ -0,0 +1,85 @@ +name: Source Plugin Stripe Workflow + +on: + pull_request: + paths: + - "plugins/source/stripe/**" + - ".github/workflows/source_stripe.yml" + push: + branches: + - main + paths: + - "plugins/source/stripe/**" + - ".github/workflows/source_stripe.yml" + +jobs: + plugins-source-stripe: + timeout-minutes: 30 + name: "plugins/source/stripe" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./plugins/source/stripe + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 2 + - name: Set up Go 1.x + uses: actions/setup-go@v3 + with: + go-version-file: plugins/source/stripe/go.mod + cache: true + cache-dependency-path: plugins/source/stripe/go.sum + - name: golangci-lint + uses: cloudquery/golangci-lint-action@master + with: + version: v1.50.1 + working-directory: plugins/source/stripe + args: "--config ../../.golangci.yml" + - name: Get dependencies + run: go get -t -d ./... + - name: Build + run: go build . + - name: Test + run: make test + - name: gen + if: github.event_name == 'pull_request' + run: make gen + - name: Fail if generation updated files + if: github.event_name == 'pull_request' + run: test "$(git status -s | wc -l)" -eq 0 || (git status -s; exit 1) + validate-release: + timeout-minutes: 30 + runs-on: ubuntu-latest + env: + CGO_ENABLED: 0 + steps: + - name: Checkout + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/checkout@v3 + - uses: actions/cache@v3 + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-1.19.3-release-cache-${{ hashFiles('plugins/source/stripe/go.sum') }} + restore-keys: | + ${{ runner.os }}-go-1.19.3-release-cache-plugins-source-stripe + - name: Set up Go + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/setup-go@v3 + with: + go-version-file: plugins/source/stripe/go.mod + - name: Install GoReleaser + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: goreleaser/goreleaser-action@v3 + with: + distribution: goreleaser-pro + version: latest + install-only: true + - name: Run GoReleaser Dry-Run + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + run: goreleaser release --snapshot --rm-dist --skip-validate --skip-publish --skip-sign -f ./plugins/source/stripe/.goreleaser.yaml + env: + GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} diff --git a/.github/workflows/wait_for_required_workflows.yml b/.github/workflows/wait_for_required_workflows.yml index b2e8d1c717a9ea..b28d0b9aa7f149 100644 --- a/.github/workflows/wait_for_required_workflows.yml +++ b/.github/workflows/wait_for_required_workflows.yml @@ -61,6 +61,7 @@ jobs: "plugins/source/slack", "plugins/source/salesforce", "plugins/source/snyk", + "plugins/source/stripe", "plugins/source/tailscale", "plugins/source/pagerduty", "plugins/source/terraform", diff --git a/plugins/source/stripe/.gitignore b/plugins/source/stripe/.gitignore new file mode 100644 index 00000000000000..7b36aeeeeddfc7 --- /dev/null +++ b/plugins/source/stripe/.gitignore @@ -0,0 +1,3 @@ +stripe +/resources/testdata/*.json +.cq diff --git a/plugins/source/stripe/.goreleaser.yaml b/plugins/source/stripe/.goreleaser.yaml new file mode 100644 index 00000000000000..546ab511214635 --- /dev/null +++ b/plugins/source/stripe/.goreleaser.yaml @@ -0,0 +1,14 @@ +variables: + component: source/stripe + binary: stripe + +project_name: plugins/source/stripe + +monorepo: + tag_prefix: plugins-source-stripe- + dir: plugins/source/stripe + +includes: + - from_file: + # Relative to the directory Go Releaser is run from (which is the root of the repository) + path: ./plugins/.goreleaser.yaml \ No newline at end of file diff --git a/plugins/source/stripe/Makefile b/plugins/source/stripe/Makefile new file mode 100644 index 00000000000000..3acab18aaf6f63 --- /dev/null +++ b/plugins/source/stripe/Makefile @@ -0,0 +1,28 @@ +# Test unit +.PHONY: test +test: gen-fixtures + wget -nc https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json -P ./resources/testdata + go test -timeout 3m ./... + +.PHONY: gen-docs +gen-docs: + rm -rf ./docs/tables/* + go run main.go doc ./docs/tables + sed 's_(\(.*\))_(https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/\1)_' docs/tables/README.md > ../../../website/pages/docs/plugins/sources/stripe/tables.md + +.PHONY: lint +lint: + golangci-lint run --config ../../.golangci.yml + +.PHONY: gen-fixtures +gen-fixtures: + rm -vf ./resources/testdata/fixtures_gen.json + go run codegen/fixtures/main.go + +.PHONY: gen-code +gen-code: + go run codegen/main.go + +# All gen targets +.PHONY: gen +gen: gen-fixtures gen-docs diff --git a/plugins/source/stripe/README.md b/plugins/source/stripe/README.md new file mode 100644 index 00000000000000..bc6c948f3fd8a5 --- /dev/null +++ b/plugins/source/stripe/README.md @@ -0,0 +1,7 @@ +# Stripe Plugin + +The CloudQuery Stripe plugin pulls data out of Stripe and loads it into any supported CloudQuery destination (e.g. PostgreSQL). + +## Links + +- [User Guide](https://docs.cloudquery.io/docs/plugins/sources/stripe/overview) diff --git a/plugins/source/stripe/client/client.go b/plugins/source/stripe/client/client.go new file mode 100644 index 00000000000000..e84876a6c1e6f8 --- /dev/null +++ b/plugins/source/stripe/client/client.go @@ -0,0 +1,119 @@ +package client + +import ( + "context" + "errors" + "fmt" + "net/http" + "strings" + "time" + + "github.com/cloudquery/plugin-sdk/backend" + "github.com/cloudquery/plugin-sdk/plugins/source" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/specs" + "github.com/rs/zerolog" + "github.com/stripe/stripe-go/v74" + "github.com/stripe/stripe-go/v74/client" + "golang.org/x/time/rate" +) + +type Client struct { + logger zerolog.Logger + sourceSpec specs.Source + stSpec Spec + + Services *client.API + Backend backend.Backend +} + +func New(logger zerolog.Logger, sourceSpec specs.Source, stSpec Spec, services *client.API, bk backend.Backend) *Client { + return &Client{ + logger: logger, + sourceSpec: sourceSpec, + stSpec: stSpec, + Services: services, + Backend: bk, + } +} + +func (c *Client) Logger() *zerolog.Logger { + return &c.logger +} + +func (c *Client) ID() string { + return c.sourceSpec.Name +} + +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, opts ...source.Option) (schema.ClientMeta, error) { + stSpec := &Spec{} + if err := s.UnmarshalSpec(stSpec); err != nil { + return nil, fmt.Errorf("failed to unmarshal stripe spec: %w", err) + } + + o := source.Options{} + for _, opt := range opts { + opt(&o) + } + + services, err := getServiceClient(logger, stSpec) + if err != nil { + return nil, err + } + + if err := validateAccess(services); err != nil { + return nil, err + } + + cl := New(logger, s, *stSpec, services, o.Backend) + return cl, nil +} + +func getServiceClient(logger zerolog.Logger, spec *Spec) (*client.API, error) { + if spec.APIKey == "" { + return nil, errors.New("no api_key provided") + } + + if !spec.StripeDebug { + logger = logger.Level(zerolog.WarnLevel) + } + + sCfg := &stripe.BackendConfig{ + LeveledLogger: &LeveledLogger{ + Logger: logger.With().Str("source", "stripe-client").Logger(), + }, + } + if spec.MaxRetries > 0 { + sCfg.MaxNetworkRetries = stripe.Int64(spec.MaxRetries) + } + + if spec.RateLimit < 1 { + // https://stripe.com/docs/rate-limits + if strings.HasPrefix(spec.APIKey, "sk_live") { + spec.RateLimit = 90 + } else { + spec.RateLimit = 20 + } + } + + sCfg.HTTPClient = RatelimitedHttpClient(logger, + &http.Client{Timeout: 80 * time.Second}, // default from stripe-go + rate.NewLimiter(rate.Limit(spec.RateLimit), int(spec.RateLimit)), + ) + + c := &client.API{} + c.Init(spec.APIKey, &stripe.Backends{ + API: stripe.GetBackendWithConfig(stripe.APIBackend, sCfg), + Connect: stripe.GetBackendWithConfig(stripe.ConnectBackend, sCfg), + Uploads: stripe.GetBackendWithConfig(stripe.UploadsBackend, sCfg), + }) + return c, nil +} + +func validateAccess(svc *client.API) error { + _, err := svc.Accounts.Get() + if err != nil { + return err + } + return nil +} diff --git a/plugins/source/stripe/client/helpers.go b/plugins/source/stripe/client/helpers.go new file mode 100644 index 00000000000000..e99d978bc53409 --- /dev/null +++ b/plugins/source/stripe/client/helpers.go @@ -0,0 +1,31 @@ +package client + +import ( + "reflect" + + "github.com/cloudquery/plugin-sdk/transformers" +) + +func CreateIgnoreInTestsTransformer(fieldNames ...string) transformers.IgnoreInTestsTransformer { + return func(field reflect.StructField) bool { + for _, v := range fieldNames { + if field.Name == v { + return true + } + } + return false + } +} + +func MaxInt64(a, b *int64) *int64 { + if a == nil { + return b + } + if b == nil { + return a + } + if *a > *b { + return a + } + return b +} diff --git a/plugins/source/stripe/client/log.go b/plugins/source/stripe/client/log.go new file mode 100644 index 00000000000000..5c1602f2f50668 --- /dev/null +++ b/plugins/source/stripe/client/log.go @@ -0,0 +1,23 @@ +package client + +import "github.com/rs/zerolog" + +type LeveledLogger struct { + zerolog.Logger +} + +func (l *LeveledLogger) Debugf(format string, args ...any) { + l.Logger.Debug().Msgf(format, args...) +} + +func (l *LeveledLogger) Infof(format string, args ...any) { + l.Logger.Info().Msgf(format, args...) +} + +func (l *LeveledLogger) Warnf(format string, args ...any) { + l.Logger.Warn().Msgf(format, args...) +} + +func (l *LeveledLogger) Errorf(format string, args ...any) { + l.Logger.Error().Msgf(format, args...) +} diff --git a/plugins/source/stripe/client/ratelimitedhttpclient.go b/plugins/source/stripe/client/ratelimitedhttpclient.go new file mode 100644 index 00000000000000..0890525fbd2a21 --- /dev/null +++ b/plugins/source/stripe/client/ratelimitedhttpclient.go @@ -0,0 +1,43 @@ +package client + +import ( + "net/http" + + "github.com/rs/zerolog" + "golang.org/x/time/rate" +) + +func RatelimitedHttpClient(logger zerolog.Logger, hc *http.Client, limiter *rate.Limiter) *http.Client { + c := *hc + c.Transport = newLimitedTransport(logger, hc.Transport, limiter) + return &c +} + +type limitedTransport struct { + logger zerolog.Logger + wrappedRT http.RoundTripper + limiter *rate.Limiter +} + +func newLimitedTransport(logger zerolog.Logger, t http.RoundTripper, limiter *rate.Limiter) http.RoundTripper { + if t == nil { + t = http.DefaultTransport + } + return &limitedTransport{ + logger: logger, + wrappedRT: t, + limiter: limiter, + } +} + +func (t *limitedTransport) RoundTrip(r *http.Request) (*http.Response, error) { + if !t.limiter.Allow() { + t.logger.Debug().Msg("waiting for rate limiter...") + err := t.limiter.Wait(r.Context()) + if err != nil { + return nil, err + } + } + + return t.wrappedRT.RoundTrip(r) +} diff --git a/plugins/source/stripe/client/spec.go b/plugins/source/stripe/client/spec.go new file mode 100644 index 00000000000000..08be998bcfe968 --- /dev/null +++ b/plugins/source/stripe/client/spec.go @@ -0,0 +1,9 @@ +package client + +type Spec struct { + APIKey string `json:"api_key"` + + MaxRetries int64 `json:"max_retries"` + RateLimit int64 `json:"rate_limit"` + StripeDebug bool `json:"stripe_debug"` +} diff --git a/plugins/source/stripe/client/testing.go b/plugins/source/stripe/client/testing.go new file mode 100644 index 00000000000000..e28106152e9c3c --- /dev/null +++ b/plugins/source/stripe/client/testing.go @@ -0,0 +1,142 @@ +package client + +import ( + "context" + "fmt" + "net" + "net/http" + "os" + "path/filepath" + "runtime" + "testing" + "time" + + "github.com/cloudquery/plugin-sdk/backend" + "github.com/cloudquery/plugin-sdk/plugins/source" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/specs" + "github.com/rs/zerolog" + "github.com/stripe/stripe-go/v74" + sclient "github.com/stripe/stripe-go/v74/client" + "github.com/stripe/stripe-mock/server" +) + +type TestOptions struct { + Backend backend.Backend +} + +func MockTestHelper(t *testing.T, table *schema.Table, opts TestOptions) { + version := "vDev" + + t.Helper() + table.IgnoreInTests = false + + logger := zerolog.New(zerolog.NewTestWriter(t)).Output( + zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, + ).Level(zerolog.DebugLevel).With().Timestamp().Logger() + + addr, teardown, err := startMockServer() + if err != nil { + t.Fatalf("startMockServer: %v", err) + } + defer func() { + if err := teardown(); err != nil { + t.Logf("Teardown error: %v", err) + } + }() + + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + var stSpec Spec + if err := spec.UnmarshalSpec(&stSpec); err != nil { + return nil, fmt.Errorf("failed to unmarshal stripe spec: %w", err) + } + + setupMockClient(logger.Level(zerolog.InfoLevel), *addr) + cl := sclient.New(stripe.Key, nil) + return New(logger, spec, stSpec, cl, opts.Backend), nil + } + + p := source.NewPlugin( + table.Name, + version, + []*schema.Table{ + table, + }, + newTestExecutionClient, + ) + p.SetLogger(logger) + source.TestPluginSync(t, p, specs.Source{ + Name: "dev", + Path: "cloudquery/dev", + Version: version, + Tables: []string{table.Name}, + Destinations: []string{"mock-destination"}, + }) +} + +func startMockServer() (*string, func() error, error) { + _, filename, _, ok := runtime.Caller(0) + if !ok { + return nil, nil, fmt.Errorf("failed to get current file") + } + + stripeSpec, err := server.LoadSpec(nil, filepath.Join(filepath.Dir(filename), "..", "resources", "testdata", "spec3.json")) + if err != nil { + return nil, nil, err + } + fixtures, err := server.LoadFixtures(nil, filepath.Join(filepath.Dir(filename), "..", "resources", "testdata", "fixtures_gen.json")) + if err != nil { + return nil, nil, err + } + + // This is mostly copied from the stripe-mock's main function at https://github.com/stripe/stripe-mock/blob/master/main.go + stub, err := server.NewStubServer(fixtures, stripeSpec, false, false) + if err != nil { + return nil, nil, fmt.Errorf("Error initializing router: %w", err) + } + + httpMux := http.NewServeMux() + httpMux.HandleFunc("/", stub.HandleRequest) + + // Deduplicates doubled slashes in paths. e.g. `//v1/charges` becomes `/v1/charges`. + handler := &server.DoubleSlashFixHandler{Mux: httpMux} + + listener, err := net.Listen("tcp", "localhost:0") // auto-choose port + if err != nil { + return nil, nil, fmt.Errorf("net.Listen: %w", err) + } + + fmt.Printf("Listening for TCP at address: %v\n", listener.Addr()) + + srv := &http.Server{ + Handler: handler, + } + go func() { + err := srv.Serve(listener) + if err != nil && err != http.ErrServerClosed { + panic(err.Error()) + } + }() + + addr := listener.Addr().String() + return &addr, func() error { + return srv.Shutdown(context.Background()) + }, nil +} + +func setupMockClient(logger zerolog.Logger, addr string) { + // This is mostly copied from stripe-go's testing package at https://github.com/stripe/stripe-go/blob/master/testing/testing.go + // Since the code is inside init() it can't be used directly without multiple headaches, and even if we do that we can't force it to run HTTP only. + + stripe.Key = "sk_test_myTestKey" + + stripeMockBackend := stripe.GetBackendWithConfig( + stripe.APIBackend, + &stripe.BackendConfig{ + URL: stripe.String("http://" + addr), + LeveledLogger: &LeveledLogger{Logger: logger}, + }, + ) + stripe.SetBackend(stripe.APIBackend, stripeMockBackend) + stripe.SetBackend(stripe.UploadsBackend, stripeMockBackend) +} diff --git a/plugins/source/stripe/client/transformers.go b/plugins/source/stripe/client/transformers.go new file mode 100644 index 00000000000000..b7244ad1a88f47 --- /dev/null +++ b/plugins/source/stripe/client/transformers.go @@ -0,0 +1,22 @@ +package client + +import ( + "reflect" + + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" +) + +func SharedTransformers(others ...transformers.StructTransformerOption) []transformers.StructTransformerOption { + return append([]transformers.StructTransformerOption{ + transformers.WithTypeTransformer(typeTransformer), + }, others...) +} + +func typeTransformer(field reflect.StructField) (schema.ValueType, error) { + if field.Name == "Created" && field.Type == reflect.TypeOf(int64(0)) { + return schema.TypeTimestamp, nil + } + + return schema.TypeInvalid, nil +} diff --git a/plugins/source/stripe/codegen/fixtures/main.go b/plugins/source/stripe/codegen/fixtures/main.go new file mode 100644 index 00000000000000..1427efac8bb287 --- /dev/null +++ b/plugins/source/stripe/codegen/fixtures/main.go @@ -0,0 +1,166 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" + "path" + "reflect" + "runtime" + "strings" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/codegen/recipes" + "github.com/cloudquery/plugin-sdk/caser" + "github.com/cloudquery/plugin-sdk/faker" + "github.com/stripe/stripe-go/v74" +) + +var dataStructs map[string]any // pkgPath vs. struct + +func main() { + extras := []any{ + &stripe.BankAccount{}, + &stripe.CreditNoteLineItem{}, + &stripe.LineItem{}, + &stripe.SubscriptionItem{}, + &stripe.TaxID{}, + &stripe.TransferReversal{}, + } + + renames := map[string]string{ + "invoice_item": "invoiceitem", + } + + prefixReplaces := map[string]string{ + "billing_portal_": "billing_portal.", + "checkout_": "checkout.", + "identity_": "identity.", + "issuing_": "issuing.", + "radar_": "radar.", + "reporting_": "reporting.", + "sigma_": "", + "terminal_": "terminal.", + "treasury_": "treasury.", + } + + copies := map[string]string{ + "line_item": "item", + } + + _, filename, _, ok := runtime.Caller(0) + if !ok { + log.Fatal("Failed to get caller information") + } + testdataDir := path.Join(path.Dir(filename), "..", "..", "resources", "testdata") + + fixture := struct { + Resources map[string]any `json:"resources"` + }{ + Resources: make(map[string]any), + } + + dataStructs = make(map[string]any) + + if err := traverseRecipes(recipes.AllResources); err != nil { + log.Fatal("traversing recipes: ", err) + } + for _, extra := range extras { + if err := traverseStructs(extra, "", 0); err != nil { + log.Fatal("traversing extras: ", err) + } + } + + csr := caser.New() + for _, ds := range dataStructs { + ds := ds + if err := faker.FakeObject(&ds, faker.WithMaxDepth(6)); err != nil { + log.Fatal(err) + } + + typ := reflect.TypeOf(ds) + for typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + + keyName := csr.ToSnake(typ.Name()) + if n := renames[keyName]; n != "" { + keyName = n + } else { + for k, v := range prefixReplaces { + if strings.HasPrefix(keyName, k) { + keyName = v + keyName[len(k):] + break + } + } + } + + if c, ok := copies[keyName]; ok { + fixture.Resources[c] = ds + } + + fixture.Resources[keyName] = ds + } + + b, _ := json.MarshalIndent(fixture, "", " ") + + fn := path.Join(testdataDir, "fixtures_gen.json") + log.Println("Writing", fn) + if err := os.WriteFile(fn, b, 0644); err != nil { + log.Fatal(err) + } +} + +func traverseRecipes(rr []*recipes.Resource) error { + for _, r := range rr { + if err := traverseStructs(r.DataStruct, "", 0); err != nil { + return err + } + if err := traverseRecipes(r.Children); err != nil { + return err + } + } + return nil +} + +func traverseStructs(ds any, allowedPath string, depth int) error { + if depth > 16 { + return nil + } + typ := reflect.TypeOf(ds) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + } + if typ.Kind() != reflect.Struct { + return nil + } + + if allowedPath == "" { + allowedPath = typ.PkgPath() + } else { + if typ.PkgPath() != allowedPath { + return nil + } + } + + mapKey := typ.PkgPath() + "." + typ.Name() + + if _, ok := dataStructs[mapKey]; ok { + if depth == 0 { + return fmt.Errorf("duplicate struct %s", mapKey) + } + + return nil + } + + dataStructs[mapKey] = ds + + for i := 0; i < typ.NumField(); i++ { + f := typ.Field(i) + if err := traverseStructs(reflect.New(f.Type).Interface(), allowedPath, depth+1); err != nil { + return err + } + } + + return nil +} diff --git a/plugins/source/stripe/codegen/main.go b/plugins/source/stripe/codegen/main.go new file mode 100644 index 00000000000000..cb511137e43a9d --- /dev/null +++ b/plugins/source/stripe/codegen/main.go @@ -0,0 +1,138 @@ +package main + +import ( + "bytes" + "embed" + "fmt" + "go/format" + "log" + "os" + "path" + "runtime" + "strconv" + "text/template" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/codegen/recipes" + "github.com/cloudquery/plugin-sdk/caser" + "github.com/gertd/go-pluralize" +) + +//go:embed templates/*.go.tpl +var templatesFS embed.FS + +func main() { + _, filename, _, ok := runtime.Caller(0) + if !ok { + log.Fatal("Failed to get caller information") + } + servicesDir := path.Join(path.Dir(filename), "..", "resources", "services") + + for _, r := range recipes.AllResources { + r.Infer(nil) + } + + generateResources(servicesDir, recipes.AllResources) + + if err := generateTables(servicesDir, recipes.AllResources); err != nil { + log.Fatal(err) + } +} + +func generateResources(servicesDir string, rr []*recipes.Resource) { + for _, r := range rr { + generateResource(servicesDir, *r) + generateResources(servicesDir, r.Children) + } +} + +func generateResource(servicesDir string, r recipes.Resource) { + log.Println("Generating table", r.TableName) + + csr := caser.New() + pl := pluralize.NewClient() + + templates := []string{ + r.FetchTemplate + ".go.tpl", + } + if !r.SkipMocks { + templates = append(templates, "resource_test.go.tpl") + } + for idx, templateName := range templates { + generatingMocks := idx == 1 + + tpl, err := template.New(templateName).Funcs(template.FuncMap{ + "ToSnake": csr.ToSnake, + "ToPascal": csr.ToPascal, + "Pluralize": pl.Plural, + "Singularize": pl.Singular, + "QuoteJoin": func(s []string) string { + var buf bytes.Buffer + for i, v := range s { + buf.WriteString(strconv.Quote(v)) + if i != len(s)-1 { + buf.WriteString(", ") + } + } + return buf.String() + }, + }).ParseFS(templatesFS, "templates/"+templateName) + + if err != nil { + log.Fatal(fmt.Errorf("failed to parse templates: %w", err)) + } + + var buff bytes.Buffer + if err := tpl.Execute(&buff, r); err != nil { + log.Fatal(fmt.Errorf("failed to execute template: %w", err)) + } + + pkgPath := path.Join(servicesDir, r.Service) + if err := os.Mkdir(pkgPath, 0755); err != nil && !os.IsExist(err) { + log.Fatal(err) + } + + var filePath string + if generatingMocks { + filePath = path.Join(pkgPath, r.TableName+"_test.go") + } else { + filePath = path.Join(pkgPath, r.TableName+".go") + } + content, err := format.Source(buff.Bytes()) + if err != nil { + fmt.Println(buff.String()) + log.Fatal(fmt.Errorf("failed to format code for %s: %w", filePath, err)) + } + if err := os.WriteFile(filePath, content, 0644); err != nil { + log.Fatal(fmt.Errorf("failed to write file %s: %w", filePath, err)) + } + } +} + +func generateTables(servicesDir string, rr []*recipes.Resource) error { + csr := caser.New() + pl := pluralize.NewClient() + + tpl, err := template.New("tables.go.tpl").Funcs(template.FuncMap{ + "ToPascal": csr.ToPascal, + "Pluralize": pl.Plural, + "Singularize": pl.Singular, + }).ParseFS(templatesFS, "templates/tables.go.tpl") + + var buff bytes.Buffer + if err := tpl.Execute(&buff, rr); err != nil { + return fmt.Errorf("failed to execute tables template: %w", err) + } + + filePath := path.Join(servicesDir, "../plugin/tables.go") + content := buff.Bytes() + formattedContent, err := format.Source(buff.Bytes()) + if err != nil { + fmt.Printf("failed to format code for %s: %v\n", filePath, err) + } else { + content = formattedContent + } + if err := os.WriteFile(filePath, content, 0644); err != nil { + return fmt.Errorf("failed to write file %s: %w", filePath, err) + } + return nil +} diff --git a/plugins/source/stripe/codegen/recipes/all.go b/plugins/source/stripe/codegen/recipes/all.go new file mode 100644 index 00000000000000..09059b7e13c446 --- /dev/null +++ b/plugins/source/stripe/codegen/recipes/all.go @@ -0,0 +1,278 @@ +package recipes + +import "github.com/stripe/stripe-go/v74" + +const createdStateParam = "Created" + +var AllResources = []*Resource{ + { + DataStruct: &stripe.Account{}, + StateParamName: createdStateParam, + Children: []*Resource{ + { + DataStruct: &stripe.Capability{}, + ListParams: `Account: stripe.String(p.ID),`, + }, + }, + }, + { + DataStruct: &stripe.ApplePayDomain{}, + }, + { + DataStruct: &stripe.ApplicationFee{}, + StateParamName: createdStateParam, + Children: []*Resource{ + { + DataStruct: &stripe.FeeRefund{}, + ListParams: `ID: stripe.String(p.ID),`, + }, + }, + }, + { + DataStruct: &stripe.Balance{}, + Single: true, + Service: "balance", + }, + { + DataStruct: &stripe.BalanceTransaction{}, + Service: "balance", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.BillingPortalConfiguration{}, + Service: "billing_portal", + }, + { + DataStruct: &stripe.Charge{}, + IgnoreInTests: []string{"Destination", "Dispute", "Level3", "Source"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.CheckoutSession{}, + Service: "checkout", + }, + { + DataStruct: &stripe.CountrySpec{}, + }, + { + DataStruct: &stripe.Coupon{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.CreditNote{}, + }, + { + DataStruct: &stripe.Customer{}, + IgnoreInTests: []string{"DefaultSource"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Dispute{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.FileLink{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.File{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.IdentityVerificationReport{}, + Service: "identity", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Invoice{}, + IgnoreInTests: []string{"DefaultSource"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.InvoiceItem{}, + Service: "invoices", + Description: "https://stripe.com/docs/api/invoiceitems", + IgnoreInTests: []string{"Plan"}, + }, + { + DataStruct: &stripe.IssuingAuthorization{}, + Service: "issuing", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.IssuingCardholder{}, + Service: "issuing", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.IssuingCard{}, + Service: "issuing", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.IssuingDispute{}, + Service: "issuing", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.IssuingTransaction{}, + Service: "issuing", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.PaymentIntent{}, + Service: "payment", + IgnoreInTests: []string{"Source"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.PaymentLink{}, + Service: "payment", + }, + { + DataStruct: &stripe.PaymentMethod{}, + Service: "payment", + }, + { + DataStruct: &stripe.Payout{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Plan{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Price{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Product{}, + IgnoreInTests: []string{"Attributes", "DeactivateOn"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.PromotionCode{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Quote{}, + }, + { + DataStruct: &stripe.RadarEarlyFraudWarning{}, + Service: "radar", + }, + { + DataStruct: &stripe.Refund{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.ReportingReportRun{}, + Service: "reporting", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.ReportingReportType{}, + Service: "reporting", + }, + { + DataStruct: &stripe.Review{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.ShippingRate{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.SigmaScheduledQueryRun{}, + Service: "sigma", + }, + { + DataStruct: &stripe.Subscription{}, + Service: "subscription", + IgnoreInTests: []string{"DefaultSource"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.SubscriptionSchedule{}, + Service: "subscription", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.TaxCode{}, + Service: "tax", + }, + { + DataStruct: &stripe.TaxRate{}, + Service: "tax", + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.TerminalConfiguration{}, + Service: "terminal", + }, + { + DataStruct: &stripe.TerminalLocation{}, + Service: "terminal", + }, + { + DataStruct: &stripe.TerminalReader{}, + Service: "terminal", + }, + { + DataStruct: &stripe.Topup{}, + IgnoreInTests: []string{"Source"}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.Transfer{}, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.TreasuryFinancialAccount{}, + Service: "treasury", + StateParamName: createdStateParam, + Children: []*Resource{ + { + DataStruct: &stripe.TreasuryCreditReversal{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryDebitReversal{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryInboundTransfer{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryOutboundPayment{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryOutboundTransfer{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryReceivedCredit{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryReceivedDebit{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + }, + { + DataStruct: &stripe.TreasuryTransactionEntry{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + StateParamName: createdStateParam, + }, + { + DataStruct: &stripe.TreasuryTransaction{}, + ListParams: `FinancialAccount: stripe.String(p.ID),`, + StateParamName: createdStateParam, + }, + }, + }, + { + DataStruct: &stripe.WebhookEndpoint{}, + }, +} diff --git a/plugins/source/stripe/codegen/recipes/recipes.go b/plugins/source/stripe/codegen/recipes/recipes.go new file mode 100644 index 00000000000000..ae6396e90730e8 --- /dev/null +++ b/plugins/source/stripe/codegen/recipes/recipes.go @@ -0,0 +1,103 @@ +package recipes + +import ( + "path" + "reflect" + "strings" + + "github.com/cloudquery/plugin-sdk/caser" + "github.com/gertd/go-pluralize" +) + +type Resource struct { + // DataStruct that will be used to generate the cloudquery table + DataStruct any + // SkipFields fields in go struct to skip when generating the table from the go struct + SkipFields []string + PKColumns []string + IgnoreInTests []string + + Description string // optional, auto generated from struct name if not provided + SkipMocks bool + + Service string // optional + TableName string // optional, without "$plugin_" prefix + + Plugin string // name of plugin, auto generated + StructName string // name of struct, auto generated + + Single bool // true if we're getting a single entity, false if we're getting a list/iterator + FetchTemplate string // optional, if not provided will use default template, decided by Single + + HasIDPK bool // has "id" column as PK, auto generated, used in template + + Children []*Resource + Parent *Resource // auto calculated from Children + + ListParams string // optional + StateParamName string // optional *int64 param name. If empty, no state will be persisted. Only if Single is not true. +} + +var ( + pluralizeClient *pluralize.Client + csr *caser.Caser +) + +func init() { + pluralizeClient = pluralize.NewClient() + csr = caser.New() +} + +func (r *Resource) Infer(parent *Resource) { + r.Parent = parent + if parent != nil { + r.Service = parent.Service + r.SkipMocks = true + } + + r.Plugin = path.Base(strings.TrimSuffix(reflect.TypeOf(r).Elem().PkgPath(), "/codegen/recipes")) // "stripe" + r.SkipFields = append(r.SkipFields, "APIResource") + + ds := reflect.TypeOf(r.DataStruct) + if ds.Kind() == reflect.Ptr { + ds = ds.Elem() + } + r.StructName = ds.Name() + + if len(r.PKColumns) == 0 { + if _, ok := ds.FieldByName("ID"); ok { + r.PKColumns = []string{"id"} + r.SkipFields = append(r.SkipFields, "ID") + r.HasIDPK = true + } + } + + var snakeNameBySingularity string + if r.Single { + snakeNameBySingularity = pluralizeClient.Singular(csr.ToSnake(ds.Name())) + } else { + snakeNameBySingularity = pluralizeClient.Plural(csr.ToSnake(ds.Name())) + } + + if r.TableName == "" { + r.TableName = snakeNameBySingularity + } + if r.Service == "" { + r.Service = snakeNameBySingularity + } + if r.Description == "" { + r.Description = "https://stripe.com/docs/api/" + snakeNameBySingularity + } + + if r.FetchTemplate == "" { + if r.Single { + r.FetchTemplate = "get" + } else { + r.FetchTemplate = "list" + } + } + + for i := range r.Children { + r.Children[i].Infer(r) + } +} diff --git a/plugins/source/stripe/codegen/templates/get.go.tpl b/plugins/source/stripe/codegen/templates/get.go.tpl new file mode 100644 index 00000000000000..2dfcc6f6a7271f --- /dev/null +++ b/plugins/source/stripe/codegen/templates/get.go.tpl @@ -0,0 +1,54 @@ +package {{.Service}} + +import ( + "context" + + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/stripe/stripe-go/v74" +) + +func {{.TableName | ToPascal}}() *schema.Table { + return &schema.Table{ + Name: "{{.Plugin}}_{{.TableName}}", + {{- if .Description}} + Description: `{{.Description}}`, + {{- end}} + Transform: transformers.TransformWithStruct(&stripe.{{.StructName}}{}, client.SharedTransformers( +{{- if .SkipFields}}transformers.WithSkipFields({{.SkipFields | QuoteJoin}}),{{end -}} +{{- if .IgnoreInTests}}transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer({{.IgnoreInTests | QuoteJoin}})),{{end -}} + )...), + Resolver: fetch{{.TableName | ToPascal}}, +{{if .HasIDPK}} + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, +{{end}} +{{if .Children}} + Relations: []*schema.Table{ + {{- range .Children}} + {{.TableName | ToPascal}}(), + {{- end}} + }, +{{end}} + } +} + +func fetch{{.TableName | ToPascal}}(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + val, err := cl.Services.{{.TableName | ToPascal}}.Get(&stripe.{{.TableName | ToPascal | Singularize}}Params{}) + if err != nil { + return err + } + res <- val + return nil +} diff --git a/plugins/source/stripe/codegen/templates/list.go.tpl b/plugins/source/stripe/codegen/templates/list.go.tpl new file mode 100644 index 00000000000000..1d078ee7c5af5b --- /dev/null +++ b/plugins/source/stripe/codegen/templates/list.go.tpl @@ -0,0 +1,110 @@ +package {{.Service}} + +import ( + "context" +{{if .StateParamName}} + "fmt" + "strconv" +{{end}} + + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/stripe/stripe-go/v74" +) + +func {{.TableName | ToPascal}}() *schema.Table { + return &schema.Table{ + Name: "{{.Plugin}}_{{.TableName}}", + {{- if .Description}} + Description: `{{.Description}}`, + {{- end}} + Transform: transformers.TransformWithStruct(&stripe.{{.StructName}}{}, client.SharedTransformers( +{{- if .SkipFields}}transformers.WithSkipFields({{.SkipFields | QuoteJoin}}),{{end -}} +{{- if .IgnoreInTests}}transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer({{.IgnoreInTests | QuoteJoin}})),{{end -}} + )...), + Resolver: fetch{{.TableName | ToPascal}}, +{{if .HasIDPK}} + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, +{{if .StateParamName -}} + { + Name: "{{.StateParamName | ToSnake}}", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("{{.StateParamName}}"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, +{{end -}} + }, +{{if .StateParamName -}} + IsIncremental: true, +{{end -}} +{{end}} +{{if .Children}} + Relations: []*schema.Table{ + {{- range .Children}} + {{.TableName | ToPascal}}(), + {{- end}} + }, +{{end}} + } +} + +func fetch{{.TableName | ToPascal}}(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) +{{if and (.Parent) (.ListParams)}} + p := parent.Item.(*stripe.{{.Parent.StructName}}) +{{end}} + + lp := &stripe.{{.TableName | ToPascal | Singularize}}ListParams{ +{{.ListParams}} + } + +{{if .StateParamName}} + const key = "{{.TableName}}" + + if (cl.Backend != nil) { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.{{.StateParamName}} = &vi + } + } +{{end}} + + it := cl.Services.{{.TableName | ToPascal}}.List(lp) + for it.Next() { +{{if .StateParamName -}} + data := it.{{.TableName | ToPascal | Singularize}}() + lp.{{.StateParamName}} = client.MaxInt64(lp.{{.StateParamName}}, &data.{{.StateParamName}}) + res <- data +{{else -}} + res <- it.{{.TableName | ToPascal | Singularize}}() +{{end -}} + } + +{{if .StateParamName -}} + err := it.Err() + if cl.Backend != nil && err == nil && lp.{{.StateParamName}} != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.{{.StateParamName}}, 10)) + } + return err +{{else -}} + return it.Err() +{{end -}} +} diff --git a/plugins/source/stripe/codegen/templates/resource_test.go.tpl b/plugins/source/stripe/codegen/templates/resource_test.go.tpl new file mode 100644 index 00000000000000..01dfec770a4fd0 --- /dev/null +++ b/plugins/source/stripe/codegen/templates/resource_test.go.tpl @@ -0,0 +1,12 @@ +package {{.Service}}_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/{{.Service}}" +) + +func Test{{.TableName | ToPascal}}(t *testing.T) { + client.MockTestHelper(t, {{.Service}}.{{.TableName | ToPascal}}(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/codegen/templates/tables.go.tpl b/plugins/source/stripe/codegen/templates/tables.go.tpl new file mode 100644 index 00000000000000..e9398677238143 --- /dev/null +++ b/plugins/source/stripe/codegen/templates/tables.go.tpl @@ -0,0 +1,16 @@ +package plugin + +import ( +"github.com/cloudquery/plugin-sdk/schema" +{{- range $resource := . }} + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/{{ $resource.Service }}" +{{- end }} +) + +func tables() []*schema.Table { +return []*schema.Table{ +{{- range $resource := . }} + {{ $resource.Service }}.{{ $resource.TableName | ToPascal }}(), +{{- end }} +} +} diff --git a/plugins/source/stripe/docs/tables/README.md b/plugins/source/stripe/docs/tables/README.md new file mode 100644 index 00000000000000..2b4ba4968d4bff --- /dev/null +++ b/plugins/source/stripe/docs/tables/README.md @@ -0,0 +1,65 @@ +# Source Plugin: stripe + +## Tables + +- [stripe_accounts](stripe_accounts.md) (Incremental) + - [stripe_capabilities](stripe_capabilities.md) +- [stripe_apple_pay_domains](stripe_apple_pay_domains.md) +- [stripe_application_fees](stripe_application_fees.md) (Incremental) + - [stripe_fee_refunds](stripe_fee_refunds.md) +- [stripe_balance](stripe_balance.md) +- [stripe_balance_transactions](stripe_balance_transactions.md) (Incremental) +- [stripe_billing_portal_configurations](stripe_billing_portal_configurations.md) +- [stripe_charges](stripe_charges.md) (Incremental) +- [stripe_checkout_sessions](stripe_checkout_sessions.md) +- [stripe_country_specs](stripe_country_specs.md) +- [stripe_coupons](stripe_coupons.md) (Incremental) +- [stripe_credit_notes](stripe_credit_notes.md) +- [stripe_customers](stripe_customers.md) (Incremental) +- [stripe_disputes](stripe_disputes.md) (Incremental) +- [stripe_file_links](stripe_file_links.md) (Incremental) +- [stripe_files](stripe_files.md) (Incremental) +- [stripe_identity_verification_reports](stripe_identity_verification_reports.md) (Incremental) +- [stripe_invoice_items](stripe_invoice_items.md) +- [stripe_invoices](stripe_invoices.md) (Incremental) +- [stripe_issuing_authorizations](stripe_issuing_authorizations.md) (Incremental) +- [stripe_issuing_cardholders](stripe_issuing_cardholders.md) (Incremental) +- [stripe_issuing_cards](stripe_issuing_cards.md) (Incremental) +- [stripe_issuing_disputes](stripe_issuing_disputes.md) (Incremental) +- [stripe_issuing_transactions](stripe_issuing_transactions.md) (Incremental) +- [stripe_payment_intents](stripe_payment_intents.md) (Incremental) +- [stripe_payment_links](stripe_payment_links.md) +- [stripe_payment_methods](stripe_payment_methods.md) +- [stripe_payouts](stripe_payouts.md) (Incremental) +- [stripe_plans](stripe_plans.md) (Incremental) +- [stripe_prices](stripe_prices.md) (Incremental) +- [stripe_products](stripe_products.md) (Incremental) +- [stripe_promotion_codes](stripe_promotion_codes.md) (Incremental) +- [stripe_quotes](stripe_quotes.md) +- [stripe_radar_early_fraud_warnings](stripe_radar_early_fraud_warnings.md) +- [stripe_refunds](stripe_refunds.md) (Incremental) +- [stripe_reporting_report_runs](stripe_reporting_report_runs.md) (Incremental) +- [stripe_reporting_report_types](stripe_reporting_report_types.md) +- [stripe_reviews](stripe_reviews.md) (Incremental) +- [stripe_shipping_rates](stripe_shipping_rates.md) (Incremental) +- [stripe_sigma_scheduled_query_runs](stripe_sigma_scheduled_query_runs.md) +- [stripe_subscription_schedules](stripe_subscription_schedules.md) (Incremental) +- [stripe_subscriptions](stripe_subscriptions.md) (Incremental) +- [stripe_tax_codes](stripe_tax_codes.md) +- [stripe_tax_rates](stripe_tax_rates.md) (Incremental) +- [stripe_terminal_configurations](stripe_terminal_configurations.md) +- [stripe_terminal_locations](stripe_terminal_locations.md) +- [stripe_terminal_readers](stripe_terminal_readers.md) +- [stripe_topups](stripe_topups.md) (Incremental) +- [stripe_transfers](stripe_transfers.md) (Incremental) +- [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md) (Incremental) + - [stripe_treasury_credit_reversals](stripe_treasury_credit_reversals.md) + - [stripe_treasury_debit_reversals](stripe_treasury_debit_reversals.md) + - [stripe_treasury_inbound_transfers](stripe_treasury_inbound_transfers.md) + - [stripe_treasury_outbound_payments](stripe_treasury_outbound_payments.md) + - [stripe_treasury_outbound_transfers](stripe_treasury_outbound_transfers.md) + - [stripe_treasury_received_credits](stripe_treasury_received_credits.md) + - [stripe_treasury_received_debits](stripe_treasury_received_debits.md) + - [stripe_treasury_transaction_entries](stripe_treasury_transaction_entries.md) (Incremental) + - [stripe_treasury_transactions](stripe_treasury_transactions.md) (Incremental) +- [stripe_webhook_endpoints](stripe_webhook_endpoints.md) \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_accounts.md b/plugins/source/stripe/docs/tables/stripe_accounts.md new file mode 100644 index 00000000000000..1c2f90845a2fcb --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_accounts.md @@ -0,0 +1,42 @@ +# Table: stripe_accounts + +https://stripe.com/docs/api/accounts + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. +## Relations + +The following tables depend on stripe_accounts: + - [stripe_capabilities](stripe_capabilities.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|business_profile|JSON| +|business_type|String| +|capabilities|JSON| +|charges_enabled|Bool| +|company|JSON| +|controller|JSON| +|country|String| +|default_currency|String| +|deleted|Bool| +|details_submitted|Bool| +|email|String| +|external_accounts|JSON| +|future_requirements|JSON| +|individual|JSON| +|metadata|JSON| +|object|String| +|payouts_enabled|Bool| +|requirements|JSON| +|settings|JSON| +|tos_acceptance|JSON| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_apple_pay_domains.md b/plugins/source/stripe/docs/tables/stripe_apple_pay_domains.md new file mode 100644 index 00000000000000..cfc987c2f04026 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_apple_pay_domains.md @@ -0,0 +1,20 @@ +# Table: stripe_apple_pay_domains + +https://stripe.com/docs/api/apple_pay_domains + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created|Timestamp| +|deleted|Bool| +|domain_name|String| +|livemode|Bool| +|object|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_application_fees.md b/plugins/source/stripe/docs/tables/stripe_application_fees.md new file mode 100644 index 00000000000000..8c159c27e2c663 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_application_fees.md @@ -0,0 +1,33 @@ +# Table: stripe_application_fees + +https://stripe.com/docs/api/application_fees + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. +## Relations + +The following tables depend on stripe_application_fees: + - [stripe_fee_refunds](stripe_fee_refunds.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|account|JSON| +|amount|Int| +|amount_refunded|Int| +|application|JSON| +|balance_transaction|JSON| +|charge|JSON| +|currency|String| +|livemode|Bool| +|object|String| +|originating_transaction|JSON| +|refunded|Bool| +|refunds|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_balance.md b/plugins/source/stripe/docs/tables/stripe_balance.md new file mode 100644 index 00000000000000..17fd60f2917c8c --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_balance.md @@ -0,0 +1,21 @@ +# Table: stripe_balance + +https://stripe.com/docs/api/balance + +The primary key for this table is **_cq_id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id (PK)|UUID| +|_cq_parent_id|UUID| +|available|JSON| +|connect_reserved|JSON| +|instant_available|JSON| +|issuing|JSON| +|livemode|Bool| +|object|String| +|pending|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_balance_transactions.md b/plugins/source/stripe/docs/tables/stripe_balance_transactions.md new file mode 100644 index 00000000000000..f9b44c66779f25 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_balance_transactions.md @@ -0,0 +1,30 @@ +# Table: stripe_balance_transactions + +https://stripe.com/docs/api/balance_transactions + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|available_on|Int| +|currency|String| +|description|String| +|exchange_rate|Float| +|fee|Int| +|fee_details|JSON| +|net|Int| +|object|String| +|reporting_category|String| +|source|JSON| +|status|String| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_billing_portal_configurations.md b/plugins/source/stripe/docs/tables/stripe_billing_portal_configurations.md new file mode 100644 index 00000000000000..900535b4f4699a --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_billing_portal_configurations.md @@ -0,0 +1,27 @@ +# Table: stripe_billing_portal_configurations + +https://stripe.com/docs/api/billing_portal_configurations + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|active|Bool| +|application|JSON| +|business_profile|JSON| +|created|Timestamp| +|default_return_url|String| +|features|JSON| +|is_default|Bool| +|livemode|Bool| +|login_page|JSON| +|metadata|JSON| +|object|String| +|updated|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_capabilities.md b/plugins/source/stripe/docs/tables/stripe_capabilities.md new file mode 100644 index 00000000000000..82cd88c66b5812 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_capabilities.md @@ -0,0 +1,26 @@ +# Table: stripe_capabilities + +https://stripe.com/docs/api/capabilities + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_accounts](stripe_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|account|JSON| +|future_requirements|JSON| +|object|String| +|requested|Bool| +|requested_at|Int| +|requirements|JSON| +|status|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_charges.md b/plugins/source/stripe/docs/tables/stripe_charges.md new file mode 100644 index 00000000000000..7d1f3edd296c4b --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_charges.md @@ -0,0 +1,65 @@ +# Table: stripe_charges + +https://stripe.com/docs/api/charges + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|amount_captured|Int| +|amount_refunded|Int| +|application|JSON| +|application_fee|JSON| +|application_fee_amount|Int| +|authorization_code|String| +|balance_transaction|JSON| +|billing_details|JSON| +|calculated_statement_descriptor|String| +|captured|Bool| +|currency|String| +|customer|JSON| +|description|String| +|destination|JSON| +|dispute|JSON| +|disputed|Bool| +|failure_balance_transaction|JSON| +|failure_code|String| +|failure_message|String| +|fraud_details|JSON| +|invoice|JSON| +|level3|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|on_behalf_of|JSON| +|outcome|JSON| +|paid|Bool| +|payment_intent|JSON| +|payment_method|String| +|payment_method_details|JSON| +|radar_options|JSON| +|receipt_email|String| +|receipt_number|String| +|receipt_url|String| +|refunded|Bool| +|refunds|JSON| +|review|JSON| +|shipping|JSON| +|source|JSON| +|source_transfer|JSON| +|statement_descriptor|String| +|statement_descriptor_suffix|String| +|status|String| +|transfer|JSON| +|transfer_data|JSON| +|transfer_group|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_checkout_sessions.md b/plugins/source/stripe/docs/tables/stripe_checkout_sessions.md new file mode 100644 index 00000000000000..5f52338a358e9f --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_checkout_sessions.md @@ -0,0 +1,61 @@ +# Table: stripe_checkout_sessions + +https://stripe.com/docs/api/checkout_sessions + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|after_expiration|JSON| +|allow_promotion_codes|Bool| +|amount_subtotal|Int| +|amount_total|Int| +|automatic_tax|JSON| +|billing_address_collection|String| +|cancel_url|String| +|client_reference_id|String| +|consent|JSON| +|consent_collection|JSON| +|created|Timestamp| +|currency|String| +|customer|JSON| +|customer_creation|String| +|customer_details|JSON| +|customer_email|String| +|custom_text|JSON| +|expires_at|Int| +|invoice|JSON| +|invoice_creation|JSON| +|line_items|JSON| +|livemode|Bool| +|locale|String| +|metadata|JSON| +|mode|String| +|object|String| +|payment_intent|JSON| +|payment_link|JSON| +|payment_method_collection|String| +|payment_method_options|JSON| +|payment_method_types|StringArray| +|payment_status|String| +|phone_number_collection|JSON| +|recovered_from|String| +|setup_intent|JSON| +|shipping_address_collection|JSON| +|shipping_cost|JSON| +|shipping_details|JSON| +|shipping_options|JSON| +|status|String| +|submit_type|String| +|subscription|JSON| +|success_url|String| +|tax_id_collection|JSON| +|total_details|JSON| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_country_specs.md b/plugins/source/stripe/docs/tables/stripe_country_specs.md new file mode 100644 index 00000000000000..2c434ba7cb9b43 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_country_specs.md @@ -0,0 +1,22 @@ +# Table: stripe_country_specs + +https://stripe.com/docs/api/country_specs + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|default_currency|String| +|object|String| +|supported_bank_account_currencies|JSON| +|supported_payment_currencies|StringArray| +|supported_payment_methods|StringArray| +|supported_transfer_countries|StringArray| +|verification_fields|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_coupons.md b/plugins/source/stripe/docs/tables/stripe_coupons.md new file mode 100644 index 00000000000000..2742ce7f8dd616 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_coupons.md @@ -0,0 +1,33 @@ +# Table: stripe_coupons + +https://stripe.com/docs/api/coupons + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount_off|Int| +|applies_to|JSON| +|currency|String| +|currency_options|JSON| +|deleted|Bool| +|duration|String| +|duration_in_months|Int| +|livemode|Bool| +|max_redemptions|Int| +|metadata|JSON| +|name|String| +|object|String| +|percent_off|Float| +|redeem_by|Int| +|times_redeemed|Int| +|valid|Bool| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_credit_notes.md b/plugins/source/stripe/docs/tables/stripe_credit_notes.md new file mode 100644 index 00000000000000..2afb1ac8c91ab0 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_credit_notes.md @@ -0,0 +1,41 @@ +# Table: stripe_credit_notes + +https://stripe.com/docs/api/credit_notes + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|created|Timestamp| +|currency|String| +|customer|JSON| +|customer_balance_transaction|JSON| +|discount_amount|Int| +|discount_amounts|JSON| +|invoice|JSON| +|lines|JSON| +|livemode|Bool| +|memo|String| +|metadata|JSON| +|number|String| +|object|String| +|out_of_band_amount|Int| +|pdf|String| +|reason|String| +|refund|JSON| +|status|String| +|subtotal|Int| +|subtotal_excluding_tax|Int| +|tax_amounts|JSON| +|total|Int| +|total_excluding_tax|Int| +|type|String| +|voided_at|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_customers.md b/plugins/source/stripe/docs/tables/stripe_customers.md new file mode 100644 index 00000000000000..925984fd07478a --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_customers.md @@ -0,0 +1,44 @@ +# Table: stripe_customers + +https://stripe.com/docs/api/customers + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|address|JSON| +|balance|Int| +|cash_balance|JSON| +|currency|String| +|default_source|JSON| +|deleted|Bool| +|delinquent|Bool| +|description|String| +|discount|JSON| +|email|String| +|invoice_credit_balance|JSON| +|invoice_prefix|String| +|invoice_settings|JSON| +|livemode|Bool| +|metadata|JSON| +|name|String| +|next_invoice_sequence|Int| +|object|String| +|phone|String| +|preferred_locales|StringArray| +|shipping|JSON| +|sources|JSON| +|subscriptions|JSON| +|tax|JSON| +|tax_exempt|String| +|tax_ids|JSON| +|test_clock|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_disputes.md b/plugins/source/stripe/docs/tables/stripe_disputes.md new file mode 100644 index 00000000000000..d5f7eda049ba0c --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_disputes.md @@ -0,0 +1,31 @@ +# Table: stripe_disputes + +https://stripe.com/docs/api/disputes + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|balance_transactions|JSON| +|charge|JSON| +|currency|String| +|evidence|JSON| +|evidence_details|JSON| +|is_charge_refundable|Bool| +|livemode|Bool| +|metadata|JSON| +|network_reason_code|String| +|object|String| +|payment_intent|JSON| +|reason|String| +|status|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_fee_refunds.md b/plugins/source/stripe/docs/tables/stripe_fee_refunds.md new file mode 100644 index 00000000000000..bcf71c05ee99d2 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_fee_refunds.md @@ -0,0 +1,26 @@ +# Table: stripe_fee_refunds + +https://stripe.com/docs/api/fee_refunds + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_application_fees](stripe_application_fees.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|balance_transaction|JSON| +|created|Timestamp| +|currency|String| +|fee|JSON| +|metadata|JSON| +|object|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_file_links.md b/plugins/source/stripe/docs/tables/stripe_file_links.md new file mode 100644 index 00000000000000..dd18d30645f60f --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_file_links.md @@ -0,0 +1,24 @@ +# Table: stripe_file_links + +https://stripe.com/docs/api/file_links + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|expired|Bool| +|expires_at|Int| +|file|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_files.md b/plugins/source/stripe/docs/tables/stripe_files.md new file mode 100644 index 00000000000000..9a9040fe54da36 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_files.md @@ -0,0 +1,26 @@ +# Table: stripe_files + +https://stripe.com/docs/api/files + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|expires_at|Int| +|filename|String| +|links|JSON| +|object|String| +|purpose|String| +|size|Int| +|title|String| +|type|String| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md b/plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md new file mode 100644 index 00000000000000..c9e59135d20b45 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md @@ -0,0 +1,25 @@ +# Table: stripe_identity_verification_reports + +https://stripe.com/docs/api/identity_verification_reports + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|document|JSON| +|id_number|JSON| +|livemode|Bool| +|object|String| +|options|JSON| +|selfie|JSON| +|type|String| +|verification_session|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_invoice_items.md b/plugins/source/stripe/docs/tables/stripe_invoice_items.md new file mode 100644 index 00000000000000..7b9e2c57d6d37b --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_invoice_items.md @@ -0,0 +1,38 @@ +# Table: stripe_invoice_items + +https://stripe.com/docs/api/invoiceitems + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|currency|String| +|customer|JSON| +|date|Int| +|deleted|Bool| +|description|String| +|discountable|Bool| +|discounts|JSON| +|invoice|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|period|JSON| +|plan|JSON| +|price|JSON| +|proration|Bool| +|quantity|Int| +|subscription|JSON| +|subscription_item|String| +|tax_rates|JSON| +|test_clock|JSON| +|unit_amount|Int| +|unit_amount_decimal|Float| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_invoices.md b/plugins/source/stripe/docs/tables/stripe_invoices.md new file mode 100644 index 00000000000000..fd5cd7ffc2c001 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_invoices.md @@ -0,0 +1,92 @@ +# Table: stripe_invoices + +https://stripe.com/docs/api/invoices + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|account_country|String| +|account_name|String| +|account_tax_ids|JSON| +|amount_due|Int| +|amount_paid|Int| +|amount_remaining|Int| +|application|JSON| +|application_fee_amount|Int| +|attempt_count|Int| +|attempted|Bool| +|auto_advance|Bool| +|automatic_tax|JSON| +|billing_reason|String| +|charge|JSON| +|collection_method|String| +|currency|String| +|customer|JSON| +|customer_address|JSON| +|customer_email|String| +|customer_name|String| +|customer_phone|String| +|customer_shipping|JSON| +|customer_tax_exempt|String| +|customer_tax_ids|JSON| +|custom_fields|JSON| +|default_payment_method|JSON| +|default_source|JSON| +|default_tax_rates|JSON| +|deleted|Bool| +|description|String| +|discount|JSON| +|discounts|JSON| +|due_date|Int| +|ending_balance|Int| +|footer|String| +|from_invoice|JSON| +|hosted_invoice_url|String| +|invoice_pdf|String| +|last_finalization_error|JSON| +|latest_revision|JSON| +|lines|JSON| +|livemode|Bool| +|metadata|JSON| +|next_payment_attempt|Int| +|number|String| +|object|String| +|on_behalf_of|JSON| +|paid|Bool| +|paid_out_of_band|Bool| +|payment_intent|JSON| +|payment_settings|JSON| +|period_end|Int| +|period_start|Int| +|post_payment_credit_notes_amount|Int| +|pre_payment_credit_notes_amount|Int| +|quote|JSON| +|receipt_number|String| +|rendering_options|JSON| +|starting_balance|Int| +|statement_descriptor|String| +|status|String| +|status_transitions|JSON| +|subscription|JSON| +|subscription_proration_date|Int| +|subtotal|Int| +|subtotal_excluding_tax|Int| +|tax|Int| +|test_clock|JSON| +|threshold_reason|JSON| +|total|Int| +|total_discount_amounts|JSON| +|total_excluding_tax|Int| +|total_tax_amounts|JSON| +|transfer_data|JSON| +|webhooks_delivered_at|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_issuing_authorizations.md b/plugins/source/stripe/docs/tables/stripe_issuing_authorizations.md new file mode 100644 index 00000000000000..6e4ec9493659be --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_issuing_authorizations.md @@ -0,0 +1,39 @@ +# Table: stripe_issuing_authorizations + +https://stripe.com/docs/api/issuing_authorizations + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|amount_details|JSON| +|approved|Bool| +|authorization_method|String| +|balance_transactions|JSON| +|card|JSON| +|cardholder|JSON| +|currency|String| +|livemode|Bool| +|merchant_amount|Int| +|merchant_currency|String| +|merchant_data|JSON| +|metadata|JSON| +|network_data|JSON| +|object|String| +|pending_request|JSON| +|request_history|JSON| +|status|String| +|transactions|JSON| +|treasury|JSON| +|verification_data|JSON| +|wallet|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_issuing_cardholders.md b/plugins/source/stripe/docs/tables/stripe_issuing_cardholders.md new file mode 100644 index 00000000000000..ac3beb46cce1c6 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_issuing_cardholders.md @@ -0,0 +1,30 @@ +# Table: stripe_issuing_cardholders + +https://stripe.com/docs/api/issuing_cardholders + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|billing|JSON| +|company|JSON| +|email|String| +|individual|JSON| +|livemode|Bool| +|metadata|JSON| +|name|String| +|object|String| +|phone_number|String| +|requirements|JSON| +|spending_controls|JSON| +|status|String| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_issuing_cards.md b/plugins/source/stripe/docs/tables/stripe_issuing_cards.md new file mode 100644 index 00000000000000..916c0e9434b6aa --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_issuing_cards.md @@ -0,0 +1,38 @@ +# Table: stripe_issuing_cards + +https://stripe.com/docs/api/issuing_cards + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|brand|String| +|cancellation_reason|String| +|cardholder|JSON| +|currency|String| +|cvc|String| +|exp_month|Int| +|exp_year|Int| +|financial_account|String| +|last4|String| +|livemode|Bool| +|metadata|JSON| +|number|String| +|object|String| +|replaced_by|JSON| +|replacement_for|JSON| +|replacement_reason|String| +|shipping|JSON| +|spending_controls|JSON| +|status|String| +|type|String| +|wallets|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_issuing_disputes.md b/plugins/source/stripe/docs/tables/stripe_issuing_disputes.md new file mode 100644 index 00000000000000..71a61e18a62e98 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_issuing_disputes.md @@ -0,0 +1,27 @@ +# Table: stripe_issuing_disputes + +https://stripe.com/docs/api/issuing_disputes + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|balance_transactions|JSON| +|currency|String| +|evidence|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|status|String| +|transaction|JSON| +|treasury|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_issuing_transactions.md b/plugins/source/stripe/docs/tables/stripe_issuing_transactions.md new file mode 100644 index 00000000000000..378e3f8d9be2d3 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_issuing_transactions.md @@ -0,0 +1,35 @@ +# Table: stripe_issuing_transactions + +https://stripe.com/docs/api/issuing_transactions + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|amount_details|JSON| +|authorization|JSON| +|balance_transaction|JSON| +|card|JSON| +|cardholder|JSON| +|currency|String| +|dispute|JSON| +|livemode|Bool| +|merchant_amount|Int| +|merchant_currency|String| +|merchant_data|JSON| +|metadata|JSON| +|object|String| +|purchase_details|JSON| +|treasury|JSON| +|type|String| +|wallet|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_payment_intents.md b/plugins/source/stripe/docs/tables/stripe_payment_intents.md new file mode 100644 index 00000000000000..34b3d5114eaec3 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_payment_intents.md @@ -0,0 +1,54 @@ +# Table: stripe_payment_intents + +https://stripe.com/docs/api/payment_intents + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|amount_capturable|Int| +|amount_details|JSON| +|amount_received|Int| +|application|JSON| +|application_fee_amount|Int| +|automatic_payment_methods|JSON| +|canceled_at|Int| +|cancellation_reason|String| +|capture_method|String| +|client_secret|String| +|confirmation_method|String| +|currency|String| +|customer|JSON| +|description|String| +|invoice|JSON| +|last_payment_error|JSON| +|latest_charge|JSON| +|livemode|Bool| +|metadata|JSON| +|next_action|JSON| +|object|String| +|on_behalf_of|JSON| +|payment_method|JSON| +|payment_method_options|JSON| +|payment_method_types|StringArray| +|processing|JSON| +|receipt_email|String| +|review|JSON| +|setup_future_usage|String| +|shipping|JSON| +|source|JSON| +|statement_descriptor|String| +|statement_descriptor_suffix|String| +|status|String| +|transfer_data|JSON| +|transfer_group|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_payment_links.md b/plugins/source/stripe/docs/tables/stripe_payment_links.md new file mode 100644 index 00000000000000..c94ed7be8f053a --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_payment_links.md @@ -0,0 +1,42 @@ +# Table: stripe_payment_links + +https://stripe.com/docs/api/payment_links + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|active|Bool| +|after_completion|JSON| +|allow_promotion_codes|Bool| +|application_fee_amount|Int| +|application_fee_percent|Float| +|automatic_tax|JSON| +|billing_address_collection|String| +|consent_collection|JSON| +|currency|String| +|customer_creation|String| +|custom_text|JSON| +|line_items|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|on_behalf_of|JSON| +|payment_intent_data|JSON| +|payment_method_collection|String| +|payment_method_types|StringArray| +|phone_number_collection|JSON| +|shipping_address_collection|JSON| +|shipping_options|JSON| +|submit_type|String| +|subscription_data|JSON| +|tax_id_collection|JSON| +|transfer_data|JSON| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_payment_methods.md b/plugins/source/stripe/docs/tables/stripe_payment_methods.md new file mode 100644 index 00000000000000..c720766a63a746 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_payment_methods.md @@ -0,0 +1,53 @@ +# Table: stripe_payment_methods + +https://stripe.com/docs/api/payment_methods + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|acss_debit|JSON| +|affirm|JSON| +|afterpay_clearpay|JSON| +|alipay|JSON| +|au_becs_debit|JSON| +|bacs_debit|JSON| +|bancontact|JSON| +|billing_details|JSON| +|blik|JSON| +|boleto|JSON| +|card|JSON| +|card_present|JSON| +|created|Timestamp| +|customer|JSON| +|customer_balance|JSON| +|eps|JSON| +|fpx|JSON| +|giropay|JSON| +|grabpay|JSON| +|ideal|JSON| +|interac_present|JSON| +|klarna|JSON| +|konbini|JSON| +|link|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|oxxo|JSON| +|p24|JSON| +|paynow|JSON| +|pix|JSON| +|promptpay|JSON| +|radar_options|JSON| +|sepa_debit|JSON| +|sofort|JSON| +|type|String| +|us_bank_account|JSON| +|wechat_pay|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_payouts.md b/plugins/source/stripe/docs/tables/stripe_payouts.md new file mode 100644 index 00000000000000..ec5bef4c0a4f71 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_payouts.md @@ -0,0 +1,37 @@ +# Table: stripe_payouts + +https://stripe.com/docs/api/payouts + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|arrival_date|Int| +|automatic|Bool| +|balance_transaction|JSON| +|currency|String| +|description|String| +|destination|JSON| +|failure_balance_transaction|JSON| +|failure_code|String| +|failure_message|String| +|livemode|Bool| +|metadata|JSON| +|method|String| +|object|String| +|original_payout|JSON| +|reversed_by|JSON| +|source_type|String| +|statement_descriptor|String| +|status|String| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_plans.md b/plugins/source/stripe/docs/tables/stripe_plans.md new file mode 100644 index 00000000000000..cb7f98cf6cc605 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_plans.md @@ -0,0 +1,36 @@ +# Table: stripe_plans + +https://stripe.com/docs/api/plans + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|aggregate_usage|String| +|amount|Int| +|amount_decimal|Float| +|billing_scheme|String| +|currency|String| +|deleted|Bool| +|interval|String| +|interval_count|Int| +|livemode|Bool| +|metadata|JSON| +|nickname|String| +|object|String| +|product|JSON| +|tiers|JSON| +|tiers_mode|String| +|transform_usage|JSON| +|trial_period_days|Int| +|usage_type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_prices.md b/plugins/source/stripe/docs/tables/stripe_prices.md new file mode 100644 index 00000000000000..442748558025d0 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_prices.md @@ -0,0 +1,37 @@ +# Table: stripe_prices + +https://stripe.com/docs/api/prices + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|billing_scheme|String| +|currency|String| +|currency_options|JSON| +|custom_unit_amount|JSON| +|deleted|Bool| +|livemode|Bool| +|lookup_key|String| +|metadata|JSON| +|nickname|String| +|object|String| +|product|JSON| +|recurring|JSON| +|tax_behavior|String| +|tiers|JSON| +|tiers_mode|String| +|transform_quantity|JSON| +|type|String| +|unit_amount|Int| +|unit_amount_decimal|Float| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_products.md b/plugins/source/stripe/docs/tables/stripe_products.md new file mode 100644 index 00000000000000..116bb29d1a62a4 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_products.md @@ -0,0 +1,37 @@ +# Table: stripe_products + +https://stripe.com/docs/api/products + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|attributes|StringArray| +|caption|String| +|deactivate_on|StringArray| +|default_price|JSON| +|deleted|Bool| +|description|String| +|images|StringArray| +|livemode|Bool| +|metadata|JSON| +|name|String| +|object|String| +|package_dimensions|JSON| +|shippable|Bool| +|statement_descriptor|String| +|tax_code|JSON| +|type|String| +|unit_label|String| +|updated|Int| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_promotion_codes.md b/plugins/source/stripe/docs/tables/stripe_promotion_codes.md new file mode 100644 index 00000000000000..e8d0d930ccb05a --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_promotion_codes.md @@ -0,0 +1,28 @@ +# Table: stripe_promotion_codes + +https://stripe.com/docs/api/promotion_codes + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|code|String| +|coupon|JSON| +|customer|JSON| +|expires_at|Int| +|livemode|Bool| +|max_redemptions|Int| +|metadata|JSON| +|object|String| +|restrictions|JSON| +|times_redeemed|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_quotes.md b/plugins/source/stripe/docs/tables/stripe_quotes.md new file mode 100644 index 00000000000000..a1edc035968f55 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_quotes.md @@ -0,0 +1,49 @@ +# Table: stripe_quotes + +https://stripe.com/docs/api/quotes + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount_subtotal|Int| +|amount_total|Int| +|application|JSON| +|application_fee_amount|Int| +|application_fee_percent|Float| +|automatic_tax|JSON| +|collection_method|String| +|computed|JSON| +|created|Timestamp| +|currency|String| +|customer|JSON| +|default_tax_rates|JSON| +|description|String| +|discounts|JSON| +|expires_at|Int| +|footer|String| +|from_quote|JSON| +|header|String| +|invoice|JSON| +|invoice_settings|JSON| +|line_items|JSON| +|livemode|Bool| +|metadata|JSON| +|number|String| +|object|String| +|on_behalf_of|JSON| +|status|String| +|status_transitions|JSON| +|subscription|JSON| +|subscription_data|JSON| +|subscription_schedule|JSON| +|test_clock|JSON| +|total_details|JSON| +|transfer_data|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_radar_early_fraud_warnings.md b/plugins/source/stripe/docs/tables/stripe_radar_early_fraud_warnings.md new file mode 100644 index 00000000000000..b06e7cdc480445 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_radar_early_fraud_warnings.md @@ -0,0 +1,22 @@ +# Table: stripe_radar_early_fraud_warnings + +https://stripe.com/docs/api/radar_early_fraud_warnings + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|actionable|Bool| +|charge|JSON| +|created|Timestamp| +|fraud_type|String| +|livemode|Bool| +|object|String| +|payment_intent|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_refunds.md b/plugins/source/stripe/docs/tables/stripe_refunds.md new file mode 100644 index 00000000000000..f7975874e27bbb --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_refunds.md @@ -0,0 +1,34 @@ +# Table: stripe_refunds + +https://stripe.com/docs/api/refunds + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|balance_transaction|JSON| +|charge|JSON| +|currency|String| +|description|String| +|failure_balance_transaction|JSON| +|failure_reason|String| +|instructions_email|String| +|metadata|JSON| +|next_action|JSON| +|object|String| +|payment_intent|JSON| +|reason|String| +|receipt_number|String| +|source_transfer_reversal|JSON| +|status|String| +|transfer_reversal|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_reporting_report_runs.md b/plugins/source/stripe/docs/tables/stripe_reporting_report_runs.md new file mode 100644 index 00000000000000..db3e34260632ed --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_reporting_report_runs.md @@ -0,0 +1,25 @@ +# Table: stripe_reporting_report_runs + +https://stripe.com/docs/api/reporting_report_runs + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|error|String| +|livemode|Bool| +|object|String| +|parameters|JSON| +|report_type|String| +|result|JSON| +|status|String| +|succeeded_at|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_reporting_report_types.md b/plugins/source/stripe/docs/tables/stripe_reporting_report_types.md new file mode 100644 index 00000000000000..c596c4e5ee3cd2 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_reporting_report_types.md @@ -0,0 +1,23 @@ +# Table: stripe_reporting_report_types + +https://stripe.com/docs/api/reporting_report_types + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|data_available_end|Int| +|data_available_start|Int| +|default_columns|StringArray| +|livemode|Bool| +|name|String| +|object|String| +|updated|Int| +|version|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_reviews.md b/plugins/source/stripe/docs/tables/stripe_reviews.md new file mode 100644 index 00000000000000..388ed4b678edc3 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_reviews.md @@ -0,0 +1,29 @@ +# Table: stripe_reviews + +https://stripe.com/docs/api/reviews + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|billing_zip|String| +|charge|JSON| +|closed_reason|String| +|ip_address|String| +|ip_address_location|JSON| +|livemode|Bool| +|object|String| +|open|Bool| +|opened_reason|String| +|payment_intent|JSON| +|reason|String| +|session|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_shipping_rates.md b/plugins/source/stripe/docs/tables/stripe_shipping_rates.md new file mode 100644 index 00000000000000..7740c125256342 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_shipping_rates.md @@ -0,0 +1,27 @@ +# Table: stripe_shipping_rates + +https://stripe.com/docs/api/shipping_rates + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|delivery_estimate|JSON| +|display_name|String| +|fixed_amount|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|tax_behavior|String| +|tax_code|JSON| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_sigma_scheduled_query_runs.md b/plugins/source/stripe/docs/tables/stripe_sigma_scheduled_query_runs.md new file mode 100644 index 00000000000000..43b84891b65ed9 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_sigma_scheduled_query_runs.md @@ -0,0 +1,25 @@ +# Table: stripe_sigma_scheduled_query_runs + +https://stripe.com/docs/api/sigma_scheduled_query_runs + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created|Timestamp| +|data_load_time|Int| +|error|JSON| +|file|JSON| +|livemode|Bool| +|object|String| +|result_available_until|Int| +|sql|String| +|status|String| +|title|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_subscription_schedules.md b/plugins/source/stripe/docs/tables/stripe_subscription_schedules.md new file mode 100644 index 00000000000000..e21e2fc84054df --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_subscription_schedules.md @@ -0,0 +1,33 @@ +# Table: stripe_subscription_schedules + +https://stripe.com/docs/api/subscription_schedules + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|application|JSON| +|canceled_at|Int| +|completed_at|Int| +|current_phase|JSON| +|customer|JSON| +|default_settings|JSON| +|end_behavior|String| +|livemode|Bool| +|metadata|JSON| +|object|String| +|phases|JSON| +|released_at|Int| +|released_subscription|JSON| +|status|String| +|subscription|JSON| +|test_clock|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_subscriptions.md b/plugins/source/stripe/docs/tables/stripe_subscriptions.md new file mode 100644 index 00000000000000..42ef26c320a0a3 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_subscriptions.md @@ -0,0 +1,56 @@ +# Table: stripe_subscriptions + +https://stripe.com/docs/api/subscriptions + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|application|JSON| +|application_fee_percent|Float| +|automatic_tax|JSON| +|billing_cycle_anchor|Int| +|billing_thresholds|JSON| +|cancel_at|Int| +|cancel_at_period_end|Bool| +|canceled_at|Int| +|collection_method|String| +|currency|String| +|current_period_end|Int| +|current_period_start|Int| +|customer|JSON| +|days_until_due|Int| +|default_payment_method|JSON| +|default_source|JSON| +|default_tax_rates|JSON| +|description|String| +|discount|JSON| +|ended_at|Int| +|items|JSON| +|latest_invoice|JSON| +|livemode|Bool| +|metadata|JSON| +|next_pending_invoice_item_invoice|Int| +|object|String| +|on_behalf_of|JSON| +|pause_collection|JSON| +|payment_settings|JSON| +|pending_invoice_item_interval|JSON| +|pending_setup_intent|JSON| +|pending_update|JSON| +|schedule|JSON| +|start_date|Int| +|status|String| +|test_clock|JSON| +|transfer_data|JSON| +|trial_end|Int| +|trial_start|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_tax_codes.md b/plugins/source/stripe/docs/tables/stripe_tax_codes.md new file mode 100644 index 00000000000000..8aa7fdd27d7f25 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_tax_codes.md @@ -0,0 +1,18 @@ +# Table: stripe_tax_codes + +https://stripe.com/docs/api/tax_codes + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|description|String| +|name|String| +|object|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_tax_rates.md b/plugins/source/stripe/docs/tables/stripe_tax_rates.md new file mode 100644 index 00000000000000..a79114358ddfd6 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_tax_rates.md @@ -0,0 +1,29 @@ +# Table: stripe_tax_rates + +https://stripe.com/docs/api/tax_rates + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active|Bool| +|country|String| +|description|String| +|display_name|String| +|inclusive|Bool| +|jurisdiction|String| +|livemode|Bool| +|metadata|JSON| +|object|String| +|percentage|Float| +|state|String| +|tax_type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_terminal_configurations.md b/plugins/source/stripe/docs/tables/stripe_terminal_configurations.md new file mode 100644 index 00000000000000..7b9303cd8c011d --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_terminal_configurations.md @@ -0,0 +1,22 @@ +# Table: stripe_terminal_configurations + +https://stripe.com/docs/api/terminal_configurations + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|bbpos_wisepos_e|JSON| +|deleted|Bool| +|is_account_default|Bool| +|livemode|Bool| +|object|String| +|tipping|JSON| +|verifone_p400|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_terminal_locations.md b/plugins/source/stripe/docs/tables/stripe_terminal_locations.md new file mode 100644 index 00000000000000..e19815557c6be4 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_terminal_locations.md @@ -0,0 +1,22 @@ +# Table: stripe_terminal_locations + +https://stripe.com/docs/api/terminal_locations + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|address|JSON| +|configuration_overrides|String| +|deleted|Bool| +|display_name|String| +|livemode|Bool| +|metadata|JSON| +|object|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_terminal_readers.md b/plugins/source/stripe/docs/tables/stripe_terminal_readers.md new file mode 100644 index 00000000000000..0164ab413f74c2 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_terminal_readers.md @@ -0,0 +1,27 @@ +# Table: stripe_terminal_readers + +https://stripe.com/docs/api/terminal_readers + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|action|JSON| +|deleted|Bool| +|device_sw_version|String| +|device_type|String| +|ip_address|String| +|label|String| +|livemode|Bool| +|location|JSON| +|metadata|JSON| +|object|String| +|serial_number|String| +|status|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_topups.md b/plugins/source/stripe/docs/tables/stripe_topups.md new file mode 100644 index 00000000000000..fdfa45c7fbc48e --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_topups.md @@ -0,0 +1,32 @@ +# Table: stripe_topups + +https://stripe.com/docs/api/topups + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|balance_transaction|JSON| +|currency|String| +|description|String| +|expected_availability_date|Int| +|failure_code|String| +|failure_message|String| +|livemode|Bool| +|metadata|JSON| +|object|String| +|source|JSON| +|statement_descriptor|String| +|status|String| +|transfer_group|String| +|arrival_date|Int| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_transfers.md b/plugins/source/stripe/docs/tables/stripe_transfers.md new file mode 100644 index 00000000000000..1fe1a18db1e6ca --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_transfers.md @@ -0,0 +1,32 @@ +# Table: stripe_transfers + +https://stripe.com/docs/api/transfers + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|amount_reversed|Int| +|balance_transaction|JSON| +|currency|String| +|description|String| +|destination|JSON| +|destination_payment|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|reversals|JSON| +|reversed|Bool| +|source_transaction|JSON| +|source_type|String| +|transfer_group|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_credit_reversals.md b/plugins/source/stripe/docs/tables/stripe_treasury_credit_reversals.md new file mode 100644 index 00000000000000..5e64d9ddc31f3a --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_credit_reversals.md @@ -0,0 +1,32 @@ +# Table: stripe_treasury_credit_reversals + +https://stripe.com/docs/api/treasury_credit_reversals + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|created|Timestamp| +|currency|String| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|livemode|Bool| +|metadata|JSON| +|network|String| +|object|String| +|received_credit|String| +|status|String| +|status_transitions|JSON| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_debit_reversals.md b/plugins/source/stripe/docs/tables/stripe_treasury_debit_reversals.md new file mode 100644 index 00000000000000..d96bcf29652e95 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_debit_reversals.md @@ -0,0 +1,33 @@ +# Table: stripe_treasury_debit_reversals + +https://stripe.com/docs/api/treasury_debit_reversals + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|created|Timestamp| +|currency|String| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|linked_flows|JSON| +|livemode|Bool| +|metadata|JSON| +|network|String| +|object|String| +|received_debit|String| +|status|String| +|status_transitions|JSON| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_financial_accounts.md b/plugins/source/stripe/docs/tables/stripe_treasury_financial_accounts.md new file mode 100644 index 00000000000000..9f22d7885333d8 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_financial_accounts.md @@ -0,0 +1,43 @@ +# Table: stripe_treasury_financial_accounts + +https://stripe.com/docs/api/treasury_financial_accounts + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. +## Relations + +The following tables depend on stripe_treasury_financial_accounts: + - [stripe_treasury_credit_reversals](stripe_treasury_credit_reversals.md) + - [stripe_treasury_debit_reversals](stripe_treasury_debit_reversals.md) + - [stripe_treasury_inbound_transfers](stripe_treasury_inbound_transfers.md) + - [stripe_treasury_outbound_payments](stripe_treasury_outbound_payments.md) + - [stripe_treasury_outbound_transfers](stripe_treasury_outbound_transfers.md) + - [stripe_treasury_received_credits](stripe_treasury_received_credits.md) + - [stripe_treasury_received_debits](stripe_treasury_received_debits.md) + - [stripe_treasury_transaction_entries](stripe_treasury_transaction_entries.md) + - [stripe_treasury_transactions](stripe_treasury_transactions.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|active_features|StringArray| +|balance|JSON| +|country|String| +|features|JSON| +|financial_addresses|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|pending_features|StringArray| +|platform_restrictions|JSON| +|restricted_features|StringArray| +|status|String| +|status_details|JSON| +|supported_currencies|StringArray| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_inbound_transfers.md b/plugins/source/stripe/docs/tables/stripe_treasury_inbound_transfers.md new file mode 100644 index 00000000000000..508c270d4a4df5 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_inbound_transfers.md @@ -0,0 +1,38 @@ +# Table: stripe_treasury_inbound_transfers + +https://stripe.com/docs/api/treasury_inbound_transfers + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|cancelable|Bool| +|created|Timestamp| +|currency|String| +|description|String| +|failure_details|JSON| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|linked_flows|JSON| +|livemode|Bool| +|metadata|JSON| +|object|String| +|origin_payment_method|String| +|origin_payment_method_details|JSON| +|returned|Bool| +|statement_descriptor|String| +|status|String| +|status_transitions|JSON| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_outbound_payments.md b/plugins/source/stripe/docs/tables/stripe_treasury_outbound_payments.md new file mode 100644 index 00000000000000..072a0d33402050 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_outbound_payments.md @@ -0,0 +1,39 @@ +# Table: stripe_treasury_outbound_payments + +https://stripe.com/docs/api/treasury_outbound_payments + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|cancelable|Bool| +|created|Timestamp| +|currency|String| +|customer|String| +|description|String| +|destination_payment_method|String| +|destination_payment_method_details|JSON| +|end_user_details|JSON| +|expected_arrival_date|Int| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|livemode|Bool| +|metadata|JSON| +|object|String| +|returned_details|JSON| +|statement_descriptor|String| +|status|String| +|status_transitions|JSON| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_outbound_transfers.md b/plugins/source/stripe/docs/tables/stripe_treasury_outbound_transfers.md new file mode 100644 index 00000000000000..7e577e8b0ee850 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_outbound_transfers.md @@ -0,0 +1,37 @@ +# Table: stripe_treasury_outbound_transfers + +https://stripe.com/docs/api/treasury_outbound_transfers + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|cancelable|Bool| +|created|Timestamp| +|currency|String| +|description|String| +|destination_payment_method|String| +|destination_payment_method_details|JSON| +|expected_arrival_date|Int| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|livemode|Bool| +|metadata|JSON| +|object|String| +|returned_details|JSON| +|statement_descriptor|String| +|status|String| +|status_transitions|JSON| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_received_credits.md b/plugins/source/stripe/docs/tables/stripe_treasury_received_credits.md new file mode 100644 index 00000000000000..d0243fe275605d --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_received_credits.md @@ -0,0 +1,34 @@ +# Table: stripe_treasury_received_credits + +https://stripe.com/docs/api/treasury_received_credits + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|created|Timestamp| +|currency|String| +|description|String| +|failure_code|String| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|initiating_payment_method_details|JSON| +|linked_flows|JSON| +|livemode|Bool| +|network|String| +|object|String| +|reversal_details|JSON| +|status|String| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_received_debits.md b/plugins/source/stripe/docs/tables/stripe_treasury_received_debits.md new file mode 100644 index 00000000000000..41d7165967cc43 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_received_debits.md @@ -0,0 +1,34 @@ +# Table: stripe_treasury_received_debits + +https://stripe.com/docs/api/treasury_received_debits + +The primary key for this table is **id**. + +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|amount|Int| +|created|Timestamp| +|currency|String| +|description|String| +|failure_code|String| +|financial_account|String| +|hosted_regulatory_receipt_url|String| +|initiating_payment_method_details|JSON| +|linked_flows|JSON| +|livemode|Bool| +|network|String| +|object|String| +|reversal_details|JSON| +|status|String| +|transaction|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_transaction_entries.md b/plugins/source/stripe/docs/tables/stripe_treasury_transaction_entries.md new file mode 100644 index 00000000000000..ce68f8b8b8aca2 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_transaction_entries.md @@ -0,0 +1,31 @@ +# Table: stripe_treasury_transaction_entries + +https://stripe.com/docs/api/treasury_transaction_entries + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|balance_impact|JSON| +|currency|String| +|effective_at|Int| +|financial_account|String| +|flow|String| +|flow_details|JSON| +|flow_type|String| +|livemode|Bool| +|object|String| +|transaction|JSON| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_treasury_transactions.md b/plugins/source/stripe/docs/tables/stripe_treasury_transactions.md new file mode 100644 index 00000000000000..882baeec1f3e98 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_treasury_transactions.md @@ -0,0 +1,33 @@ +# Table: stripe_treasury_transactions + +https://stripe.com/docs/api/treasury_transactions + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. +## Relations + +This table depends on [stripe_treasury_financial_accounts](stripe_treasury_financial_accounts.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|amount|Int| +|balance_impact|JSON| +|currency|String| +|description|String| +|entries|JSON| +|financial_account|String| +|flow|String| +|flow_details|JSON| +|flow_type|String| +|livemode|Bool| +|object|String| +|status|String| +|status_transitions|JSON| \ No newline at end of file diff --git a/plugins/source/stripe/docs/tables/stripe_webhook_endpoints.md b/plugins/source/stripe/docs/tables/stripe_webhook_endpoints.md new file mode 100644 index 00000000000000..17fec97213d4e1 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_webhook_endpoints.md @@ -0,0 +1,27 @@ +# Table: stripe_webhook_endpoints + +https://stripe.com/docs/api/webhook_endpoints + +The primary key for this table is **id**. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|api_version|String| +|application|String| +|created|Timestamp| +|deleted|Bool| +|description|String| +|enabled_events|StringArray| +|livemode|Bool| +|metadata|JSON| +|object|String| +|secret|String| +|status|String| +|url|String| \ No newline at end of file diff --git a/plugins/source/stripe/go.mod b/plugins/source/stripe/go.mod new file mode 100644 index 00000000000000..2e59d68c717710 --- /dev/null +++ b/plugins/source/stripe/go.mod @@ -0,0 +1,47 @@ +module github.com/cloudquery/cloudquery/plugins/source/stripe + +go 1.19 + +require ( + github.com/cloudquery/plugin-sdk v1.25.0 + github.com/gertd/go-pluralize v0.2.1 + github.com/rs/zerolog v1.28.0 + github.com/stripe/stripe-go/v74 v74.4.0 + github.com/stripe/stripe-mock v0.148.0 + golang.org/x/time v0.3.0 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/getsentry/sentry-go v0.16.0 // indirect + github.com/ghodss/yaml v1.0.0 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 // indirect + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/lestrrat-go/jspointer v0.0.0-20181205001929-82fadba7561c // indirect + github.com/lestrrat-go/jsref v0.0.0-20211028120858-c0bcbb5abf20 // indirect + github.com/lestrrat-go/jsschema v0.0.0-20181205002244-5c81c58ffcc3 // indirect + github.com/lestrrat-go/jsval v0.0.0-20181205002323-20277e9befc0 // indirect + github.com/lestrrat-go/option v1.0.1 // indirect + github.com/lestrrat-go/pdebug v0.0.0-20210111095411-35b07dbf089b // indirect + github.com/lestrrat-go/structinfo v0.0.0-20210312050401-7f8bd69d6acb // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/thoas/go-funk v0.9.3 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 // indirect + golang.org/x/net v0.4.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect + google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect + google.golang.org/grpc v1.51.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect +) diff --git a/plugins/source/stripe/go.sum b/plugins/source/stripe/go.sum new file mode 100644 index 00000000000000..ff5fb99ce1c923 --- /dev/null +++ b/plugins/source/stripe/go.sum @@ -0,0 +1,502 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= +github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= +github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +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/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/gertd/go-pluralize v0.2.1 h1:M3uASbVjMnTsPb0PNqg+E/24Vwigyo/tvyMTtAlLgiA= +github.com/gertd/go-pluralize v0.2.1/go.mod h1:rbYaKDbsXxmRfr8uygAEKhOWsjyrrqrkHVpZvoOp8zk= +github.com/getsentry/sentry-go v0.16.0 h1:owk+S+5XcgJLlGR/3+3s6N4d+uKwqYvh/eS0AIMjPWo= +github.com/getsentry/sentry-go v0.16.0/go.mod h1:ZXCloQLj0pG7mja5NK6NPf2V4A88YJ4pNlc2mOHwh6Y= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/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 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 h1:hRcWZ7716+E1tkMSZJ/QeeC2dPGGB1R/4z4m9RsL8Qg= +github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3/go.mod h1:54asssGY3Bohr5FRbew+bjfuQTT2WS9V7hW7gPqmcKM= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20201002093600-73cf2ae9d891/go.mod h1:GhphxcdlaRyAuBSvo6rV71BvQcvB/vuX8ugCyybuS2k= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 h1:o95KDiV/b1xdkumY5YbLR0/n2+wBxUpgf3HgfKgTyLI= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3/go.mod h1:hTxjzRcX49ogbTGVJ1sM5mz5s+SSgiGIyL3jjPxl32E= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/lestrrat-go/jspointer v0.0.0-20181205001929-82fadba7561c h1:pGh5EFIfczeDHwgMHgfwjhZzL+8/E3uZF6T7vER/W8c= +github.com/lestrrat-go/jspointer v0.0.0-20181205001929-82fadba7561c/go.mod h1:xw2Gm4Mg+ST9s8fHR1VkUIyOJMJnSloRZlPQB+wyVpY= +github.com/lestrrat-go/jsref v0.0.0-20181205001954-1b590508f37d/go.mod h1:h+r25adx46+IvUSt/rTTvXNnCDnu3lRTkMPPR/GdCwk= +github.com/lestrrat-go/jsref v0.0.0-20211028120858-c0bcbb5abf20 h1:E1vlSQTLj+2EK0mrFGDc57u3QN7RybAUiGEOUAlYRd0= +github.com/lestrrat-go/jsref v0.0.0-20211028120858-c0bcbb5abf20/go.mod h1:A5HUnnciqLnCzBsUqvspKKUgIkA+i/4dSaqmKV/D2Pw= +github.com/lestrrat-go/jsschema v0.0.0-20181205002244-5c81c58ffcc3 h1:TSKrrGm89gmmVlrG34ZzCIOMNVk5kkSV1P88Dt38DiE= +github.com/lestrrat-go/jsschema v0.0.0-20181205002244-5c81c58ffcc3/go.mod h1:SVfIykmWQyFuRToBTKQ8AcveWeOunS2phYxA8hJ/6Gg= +github.com/lestrrat-go/jsval v0.0.0-20181205002323-20277e9befc0 h1:w4rIjeCV/gQpxtn3i1voyF6Hd7v1mRGIB63F7RZOk1U= +github.com/lestrrat-go/jsval v0.0.0-20181205002323-20277e9befc0/go.mod h1:hazjwMAn+trtmUnjvhIzSIZ0YS+2egAMonQMjDhcC2s= +github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/pdebug v0.0.0-20180220043849-39f9a71bcabe/go.mod h1:zvUY6gZZVL2nu7NM+/3b51Z/hxyFZCZxV0hvfZ3NJlg= +github.com/lestrrat-go/pdebug v0.0.0-20210111095411-35b07dbf089b h1:2v0K4PeWeccG1wpznCE71PqO5scFzSj3jZGkQaVYEWg= +github.com/lestrrat-go/pdebug v0.0.0-20210111095411-35b07dbf089b/go.mod h1:RbVbom7RDVgpH5IqUPbhJ425z9iRIRH0tRWp+uxEjCE= +github.com/lestrrat-go/structinfo v0.0.0-20190212233437-acd51874663b/go.mod h1:s2U6PowV3/Jobkx/S9d0XiPwOzs6niW3DIouw+7nZC8= +github.com/lestrrat-go/structinfo v0.0.0-20210312050401-7f8bd69d6acb h1:DDg5u5lk2v8O8qxs8ecQkMUBj3tLW6wkSLzxxOyi1Ig= +github.com/lestrrat-go/structinfo v0.0.0-20210312050401-7f8bd69d6acb/go.mod h1:i+E8Uf04vf2QjOWyJdGY75vmG+4rxiZW2kIj1lTB5mo= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pkg/errors v0.8.1-0.20170505043639-c605e284fe17/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo= +github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= +github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/schollz/progressbar/v3 v3.12.2 h1:yLqqqpQNMxGxHY8uEshRihaHWwa0rf0yb7/Zrpgq2C0= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20150620232711-089c7181b8c7/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.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +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.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stripe/stripe-go/v74 v74.4.0 h1:FVwJLgtXMzlrRP5mk9bdXvjtbsk8sFQ90r01Gl+uwfM= +github.com/stripe/stripe-go/v74 v74.4.0/go.mod h1:5PoXNp30AJ3tGq57ZcFuaMylzNi8KpwlrYAFmO1fHZw= +github.com/stripe/stripe-mock v0.148.0 h1:mQo8WqX4/5G+E4IA8V0dBQ4o4AWTWRonii+xfWp1kRk= +github.com/stripe/stripe-mock v0.148.0/go.mod h1:n/TuP1Hets25zYh/9Hhdup3DlXHd2pyWGYZyI+3H4MA= +github.com/thoas/go-funk v0.9.3 h1:7+nAEx3kn5ZJcnDm2Bh23N2yOtweO14bi//dvRtgLpw= +github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +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.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc/examples v0.0.0-20210424002626-9572fd6faeae/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= +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= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +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.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/plugins/source/stripe/main.go b/plugins/source/stripe/main.go new file mode 100644 index 00000000000000..7ed63368c9f0df --- /dev/null +++ b/plugins/source/stripe/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/plugin" + "github.com/cloudquery/plugin-sdk/serve" +) + +const sentryDSN = "https://4606a1601b52488889313375ba91df89@o1396617.ingest.sentry.io/4504441433751552" + +func main() { + serve.Source(plugin.Plugin(), serve.WithSourceSentryDSN(sentryDSN)) +} diff --git a/plugins/source/stripe/resources/plugin/plugin.go b/plugins/source/stripe/resources/plugin/plugin.go new file mode 100644 index 00000000000000..8409e751f6591e --- /dev/null +++ b/plugins/source/stripe/resources/plugin/plugin.go @@ -0,0 +1,19 @@ +package plugin + +import ( + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/plugins/source" +) + +var ( + Version = "development" +) + +func Plugin() *source.Plugin { + return source.NewPlugin( + "stripe", + Version, + tables(), + client.Configure, + ) +} diff --git a/plugins/source/stripe/resources/plugin/tables.go b/plugins/source/stripe/resources/plugin/tables.go new file mode 100644 index 00000000000000..9b0391086351aa --- /dev/null +++ b/plugins/source/stripe/resources/plugin/tables.go @@ -0,0 +1,97 @@ +package plugin + +import ( + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/accounts" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/apple_pay_domains" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/application_fees" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/balance" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/billing_portal" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/charges" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/checkout" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/country_specs" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/coupons" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/credit_notes" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/customers" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/disputes" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/file_links" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/files" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/identity" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/invoices" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payment" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payouts" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/plans" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/prices" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/products" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/promotion_codes" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/quotes" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/radar" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/refunds" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/reporting" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/reviews" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/shipping_rates" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/sigma" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/subscription" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/tax" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/terminal" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/topups" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/transfers" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/treasury" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/webhook_endpoints" + "github.com/cloudquery/plugin-sdk/schema" +) + +func tables() []*schema.Table { + return []*schema.Table{ + accounts.Accounts(), + apple_pay_domains.ApplePayDomains(), + application_fees.ApplicationFees(), + balance.Balance(), + balance.BalanceTransactions(), + billing_portal.BillingPortalConfigurations(), + charges.Charges(), + checkout.CheckoutSessions(), + country_specs.CountrySpecs(), + coupons.Coupons(), + credit_notes.CreditNotes(), + customers.Customers(), + disputes.Disputes(), + file_links.FileLinks(), + files.Files(), + identity.IdentityVerificationReports(), + invoices.Invoices(), + invoices.InvoiceItems(), + issuing.IssuingAuthorizations(), + issuing.IssuingCardholders(), + issuing.IssuingCards(), + issuing.IssuingDisputes(), + issuing.IssuingTransactions(), + payment.PaymentIntents(), + payment.PaymentLinks(), + payment.PaymentMethods(), + payouts.Payouts(), + plans.Plans(), + prices.Prices(), + products.Products(), + promotion_codes.PromotionCodes(), + quotes.Quotes(), + radar.RadarEarlyFraudWarnings(), + refunds.Refunds(), + reporting.ReportingReportRuns(), + reporting.ReportingReportTypes(), + reviews.Reviews(), + shipping_rates.ShippingRates(), + sigma.SigmaScheduledQueryRuns(), + subscription.Subscriptions(), + subscription.SubscriptionSchedules(), + tax.TaxCodes(), + tax.TaxRates(), + terminal.TerminalConfigurations(), + terminal.TerminalLocations(), + terminal.TerminalReaders(), + topups.Topups(), + transfers.Transfers(), + treasury.TreasuryFinancialAccounts(), + webhook_endpoints.WebhookEndpoints(), + } +} diff --git a/plugins/source/stripe/resources/services/accounts/accounts.go b/plugins/source/stripe/resources/services/accounts/accounts.go new file mode 100644 index 00000000000000..d907f0fc1db8e1 --- /dev/null +++ b/plugins/source/stripe/resources/services/accounts/accounts.go @@ -0,0 +1,81 @@ +package accounts + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Accounts() *schema.Table { + return &schema.Table{ + Name: "stripe_accounts", + Description: `https://stripe.com/docs/api/accounts`, + Transform: transformers.TransformWithStruct(&stripe.Account{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchAccounts, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + + Relations: []*schema.Table{ + Capabilities(), + }, + } +} + +func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.AccountListParams{} + + const key = "accounts" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Accounts.List(lp) + for it.Next() { + data := it.Account() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/accounts/accounts_test.go b/plugins/source/stripe/resources/services/accounts/accounts_test.go new file mode 100644 index 00000000000000..6b95c725b5b372 --- /dev/null +++ b/plugins/source/stripe/resources/services/accounts/accounts_test.go @@ -0,0 +1,12 @@ +package accounts_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/accounts" +) + +func TestAccounts(t *testing.T) { + client.MockTestHelper(t, accounts.Accounts(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/accounts/capabilities.go b/plugins/source/stripe/resources/services/accounts/capabilities.go new file mode 100644 index 00000000000000..84ad91d5ffe114 --- /dev/null +++ b/plugins/source/stripe/resources/services/accounts/capabilities.go @@ -0,0 +1,47 @@ +package accounts + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Capabilities() *schema.Table { + return &schema.Table{ + Name: "stripe_capabilities", + Description: `https://stripe.com/docs/api/capabilities`, + Transform: transformers.TransformWithStruct(&stripe.Capability{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchCapabilities, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchCapabilities(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.Account) + + lp := &stripe.CapabilityListParams{ + Account: stripe.String(p.ID), + } + + it := cl.Services.Capabilities.List(lp) + for it.Next() { + res <- it.Capability() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains.go b/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains.go new file mode 100644 index 00000000000000..358e50dc5d9799 --- /dev/null +++ b/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains.go @@ -0,0 +1,43 @@ +package apple_pay_domains + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func ApplePayDomains() *schema.Table { + return &schema.Table{ + Name: "stripe_apple_pay_domains", + Description: `https://stripe.com/docs/api/apple_pay_domains`, + Transform: transformers.TransformWithStruct(&stripe.ApplePayDomain{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchApplePayDomains, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchApplePayDomains(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ApplePayDomainListParams{} + + it := cl.Services.ApplePayDomains.List(lp) + for it.Next() { + res <- it.ApplePayDomain() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains_test.go b/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains_test.go new file mode 100644 index 00000000000000..2a1794de7f45eb --- /dev/null +++ b/plugins/source/stripe/resources/services/apple_pay_domains/apple_pay_domains_test.go @@ -0,0 +1,12 @@ +package apple_pay_domains_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/apple_pay_domains" +) + +func TestApplePayDomains(t *testing.T) { + client.MockTestHelper(t, apple_pay_domains.ApplePayDomains(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/application_fees/application_fees.go b/plugins/source/stripe/resources/services/application_fees/application_fees.go new file mode 100644 index 00000000000000..9dcbd29378bc5f --- /dev/null +++ b/plugins/source/stripe/resources/services/application_fees/application_fees.go @@ -0,0 +1,81 @@ +package application_fees + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func ApplicationFees() *schema.Table { + return &schema.Table{ + Name: "stripe_application_fees", + Description: `https://stripe.com/docs/api/application_fees`, + Transform: transformers.TransformWithStruct(&stripe.ApplicationFee{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchApplicationFees, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + + Relations: []*schema.Table{ + FeeRefunds(), + }, + } +} + +func fetchApplicationFees(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ApplicationFeeListParams{} + + const key = "application_fees" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.ApplicationFees.List(lp) + for it.Next() { + data := it.ApplicationFee() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/application_fees/application_fees_test.go b/plugins/source/stripe/resources/services/application_fees/application_fees_test.go new file mode 100644 index 00000000000000..970d1bce55e09c --- /dev/null +++ b/plugins/source/stripe/resources/services/application_fees/application_fees_test.go @@ -0,0 +1,12 @@ +package application_fees_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/application_fees" +) + +func TestApplicationFees(t *testing.T) { + client.MockTestHelper(t, application_fees.ApplicationFees(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/application_fees/fee_refunds.go b/plugins/source/stripe/resources/services/application_fees/fee_refunds.go new file mode 100644 index 00000000000000..4c2ac4744d158a --- /dev/null +++ b/plugins/source/stripe/resources/services/application_fees/fee_refunds.go @@ -0,0 +1,47 @@ +package application_fees + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func FeeRefunds() *schema.Table { + return &schema.Table{ + Name: "stripe_fee_refunds", + Description: `https://stripe.com/docs/api/fee_refunds`, + Transform: transformers.TransformWithStruct(&stripe.FeeRefund{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchFeeRefunds, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchFeeRefunds(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.ApplicationFee) + + lp := &stripe.FeeRefundListParams{ + ID: stripe.String(p.ID), + } + + it := cl.Services.FeeRefunds.List(lp) + for it.Next() { + res <- it.FeeRefund() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/balance/balance.go b/plugins/source/stripe/resources/services/balance/balance.go new file mode 100644 index 00000000000000..0b35cba74e8507 --- /dev/null +++ b/plugins/source/stripe/resources/services/balance/balance.go @@ -0,0 +1,30 @@ +package balance + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Balance() *schema.Table { + return &schema.Table{ + Name: "stripe_balance", + Description: `https://stripe.com/docs/api/balance`, + Transform: transformers.TransformWithStruct(&stripe.Balance{}, client.SharedTransformers(transformers.WithSkipFields("APIResource"))...), + Resolver: fetchBalance, + } +} + +func fetchBalance(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + val, err := cl.Services.Balance.Get(&stripe.BalanceParams{}) + if err != nil { + return err + } + res <- val + return nil +} diff --git a/plugins/source/stripe/resources/services/balance/balance_test.go b/plugins/source/stripe/resources/services/balance/balance_test.go new file mode 100644 index 00000000000000..67e1c9324f49aa --- /dev/null +++ b/plugins/source/stripe/resources/services/balance/balance_test.go @@ -0,0 +1,12 @@ +package balance_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/balance" +) + +func TestBalance(t *testing.T) { + client.MockTestHelper(t, balance.Balance(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/balance/balance_transactions.go b/plugins/source/stripe/resources/services/balance/balance_transactions.go new file mode 100644 index 00000000000000..17a32b71a5e7e7 --- /dev/null +++ b/plugins/source/stripe/resources/services/balance/balance_transactions.go @@ -0,0 +1,77 @@ +package balance + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func BalanceTransactions() *schema.Table { + return &schema.Table{ + Name: "stripe_balance_transactions", + Description: `https://stripe.com/docs/api/balance_transactions`, + Transform: transformers.TransformWithStruct(&stripe.BalanceTransaction{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchBalanceTransactions, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchBalanceTransactions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.BalanceTransactionListParams{} + + const key = "balance_transactions" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.BalanceTransactions.List(lp) + for it.Next() { + data := it.BalanceTransaction() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/balance/balance_transactions_test.go b/plugins/source/stripe/resources/services/balance/balance_transactions_test.go new file mode 100644 index 00000000000000..705ba7994ecb01 --- /dev/null +++ b/plugins/source/stripe/resources/services/balance/balance_transactions_test.go @@ -0,0 +1,12 @@ +package balance_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/balance" +) + +func TestBalanceTransactions(t *testing.T) { + client.MockTestHelper(t, balance.BalanceTransactions(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations.go b/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations.go new file mode 100644 index 00000000000000..f6536afaed3314 --- /dev/null +++ b/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations.go @@ -0,0 +1,43 @@ +package billing_portal + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func BillingPortalConfigurations() *schema.Table { + return &schema.Table{ + Name: "stripe_billing_portal_configurations", + Description: `https://stripe.com/docs/api/billing_portal_configurations`, + Transform: transformers.TransformWithStruct(&stripe.BillingPortalConfiguration{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchBillingPortalConfigurations, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchBillingPortalConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.BillingPortalConfigurationListParams{} + + it := cl.Services.BillingPortalConfigurations.List(lp) + for it.Next() { + res <- it.BillingPortalConfiguration() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations_test.go b/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations_test.go new file mode 100644 index 00000000000000..9a3244898d259b --- /dev/null +++ b/plugins/source/stripe/resources/services/billing_portal/billing_portal_configurations_test.go @@ -0,0 +1,12 @@ +package billing_portal_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/billing_portal" +) + +func TestBillingPortalConfigurations(t *testing.T) { + client.MockTestHelper(t, billing_portal.BillingPortalConfigurations(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/charges/charges.go b/plugins/source/stripe/resources/services/charges/charges.go new file mode 100644 index 00000000000000..ca4f7ea484523e --- /dev/null +++ b/plugins/source/stripe/resources/services/charges/charges.go @@ -0,0 +1,77 @@ +package charges + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Charges() *schema.Table { + return &schema.Table{ + Name: "stripe_charges", + Description: `https://stripe.com/docs/api/charges`, + Transform: transformers.TransformWithStruct(&stripe.Charge{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("Destination", "Dispute", "Level3", "Source")))...), + Resolver: fetchCharges, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchCharges(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ChargeListParams{} + + const key = "charges" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Charges.List(lp) + for it.Next() { + data := it.Charge() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/charges/charges_test.go b/plugins/source/stripe/resources/services/charges/charges_test.go new file mode 100644 index 00000000000000..ab88fd1482be73 --- /dev/null +++ b/plugins/source/stripe/resources/services/charges/charges_test.go @@ -0,0 +1,12 @@ +package charges_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/charges" +) + +func TestCharges(t *testing.T) { + client.MockTestHelper(t, charges.Charges(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/checkout/checkout_sessions.go b/plugins/source/stripe/resources/services/checkout/checkout_sessions.go new file mode 100644 index 00000000000000..6598a7c2ae0ed0 --- /dev/null +++ b/plugins/source/stripe/resources/services/checkout/checkout_sessions.go @@ -0,0 +1,43 @@ +package checkout + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func CheckoutSessions() *schema.Table { + return &schema.Table{ + Name: "stripe_checkout_sessions", + Description: `https://stripe.com/docs/api/checkout_sessions`, + Transform: transformers.TransformWithStruct(&stripe.CheckoutSession{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchCheckoutSessions, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchCheckoutSessions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.CheckoutSessionListParams{} + + it := cl.Services.CheckoutSessions.List(lp) + for it.Next() { + res <- it.CheckoutSession() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/checkout/checkout_sessions_test.go b/plugins/source/stripe/resources/services/checkout/checkout_sessions_test.go new file mode 100644 index 00000000000000..6fdc6ebb76c1db --- /dev/null +++ b/plugins/source/stripe/resources/services/checkout/checkout_sessions_test.go @@ -0,0 +1,12 @@ +package checkout_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/checkout" +) + +func TestCheckoutSessions(t *testing.T) { + client.MockTestHelper(t, checkout.CheckoutSessions(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/country_specs/country_specs.go b/plugins/source/stripe/resources/services/country_specs/country_specs.go new file mode 100644 index 00000000000000..c359f05d22a999 --- /dev/null +++ b/plugins/source/stripe/resources/services/country_specs/country_specs.go @@ -0,0 +1,43 @@ +package country_specs + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func CountrySpecs() *schema.Table { + return &schema.Table{ + Name: "stripe_country_specs", + Description: `https://stripe.com/docs/api/country_specs`, + Transform: transformers.TransformWithStruct(&stripe.CountrySpec{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchCountrySpecs, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchCountrySpecs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.CountrySpecListParams{} + + it := cl.Services.CountrySpecs.List(lp) + for it.Next() { + res <- it.CountrySpec() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/country_specs/country_specs_test.go b/plugins/source/stripe/resources/services/country_specs/country_specs_test.go new file mode 100644 index 00000000000000..6ed72869b18cb0 --- /dev/null +++ b/plugins/source/stripe/resources/services/country_specs/country_specs_test.go @@ -0,0 +1,12 @@ +package country_specs_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/country_specs" +) + +func TestCountrySpecs(t *testing.T) { + client.MockTestHelper(t, country_specs.CountrySpecs(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/coupons/coupons.go b/plugins/source/stripe/resources/services/coupons/coupons.go new file mode 100644 index 00000000000000..ac0da08af91e0b --- /dev/null +++ b/plugins/source/stripe/resources/services/coupons/coupons.go @@ -0,0 +1,77 @@ +package coupons + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Coupons() *schema.Table { + return &schema.Table{ + Name: "stripe_coupons", + Description: `https://stripe.com/docs/api/coupons`, + Transform: transformers.TransformWithStruct(&stripe.Coupon{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchCoupons, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchCoupons(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.CouponListParams{} + + const key = "coupons" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Coupons.List(lp) + for it.Next() { + data := it.Coupon() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/coupons/coupons_test.go b/plugins/source/stripe/resources/services/coupons/coupons_test.go new file mode 100644 index 00000000000000..32c47e3fcff0e0 --- /dev/null +++ b/plugins/source/stripe/resources/services/coupons/coupons_test.go @@ -0,0 +1,12 @@ +package coupons_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/coupons" +) + +func TestCoupons(t *testing.T) { + client.MockTestHelper(t, coupons.Coupons(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/credit_notes/credit_notes.go b/plugins/source/stripe/resources/services/credit_notes/credit_notes.go new file mode 100644 index 00000000000000..1b8adb52fe8f77 --- /dev/null +++ b/plugins/source/stripe/resources/services/credit_notes/credit_notes.go @@ -0,0 +1,43 @@ +package credit_notes + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func CreditNotes() *schema.Table { + return &schema.Table{ + Name: "stripe_credit_notes", + Description: `https://stripe.com/docs/api/credit_notes`, + Transform: transformers.TransformWithStruct(&stripe.CreditNote{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchCreditNotes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchCreditNotes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.CreditNoteListParams{} + + it := cl.Services.CreditNotes.List(lp) + for it.Next() { + res <- it.CreditNote() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/credit_notes/credit_notes_test.go b/plugins/source/stripe/resources/services/credit_notes/credit_notes_test.go new file mode 100644 index 00000000000000..095425e05391a6 --- /dev/null +++ b/plugins/source/stripe/resources/services/credit_notes/credit_notes_test.go @@ -0,0 +1,12 @@ +package credit_notes_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/credit_notes" +) + +func TestCreditNotes(t *testing.T) { + client.MockTestHelper(t, credit_notes.CreditNotes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/customers/customers.go b/plugins/source/stripe/resources/services/customers/customers.go new file mode 100644 index 00000000000000..c702dfb390fbe0 --- /dev/null +++ b/plugins/source/stripe/resources/services/customers/customers.go @@ -0,0 +1,77 @@ +package customers + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Customers() *schema.Table { + return &schema.Table{ + Name: "stripe_customers", + Description: `https://stripe.com/docs/api/customers`, + Transform: transformers.TransformWithStruct(&stripe.Customer{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("DefaultSource")))...), + Resolver: fetchCustomers, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchCustomers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.CustomerListParams{} + + const key = "customers" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Customers.List(lp) + for it.Next() { + data := it.Customer() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/customers/customers_test.go b/plugins/source/stripe/resources/services/customers/customers_test.go new file mode 100644 index 00000000000000..9d2b194dbbeb1e --- /dev/null +++ b/plugins/source/stripe/resources/services/customers/customers_test.go @@ -0,0 +1,12 @@ +package customers_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/customers" +) + +func TestCustomers(t *testing.T) { + client.MockTestHelper(t, customers.Customers(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/disputes/disputes.go b/plugins/source/stripe/resources/services/disputes/disputes.go new file mode 100644 index 00000000000000..b6c6ee1411bc11 --- /dev/null +++ b/plugins/source/stripe/resources/services/disputes/disputes.go @@ -0,0 +1,77 @@ +package disputes + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Disputes() *schema.Table { + return &schema.Table{ + Name: "stripe_disputes", + Description: `https://stripe.com/docs/api/disputes`, + Transform: transformers.TransformWithStruct(&stripe.Dispute{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchDisputes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchDisputes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.DisputeListParams{} + + const key = "disputes" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Disputes.List(lp) + for it.Next() { + data := it.Dispute() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/disputes/disputes_test.go b/plugins/source/stripe/resources/services/disputes/disputes_test.go new file mode 100644 index 00000000000000..6824bee8f81967 --- /dev/null +++ b/plugins/source/stripe/resources/services/disputes/disputes_test.go @@ -0,0 +1,12 @@ +package disputes_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/disputes" +) + +func TestDisputes(t *testing.T) { + client.MockTestHelper(t, disputes.Disputes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/file_links/file_links.go b/plugins/source/stripe/resources/services/file_links/file_links.go new file mode 100644 index 00000000000000..a6f3cca6d40fa5 --- /dev/null +++ b/plugins/source/stripe/resources/services/file_links/file_links.go @@ -0,0 +1,77 @@ +package file_links + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func FileLinks() *schema.Table { + return &schema.Table{ + Name: "stripe_file_links", + Description: `https://stripe.com/docs/api/file_links`, + Transform: transformers.TransformWithStruct(&stripe.FileLink{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchFileLinks, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchFileLinks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.FileLinkListParams{} + + const key = "file_links" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.FileLinks.List(lp) + for it.Next() { + data := it.FileLink() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/file_links/file_links_test.go b/plugins/source/stripe/resources/services/file_links/file_links_test.go new file mode 100644 index 00000000000000..d4a6d3468a1506 --- /dev/null +++ b/plugins/source/stripe/resources/services/file_links/file_links_test.go @@ -0,0 +1,12 @@ +package file_links_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/file_links" +) + +func TestFileLinks(t *testing.T) { + client.MockTestHelper(t, file_links.FileLinks(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/files/files.go b/plugins/source/stripe/resources/services/files/files.go new file mode 100644 index 00000000000000..30eb8b3272c4d2 --- /dev/null +++ b/plugins/source/stripe/resources/services/files/files.go @@ -0,0 +1,77 @@ +package files + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Files() *schema.Table { + return &schema.Table{ + Name: "stripe_files", + Description: `https://stripe.com/docs/api/files`, + Transform: transformers.TransformWithStruct(&stripe.File{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchFiles, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchFiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.FileListParams{} + + const key = "files" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Files.List(lp) + for it.Next() { + data := it.File() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/files/files_test.go b/plugins/source/stripe/resources/services/files/files_test.go new file mode 100644 index 00000000000000..47d9d53b1049a2 --- /dev/null +++ b/plugins/source/stripe/resources/services/files/files_test.go @@ -0,0 +1,12 @@ +package files_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/files" +) + +func TestFiles(t *testing.T) { + client.MockTestHelper(t, files.Files(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/identity/identity_verification_reports.go b/plugins/source/stripe/resources/services/identity/identity_verification_reports.go new file mode 100644 index 00000000000000..dc2659cf1fc032 --- /dev/null +++ b/plugins/source/stripe/resources/services/identity/identity_verification_reports.go @@ -0,0 +1,77 @@ +package identity + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IdentityVerificationReports() *schema.Table { + return &schema.Table{ + Name: "stripe_identity_verification_reports", + Description: `https://stripe.com/docs/api/identity_verification_reports`, + Transform: transformers.TransformWithStruct(&stripe.IdentityVerificationReport{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIdentityVerificationReports, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIdentityVerificationReports(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IdentityVerificationReportListParams{} + + const key = "identity_verification_reports" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IdentityVerificationReports.List(lp) + for it.Next() { + data := it.IdentityVerificationReport() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/identity/identity_verification_reports_test.go b/plugins/source/stripe/resources/services/identity/identity_verification_reports_test.go new file mode 100644 index 00000000000000..998ab4486b7b27 --- /dev/null +++ b/plugins/source/stripe/resources/services/identity/identity_verification_reports_test.go @@ -0,0 +1,12 @@ +package identity_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/identity" +) + +func TestIdentityVerificationReports(t *testing.T) { + client.MockTestHelper(t, identity.IdentityVerificationReports(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/invoices/invoice_items.go b/plugins/source/stripe/resources/services/invoices/invoice_items.go new file mode 100644 index 00000000000000..d6a6337eadca11 --- /dev/null +++ b/plugins/source/stripe/resources/services/invoices/invoice_items.go @@ -0,0 +1,43 @@ +package invoices + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func InvoiceItems() *schema.Table { + return &schema.Table{ + Name: "stripe_invoice_items", + Description: `https://stripe.com/docs/api/invoiceitems`, + Transform: transformers.TransformWithStruct(&stripe.InvoiceItem{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("Plan")))...), + Resolver: fetchInvoiceItems, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchInvoiceItems(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.InvoiceItemListParams{} + + it := cl.Services.InvoiceItems.List(lp) + for it.Next() { + res <- it.InvoiceItem() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/invoices/invoice_items_test.go b/plugins/source/stripe/resources/services/invoices/invoice_items_test.go new file mode 100644 index 00000000000000..95b4220411b336 --- /dev/null +++ b/plugins/source/stripe/resources/services/invoices/invoice_items_test.go @@ -0,0 +1,12 @@ +package invoices_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/invoices" +) + +func TestInvoiceItems(t *testing.T) { + client.MockTestHelper(t, invoices.InvoiceItems(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/invoices/invoices.go b/plugins/source/stripe/resources/services/invoices/invoices.go new file mode 100644 index 00000000000000..55f7abfbe8631f --- /dev/null +++ b/plugins/source/stripe/resources/services/invoices/invoices.go @@ -0,0 +1,77 @@ +package invoices + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Invoices() *schema.Table { + return &schema.Table{ + Name: "stripe_invoices", + Description: `https://stripe.com/docs/api/invoices`, + Transform: transformers.TransformWithStruct(&stripe.Invoice{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("DefaultSource")))...), + Resolver: fetchInvoices, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchInvoices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.InvoiceListParams{} + + const key = "invoices" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Invoices.List(lp) + for it.Next() { + data := it.Invoice() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/invoices/invoices_test.go b/plugins/source/stripe/resources/services/invoices/invoices_test.go new file mode 100644 index 00000000000000..2a43e63c102139 --- /dev/null +++ b/plugins/source/stripe/resources/services/invoices/invoices_test.go @@ -0,0 +1,12 @@ +package invoices_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/invoices" +) + +func TestInvoices(t *testing.T) { + client.MockTestHelper(t, invoices.Invoices(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_authorizations.go b/plugins/source/stripe/resources/services/issuing/issuing_authorizations.go new file mode 100644 index 00000000000000..f457edf9767ee1 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_authorizations.go @@ -0,0 +1,77 @@ +package issuing + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IssuingAuthorizations() *schema.Table { + return &schema.Table{ + Name: "stripe_issuing_authorizations", + Description: `https://stripe.com/docs/api/issuing_authorizations`, + Transform: transformers.TransformWithStruct(&stripe.IssuingAuthorization{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIssuingAuthorizations, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIssuingAuthorizations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IssuingAuthorizationListParams{} + + const key = "issuing_authorizations" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IssuingAuthorizations.List(lp) + for it.Next() { + data := it.IssuingAuthorization() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_authorizations_test.go b/plugins/source/stripe/resources/services/issuing/issuing_authorizations_test.go new file mode 100644 index 00000000000000..65098a993d0487 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_authorizations_test.go @@ -0,0 +1,12 @@ +package issuing_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" +) + +func TestIssuingAuthorizations(t *testing.T) { + client.MockTestHelper(t, issuing.IssuingAuthorizations(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_cardholders.go b/plugins/source/stripe/resources/services/issuing/issuing_cardholders.go new file mode 100644 index 00000000000000..82dadca9464d15 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_cardholders.go @@ -0,0 +1,77 @@ +package issuing + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IssuingCardholders() *schema.Table { + return &schema.Table{ + Name: "stripe_issuing_cardholders", + Description: `https://stripe.com/docs/api/issuing_cardholders`, + Transform: transformers.TransformWithStruct(&stripe.IssuingCardholder{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIssuingCardholders, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIssuingCardholders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IssuingCardholderListParams{} + + const key = "issuing_cardholders" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IssuingCardholders.List(lp) + for it.Next() { + data := it.IssuingCardholder() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_cardholders_test.go b/plugins/source/stripe/resources/services/issuing/issuing_cardholders_test.go new file mode 100644 index 00000000000000..1bffbefb47e465 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_cardholders_test.go @@ -0,0 +1,12 @@ +package issuing_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" +) + +func TestIssuingCardholders(t *testing.T) { + client.MockTestHelper(t, issuing.IssuingCardholders(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_cards.go b/plugins/source/stripe/resources/services/issuing/issuing_cards.go new file mode 100644 index 00000000000000..deee70564ba542 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_cards.go @@ -0,0 +1,77 @@ +package issuing + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IssuingCards() *schema.Table { + return &schema.Table{ + Name: "stripe_issuing_cards", + Description: `https://stripe.com/docs/api/issuing_cards`, + Transform: transformers.TransformWithStruct(&stripe.IssuingCard{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIssuingCards, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIssuingCards(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IssuingCardListParams{} + + const key = "issuing_cards" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IssuingCards.List(lp) + for it.Next() { + data := it.IssuingCard() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_cards_test.go b/plugins/source/stripe/resources/services/issuing/issuing_cards_test.go new file mode 100644 index 00000000000000..fb60aba28a997b --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_cards_test.go @@ -0,0 +1,12 @@ +package issuing_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" +) + +func TestIssuingCards(t *testing.T) { + client.MockTestHelper(t, issuing.IssuingCards(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_disputes.go b/plugins/source/stripe/resources/services/issuing/issuing_disputes.go new file mode 100644 index 00000000000000..f1e2a564c0a42d --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_disputes.go @@ -0,0 +1,77 @@ +package issuing + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IssuingDisputes() *schema.Table { + return &schema.Table{ + Name: "stripe_issuing_disputes", + Description: `https://stripe.com/docs/api/issuing_disputes`, + Transform: transformers.TransformWithStruct(&stripe.IssuingDispute{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIssuingDisputes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIssuingDisputes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IssuingDisputeListParams{} + + const key = "issuing_disputes" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IssuingDisputes.List(lp) + for it.Next() { + data := it.IssuingDispute() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_disputes_test.go b/plugins/source/stripe/resources/services/issuing/issuing_disputes_test.go new file mode 100644 index 00000000000000..56a5aabdfbd3e4 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_disputes_test.go @@ -0,0 +1,12 @@ +package issuing_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" +) + +func TestIssuingDisputes(t *testing.T) { + client.MockTestHelper(t, issuing.IssuingDisputes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_transactions.go b/plugins/source/stripe/resources/services/issuing/issuing_transactions.go new file mode 100644 index 00000000000000..5436a1f0a53ba6 --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_transactions.go @@ -0,0 +1,77 @@ +package issuing + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func IssuingTransactions() *schema.Table { + return &schema.Table{ + Name: "stripe_issuing_transactions", + Description: `https://stripe.com/docs/api/issuing_transactions`, + Transform: transformers.TransformWithStruct(&stripe.IssuingTransaction{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchIssuingTransactions, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchIssuingTransactions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.IssuingTransactionListParams{} + + const key = "issuing_transactions" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.IssuingTransactions.List(lp) + for it.Next() { + data := it.IssuingTransaction() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/issuing/issuing_transactions_test.go b/plugins/source/stripe/resources/services/issuing/issuing_transactions_test.go new file mode 100644 index 00000000000000..0afe98da5ea65f --- /dev/null +++ b/plugins/source/stripe/resources/services/issuing/issuing_transactions_test.go @@ -0,0 +1,12 @@ +package issuing_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/issuing" +) + +func TestIssuingTransactions(t *testing.T) { + client.MockTestHelper(t, issuing.IssuingTransactions(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/payment/payment_intents.go b/plugins/source/stripe/resources/services/payment/payment_intents.go new file mode 100644 index 00000000000000..c27873f78c2484 --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_intents.go @@ -0,0 +1,77 @@ +package payment + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func PaymentIntents() *schema.Table { + return &schema.Table{ + Name: "stripe_payment_intents", + Description: `https://stripe.com/docs/api/payment_intents`, + Transform: transformers.TransformWithStruct(&stripe.PaymentIntent{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("Source")))...), + Resolver: fetchPaymentIntents, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchPaymentIntents(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PaymentIntentListParams{} + + const key = "payment_intents" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.PaymentIntents.List(lp) + for it.Next() { + data := it.PaymentIntent() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/payment/payment_intents_test.go b/plugins/source/stripe/resources/services/payment/payment_intents_test.go new file mode 100644 index 00000000000000..8f831ca277cf55 --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_intents_test.go @@ -0,0 +1,12 @@ +package payment_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payment" +) + +func TestPaymentIntents(t *testing.T) { + client.MockTestHelper(t, payment.PaymentIntents(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/payment/payment_links.go b/plugins/source/stripe/resources/services/payment/payment_links.go new file mode 100644 index 00000000000000..607f0232943418 --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_links.go @@ -0,0 +1,43 @@ +package payment + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func PaymentLinks() *schema.Table { + return &schema.Table{ + Name: "stripe_payment_links", + Description: `https://stripe.com/docs/api/payment_links`, + Transform: transformers.TransformWithStruct(&stripe.PaymentLink{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPaymentLinks, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchPaymentLinks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PaymentLinkListParams{} + + it := cl.Services.PaymentLinks.List(lp) + for it.Next() { + res <- it.PaymentLink() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/payment/payment_links_test.go b/plugins/source/stripe/resources/services/payment/payment_links_test.go new file mode 100644 index 00000000000000..ad0f77a4487849 --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_links_test.go @@ -0,0 +1,12 @@ +package payment_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payment" +) + +func TestPaymentLinks(t *testing.T) { + client.MockTestHelper(t, payment.PaymentLinks(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/payment/payment_methods.go b/plugins/source/stripe/resources/services/payment/payment_methods.go new file mode 100644 index 00000000000000..87c62f83264f33 --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_methods.go @@ -0,0 +1,43 @@ +package payment + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func PaymentMethods() *schema.Table { + return &schema.Table{ + Name: "stripe_payment_methods", + Description: `https://stripe.com/docs/api/payment_methods`, + Transform: transformers.TransformWithStruct(&stripe.PaymentMethod{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPaymentMethods, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchPaymentMethods(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PaymentMethodListParams{} + + it := cl.Services.PaymentMethods.List(lp) + for it.Next() { + res <- it.PaymentMethod() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/payment/payment_methods_test.go b/plugins/source/stripe/resources/services/payment/payment_methods_test.go new file mode 100644 index 00000000000000..80af70577c3afe --- /dev/null +++ b/plugins/source/stripe/resources/services/payment/payment_methods_test.go @@ -0,0 +1,12 @@ +package payment_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payment" +) + +func TestPaymentMethods(t *testing.T) { + client.MockTestHelper(t, payment.PaymentMethods(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/payouts/payouts.go b/plugins/source/stripe/resources/services/payouts/payouts.go new file mode 100644 index 00000000000000..839c52ea15f9bd --- /dev/null +++ b/plugins/source/stripe/resources/services/payouts/payouts.go @@ -0,0 +1,77 @@ +package payouts + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Payouts() *schema.Table { + return &schema.Table{ + Name: "stripe_payouts", + Description: `https://stripe.com/docs/api/payouts`, + Transform: transformers.TransformWithStruct(&stripe.Payout{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPayouts, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchPayouts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PayoutListParams{} + + const key = "payouts" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Payouts.List(lp) + for it.Next() { + data := it.Payout() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/payouts/payouts_test.go b/plugins/source/stripe/resources/services/payouts/payouts_test.go new file mode 100644 index 00000000000000..3ebadd65fe2672 --- /dev/null +++ b/plugins/source/stripe/resources/services/payouts/payouts_test.go @@ -0,0 +1,12 @@ +package payouts_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/payouts" +) + +func TestPayouts(t *testing.T) { + client.MockTestHelper(t, payouts.Payouts(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/plans/plans.go b/plugins/source/stripe/resources/services/plans/plans.go new file mode 100644 index 00000000000000..c97ca6fc9bd07a --- /dev/null +++ b/plugins/source/stripe/resources/services/plans/plans.go @@ -0,0 +1,77 @@ +package plans + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Plans() *schema.Table { + return &schema.Table{ + Name: "stripe_plans", + Description: `https://stripe.com/docs/api/plans`, + Transform: transformers.TransformWithStruct(&stripe.Plan{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPlans, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchPlans(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PlanListParams{} + + const key = "plans" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Plans.List(lp) + for it.Next() { + data := it.Plan() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/plans/plans_test.go b/plugins/source/stripe/resources/services/plans/plans_test.go new file mode 100644 index 00000000000000..ca7c046a574de6 --- /dev/null +++ b/plugins/source/stripe/resources/services/plans/plans_test.go @@ -0,0 +1,12 @@ +package plans_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/plans" +) + +func TestPlans(t *testing.T) { + client.MockTestHelper(t, plans.Plans(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/prices/prices.go b/plugins/source/stripe/resources/services/prices/prices.go new file mode 100644 index 00000000000000..4282aeb57be0cf --- /dev/null +++ b/plugins/source/stripe/resources/services/prices/prices.go @@ -0,0 +1,77 @@ +package prices + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Prices() *schema.Table { + return &schema.Table{ + Name: "stripe_prices", + Description: `https://stripe.com/docs/api/prices`, + Transform: transformers.TransformWithStruct(&stripe.Price{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPrices, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchPrices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PriceListParams{} + + const key = "prices" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Prices.List(lp) + for it.Next() { + data := it.Price() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/prices/prices_test.go b/plugins/source/stripe/resources/services/prices/prices_test.go new file mode 100644 index 00000000000000..506522d4c01e6c --- /dev/null +++ b/plugins/source/stripe/resources/services/prices/prices_test.go @@ -0,0 +1,12 @@ +package prices_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/prices" +) + +func TestPrices(t *testing.T) { + client.MockTestHelper(t, prices.Prices(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/products/products.go b/plugins/source/stripe/resources/services/products/products.go new file mode 100644 index 00000000000000..4784bd00fd3db3 --- /dev/null +++ b/plugins/source/stripe/resources/services/products/products.go @@ -0,0 +1,77 @@ +package products + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Products() *schema.Table { + return &schema.Table{ + Name: "stripe_products", + Description: `https://stripe.com/docs/api/products`, + Transform: transformers.TransformWithStruct(&stripe.Product{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("Attributes", "DeactivateOn")))...), + Resolver: fetchProducts, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchProducts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ProductListParams{} + + const key = "products" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Products.List(lp) + for it.Next() { + data := it.Product() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/products/products_test.go b/plugins/source/stripe/resources/services/products/products_test.go new file mode 100644 index 00000000000000..07170210e8459f --- /dev/null +++ b/plugins/source/stripe/resources/services/products/products_test.go @@ -0,0 +1,12 @@ +package products_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/products" +) + +func TestProducts(t *testing.T) { + client.MockTestHelper(t, products.Products(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/promotion_codes/promotion_codes.go b/plugins/source/stripe/resources/services/promotion_codes/promotion_codes.go new file mode 100644 index 00000000000000..92ef86e600faad --- /dev/null +++ b/plugins/source/stripe/resources/services/promotion_codes/promotion_codes.go @@ -0,0 +1,77 @@ +package promotion_codes + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func PromotionCodes() *schema.Table { + return &schema.Table{ + Name: "stripe_promotion_codes", + Description: `https://stripe.com/docs/api/promotion_codes`, + Transform: transformers.TransformWithStruct(&stripe.PromotionCode{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchPromotionCodes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchPromotionCodes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.PromotionCodeListParams{} + + const key = "promotion_codes" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.PromotionCodes.List(lp) + for it.Next() { + data := it.PromotionCode() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/promotion_codes/promotion_codes_test.go b/plugins/source/stripe/resources/services/promotion_codes/promotion_codes_test.go new file mode 100644 index 00000000000000..9558264c8270d1 --- /dev/null +++ b/plugins/source/stripe/resources/services/promotion_codes/promotion_codes_test.go @@ -0,0 +1,12 @@ +package promotion_codes_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/promotion_codes" +) + +func TestPromotionCodes(t *testing.T) { + client.MockTestHelper(t, promotion_codes.PromotionCodes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/quotes/quotes.go b/plugins/source/stripe/resources/services/quotes/quotes.go new file mode 100644 index 00000000000000..52ad9ecd6a2308 --- /dev/null +++ b/plugins/source/stripe/resources/services/quotes/quotes.go @@ -0,0 +1,43 @@ +package quotes + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Quotes() *schema.Table { + return &schema.Table{ + Name: "stripe_quotes", + Description: `https://stripe.com/docs/api/quotes`, + Transform: transformers.TransformWithStruct(&stripe.Quote{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchQuotes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchQuotes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.QuoteListParams{} + + it := cl.Services.Quotes.List(lp) + for it.Next() { + res <- it.Quote() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/quotes/quotes_test.go b/plugins/source/stripe/resources/services/quotes/quotes_test.go new file mode 100644 index 00000000000000..d6d0894aee483b --- /dev/null +++ b/plugins/source/stripe/resources/services/quotes/quotes_test.go @@ -0,0 +1,12 @@ +package quotes_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/quotes" +) + +func TestQuotes(t *testing.T) { + client.MockTestHelper(t, quotes.Quotes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings.go b/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings.go new file mode 100644 index 00000000000000..6cc19173b210f3 --- /dev/null +++ b/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings.go @@ -0,0 +1,43 @@ +package radar + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func RadarEarlyFraudWarnings() *schema.Table { + return &schema.Table{ + Name: "stripe_radar_early_fraud_warnings", + Description: `https://stripe.com/docs/api/radar_early_fraud_warnings`, + Transform: transformers.TransformWithStruct(&stripe.RadarEarlyFraudWarning{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchRadarEarlyFraudWarnings, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchRadarEarlyFraudWarnings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.RadarEarlyFraudWarningListParams{} + + it := cl.Services.RadarEarlyFraudWarnings.List(lp) + for it.Next() { + res <- it.RadarEarlyFraudWarning() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings_test.go b/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings_test.go new file mode 100644 index 00000000000000..3613d431679247 --- /dev/null +++ b/plugins/source/stripe/resources/services/radar/radar_early_fraud_warnings_test.go @@ -0,0 +1,12 @@ +package radar_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/radar" +) + +func TestRadarEarlyFraudWarnings(t *testing.T) { + client.MockTestHelper(t, radar.RadarEarlyFraudWarnings(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/refunds/refunds.go b/plugins/source/stripe/resources/services/refunds/refunds.go new file mode 100644 index 00000000000000..93588a0d55b204 --- /dev/null +++ b/plugins/source/stripe/resources/services/refunds/refunds.go @@ -0,0 +1,77 @@ +package refunds + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Refunds() *schema.Table { + return &schema.Table{ + Name: "stripe_refunds", + Description: `https://stripe.com/docs/api/refunds`, + Transform: transformers.TransformWithStruct(&stripe.Refund{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchRefunds, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchRefunds(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.RefundListParams{} + + const key = "refunds" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Refunds.List(lp) + for it.Next() { + data := it.Refund() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/refunds/refunds_test.go b/plugins/source/stripe/resources/services/refunds/refunds_test.go new file mode 100644 index 00000000000000..04ea59d8263e0d --- /dev/null +++ b/plugins/source/stripe/resources/services/refunds/refunds_test.go @@ -0,0 +1,12 @@ +package refunds_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/refunds" +) + +func TestRefunds(t *testing.T) { + client.MockTestHelper(t, refunds.Refunds(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/reporting/reporting_report_runs.go b/plugins/source/stripe/resources/services/reporting/reporting_report_runs.go new file mode 100644 index 00000000000000..dfefa1d577e2d9 --- /dev/null +++ b/plugins/source/stripe/resources/services/reporting/reporting_report_runs.go @@ -0,0 +1,77 @@ +package reporting + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func ReportingReportRuns() *schema.Table { + return &schema.Table{ + Name: "stripe_reporting_report_runs", + Description: `https://stripe.com/docs/api/reporting_report_runs`, + Transform: transformers.TransformWithStruct(&stripe.ReportingReportRun{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchReportingReportRuns, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchReportingReportRuns(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ReportingReportRunListParams{} + + const key = "reporting_report_runs" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.ReportingReportRuns.List(lp) + for it.Next() { + data := it.ReportingReportRun() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/reporting/reporting_report_runs_test.go b/plugins/source/stripe/resources/services/reporting/reporting_report_runs_test.go new file mode 100644 index 00000000000000..622e8d39deb6c5 --- /dev/null +++ b/plugins/source/stripe/resources/services/reporting/reporting_report_runs_test.go @@ -0,0 +1,12 @@ +package reporting_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/reporting" +) + +func TestReportingReportRuns(t *testing.T) { + client.MockTestHelper(t, reporting.ReportingReportRuns(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/reporting/reporting_report_types.go b/plugins/source/stripe/resources/services/reporting/reporting_report_types.go new file mode 100644 index 00000000000000..6608040d7091cf --- /dev/null +++ b/plugins/source/stripe/resources/services/reporting/reporting_report_types.go @@ -0,0 +1,43 @@ +package reporting + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func ReportingReportTypes() *schema.Table { + return &schema.Table{ + Name: "stripe_reporting_report_types", + Description: `https://stripe.com/docs/api/reporting_report_types`, + Transform: transformers.TransformWithStruct(&stripe.ReportingReportType{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchReportingReportTypes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchReportingReportTypes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ReportingReportTypeListParams{} + + it := cl.Services.ReportingReportTypes.List(lp) + for it.Next() { + res <- it.ReportingReportType() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/reporting/reporting_report_types_test.go b/plugins/source/stripe/resources/services/reporting/reporting_report_types_test.go new file mode 100644 index 00000000000000..c54f1fe6f91df5 --- /dev/null +++ b/plugins/source/stripe/resources/services/reporting/reporting_report_types_test.go @@ -0,0 +1,12 @@ +package reporting_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/reporting" +) + +func TestReportingReportTypes(t *testing.T) { + client.MockTestHelper(t, reporting.ReportingReportTypes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/reviews/reviews.go b/plugins/source/stripe/resources/services/reviews/reviews.go new file mode 100644 index 00000000000000..54a13f5434ea75 --- /dev/null +++ b/plugins/source/stripe/resources/services/reviews/reviews.go @@ -0,0 +1,77 @@ +package reviews + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Reviews() *schema.Table { + return &schema.Table{ + Name: "stripe_reviews", + Description: `https://stripe.com/docs/api/reviews`, + Transform: transformers.TransformWithStruct(&stripe.Review{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchReviews, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchReviews(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ReviewListParams{} + + const key = "reviews" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Reviews.List(lp) + for it.Next() { + data := it.Review() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/reviews/reviews_test.go b/plugins/source/stripe/resources/services/reviews/reviews_test.go new file mode 100644 index 00000000000000..08641735ae1d79 --- /dev/null +++ b/plugins/source/stripe/resources/services/reviews/reviews_test.go @@ -0,0 +1,12 @@ +package reviews_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/reviews" +) + +func TestReviews(t *testing.T) { + client.MockTestHelper(t, reviews.Reviews(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/shipping_rates/shipping_rates.go b/plugins/source/stripe/resources/services/shipping_rates/shipping_rates.go new file mode 100644 index 00000000000000..4d686e8bc61593 --- /dev/null +++ b/plugins/source/stripe/resources/services/shipping_rates/shipping_rates.go @@ -0,0 +1,77 @@ +package shipping_rates + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func ShippingRates() *schema.Table { + return &schema.Table{ + Name: "stripe_shipping_rates", + Description: `https://stripe.com/docs/api/shipping_rates`, + Transform: transformers.TransformWithStruct(&stripe.ShippingRate{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchShippingRates, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchShippingRates(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.ShippingRateListParams{} + + const key = "shipping_rates" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.ShippingRates.List(lp) + for it.Next() { + data := it.ShippingRate() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/shipping_rates/shipping_rates_test.go b/plugins/source/stripe/resources/services/shipping_rates/shipping_rates_test.go new file mode 100644 index 00000000000000..01da7dd7b82a27 --- /dev/null +++ b/plugins/source/stripe/resources/services/shipping_rates/shipping_rates_test.go @@ -0,0 +1,12 @@ +package shipping_rates_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/shipping_rates" +) + +func TestShippingRates(t *testing.T) { + client.MockTestHelper(t, shipping_rates.ShippingRates(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs.go b/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs.go new file mode 100644 index 00000000000000..a5aec8fe51f1c7 --- /dev/null +++ b/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs.go @@ -0,0 +1,43 @@ +package sigma + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func SigmaScheduledQueryRuns() *schema.Table { + return &schema.Table{ + Name: "stripe_sigma_scheduled_query_runs", + Description: `https://stripe.com/docs/api/sigma_scheduled_query_runs`, + Transform: transformers.TransformWithStruct(&stripe.SigmaScheduledQueryRun{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchSigmaScheduledQueryRuns, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchSigmaScheduledQueryRuns(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.SigmaScheduledQueryRunListParams{} + + it := cl.Services.SigmaScheduledQueryRuns.List(lp) + for it.Next() { + res <- it.SigmaScheduledQueryRun() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs_test.go b/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs_test.go new file mode 100644 index 00000000000000..ec0d0e02414a75 --- /dev/null +++ b/plugins/source/stripe/resources/services/sigma/sigma_scheduled_query_runs_test.go @@ -0,0 +1,12 @@ +package sigma_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/sigma" +) + +func TestSigmaScheduledQueryRuns(t *testing.T) { + client.MockTestHelper(t, sigma.SigmaScheduledQueryRuns(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/subscription/subscription_schedules.go b/plugins/source/stripe/resources/services/subscription/subscription_schedules.go new file mode 100644 index 00000000000000..328ad2cffd891b --- /dev/null +++ b/plugins/source/stripe/resources/services/subscription/subscription_schedules.go @@ -0,0 +1,77 @@ +package subscription + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func SubscriptionSchedules() *schema.Table { + return &schema.Table{ + Name: "stripe_subscription_schedules", + Description: `https://stripe.com/docs/api/subscription_schedules`, + Transform: transformers.TransformWithStruct(&stripe.SubscriptionSchedule{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchSubscriptionSchedules, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchSubscriptionSchedules(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.SubscriptionScheduleListParams{} + + const key = "subscription_schedules" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.SubscriptionSchedules.List(lp) + for it.Next() { + data := it.SubscriptionSchedule() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/subscription/subscription_schedules_test.go b/plugins/source/stripe/resources/services/subscription/subscription_schedules_test.go new file mode 100644 index 00000000000000..3b8219d93f5fd5 --- /dev/null +++ b/plugins/source/stripe/resources/services/subscription/subscription_schedules_test.go @@ -0,0 +1,12 @@ +package subscription_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/subscription" +) + +func TestSubscriptionSchedules(t *testing.T) { + client.MockTestHelper(t, subscription.SubscriptionSchedules(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/subscription/subscriptions.go b/plugins/source/stripe/resources/services/subscription/subscriptions.go new file mode 100644 index 00000000000000..19a7dbecefb266 --- /dev/null +++ b/plugins/source/stripe/resources/services/subscription/subscriptions.go @@ -0,0 +1,77 @@ +package subscription + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Subscriptions() *schema.Table { + return &schema.Table{ + Name: "stripe_subscriptions", + Description: `https://stripe.com/docs/api/subscriptions`, + Transform: transformers.TransformWithStruct(&stripe.Subscription{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("DefaultSource")))...), + Resolver: fetchSubscriptions, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchSubscriptions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.SubscriptionListParams{} + + const key = "subscriptions" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Subscriptions.List(lp) + for it.Next() { + data := it.Subscription() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/subscription/subscriptions_test.go b/plugins/source/stripe/resources/services/subscription/subscriptions_test.go new file mode 100644 index 00000000000000..8cfcab03aac6fb --- /dev/null +++ b/plugins/source/stripe/resources/services/subscription/subscriptions_test.go @@ -0,0 +1,12 @@ +package subscription_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/subscription" +) + +func TestSubscriptions(t *testing.T) { + client.MockTestHelper(t, subscription.Subscriptions(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/tax/tax_codes.go b/plugins/source/stripe/resources/services/tax/tax_codes.go new file mode 100644 index 00000000000000..eb9251bb5d4509 --- /dev/null +++ b/plugins/source/stripe/resources/services/tax/tax_codes.go @@ -0,0 +1,43 @@ +package tax + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TaxCodes() *schema.Table { + return &schema.Table{ + Name: "stripe_tax_codes", + Description: `https://stripe.com/docs/api/tax_codes`, + Transform: transformers.TransformWithStruct(&stripe.TaxCode{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTaxCodes, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTaxCodes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TaxCodeListParams{} + + it := cl.Services.TaxCodes.List(lp) + for it.Next() { + res <- it.TaxCode() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/tax/tax_codes_test.go b/plugins/source/stripe/resources/services/tax/tax_codes_test.go new file mode 100644 index 00000000000000..2a35e2681a6b6e --- /dev/null +++ b/plugins/source/stripe/resources/services/tax/tax_codes_test.go @@ -0,0 +1,12 @@ +package tax_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/tax" +) + +func TestTaxCodes(t *testing.T) { + client.MockTestHelper(t, tax.TaxCodes(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/tax/tax_rates.go b/plugins/source/stripe/resources/services/tax/tax_rates.go new file mode 100644 index 00000000000000..20b2ddcda7778c --- /dev/null +++ b/plugins/source/stripe/resources/services/tax/tax_rates.go @@ -0,0 +1,77 @@ +package tax + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TaxRates() *schema.Table { + return &schema.Table{ + Name: "stripe_tax_rates", + Description: `https://stripe.com/docs/api/tax_rates`, + Transform: transformers.TransformWithStruct(&stripe.TaxRate{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTaxRates, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchTaxRates(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TaxRateListParams{} + + const key = "tax_rates" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.TaxRates.List(lp) + for it.Next() { + data := it.TaxRate() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/tax/tax_rates_test.go b/plugins/source/stripe/resources/services/tax/tax_rates_test.go new file mode 100644 index 00000000000000..8e75746c66ad6e --- /dev/null +++ b/plugins/source/stripe/resources/services/tax/tax_rates_test.go @@ -0,0 +1,12 @@ +package tax_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/tax" +) + +func TestTaxRates(t *testing.T) { + client.MockTestHelper(t, tax.TaxRates(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_configurations.go b/plugins/source/stripe/resources/services/terminal/terminal_configurations.go new file mode 100644 index 00000000000000..c0991ca2fdc1f3 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_configurations.go @@ -0,0 +1,43 @@ +package terminal + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TerminalConfigurations() *schema.Table { + return &schema.Table{ + Name: "stripe_terminal_configurations", + Description: `https://stripe.com/docs/api/terminal_configurations`, + Transform: transformers.TransformWithStruct(&stripe.TerminalConfiguration{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTerminalConfigurations, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTerminalConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TerminalConfigurationListParams{} + + it := cl.Services.TerminalConfigurations.List(lp) + for it.Next() { + res <- it.TerminalConfiguration() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_configurations_test.go b/plugins/source/stripe/resources/services/terminal/terminal_configurations_test.go new file mode 100644 index 00000000000000..bb576a089e1176 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_configurations_test.go @@ -0,0 +1,12 @@ +package terminal_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/terminal" +) + +func TestTerminalConfigurations(t *testing.T) { + client.MockTestHelper(t, terminal.TerminalConfigurations(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_locations.go b/plugins/source/stripe/resources/services/terminal/terminal_locations.go new file mode 100644 index 00000000000000..c1240f0cb90ae3 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_locations.go @@ -0,0 +1,43 @@ +package terminal + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TerminalLocations() *schema.Table { + return &schema.Table{ + Name: "stripe_terminal_locations", + Description: `https://stripe.com/docs/api/terminal_locations`, + Transform: transformers.TransformWithStruct(&stripe.TerminalLocation{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTerminalLocations, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTerminalLocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TerminalLocationListParams{} + + it := cl.Services.TerminalLocations.List(lp) + for it.Next() { + res <- it.TerminalLocation() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_locations_test.go b/plugins/source/stripe/resources/services/terminal/terminal_locations_test.go new file mode 100644 index 00000000000000..1da4e97b7926c0 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_locations_test.go @@ -0,0 +1,12 @@ +package terminal_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/terminal" +) + +func TestTerminalLocations(t *testing.T) { + client.MockTestHelper(t, terminal.TerminalLocations(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_readers.go b/plugins/source/stripe/resources/services/terminal/terminal_readers.go new file mode 100644 index 00000000000000..5e1659fb8f6e72 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_readers.go @@ -0,0 +1,43 @@ +package terminal + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TerminalReaders() *schema.Table { + return &schema.Table{ + Name: "stripe_terminal_readers", + Description: `https://stripe.com/docs/api/terminal_readers`, + Transform: transformers.TransformWithStruct(&stripe.TerminalReader{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTerminalReaders, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTerminalReaders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TerminalReaderListParams{} + + it := cl.Services.TerminalReaders.List(lp) + for it.Next() { + res <- it.TerminalReader() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/terminal/terminal_readers_test.go b/plugins/source/stripe/resources/services/terminal/terminal_readers_test.go new file mode 100644 index 00000000000000..1a8d512dd1a282 --- /dev/null +++ b/plugins/source/stripe/resources/services/terminal/terminal_readers_test.go @@ -0,0 +1,12 @@ +package terminal_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/terminal" +) + +func TestTerminalReaders(t *testing.T) { + client.MockTestHelper(t, terminal.TerminalReaders(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/topups/topups.go b/plugins/source/stripe/resources/services/topups/topups.go new file mode 100644 index 00000000000000..f507f94d5e5532 --- /dev/null +++ b/plugins/source/stripe/resources/services/topups/topups.go @@ -0,0 +1,77 @@ +package topups + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Topups() *schema.Table { + return &schema.Table{ + Name: "stripe_topups", + Description: `https://stripe.com/docs/api/topups`, + Transform: transformers.TransformWithStruct(&stripe.Topup{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"), transformers.WithIgnoreInTestsTransformer(client.CreateIgnoreInTestsTransformer("Source")))...), + Resolver: fetchTopups, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchTopups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TopupListParams{} + + const key = "topups" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Topups.List(lp) + for it.Next() { + data := it.Topup() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/topups/topups_test.go b/plugins/source/stripe/resources/services/topups/topups_test.go new file mode 100644 index 00000000000000..9a26c250a327ab --- /dev/null +++ b/plugins/source/stripe/resources/services/topups/topups_test.go @@ -0,0 +1,12 @@ +package topups_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/topups" +) + +func TestTopups(t *testing.T) { + client.MockTestHelper(t, topups.Topups(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/transfers/transfers.go b/plugins/source/stripe/resources/services/transfers/transfers.go new file mode 100644 index 00000000000000..c5dd321dfdf892 --- /dev/null +++ b/plugins/source/stripe/resources/services/transfers/transfers.go @@ -0,0 +1,77 @@ +package transfers + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Transfers() *schema.Table { + return &schema.Table{ + Name: "stripe_transfers", + Description: `https://stripe.com/docs/api/transfers`, + Transform: transformers.TransformWithStruct(&stripe.Transfer{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTransfers, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchTransfers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TransferListParams{} + + const key = "transfers" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Transfers.List(lp) + for it.Next() { + data := it.Transfer() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/transfers/transfers_test.go b/plugins/source/stripe/resources/services/transfers/transfers_test.go new file mode 100644 index 00000000000000..9676545fd17c6e --- /dev/null +++ b/plugins/source/stripe/resources/services/transfers/transfers_test.go @@ -0,0 +1,12 @@ +package transfers_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/transfers" +) + +func TestTransfers(t *testing.T) { + client.MockTestHelper(t, transfers.Transfers(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_credit_reversals.go b/plugins/source/stripe/resources/services/treasury/treasury_credit_reversals.go new file mode 100644 index 00000000000000..9894c88de4e4c5 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_credit_reversals.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryCreditReversals() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_credit_reversals", + Description: `https://stripe.com/docs/api/treasury_credit_reversals`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryCreditReversal{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryCreditReversals, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryCreditReversals(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryCreditReversalListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryCreditReversals.List(lp) + for it.Next() { + res <- it.TreasuryCreditReversal() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_debit_reversals.go b/plugins/source/stripe/resources/services/treasury/treasury_debit_reversals.go new file mode 100644 index 00000000000000..f3425c5969552a --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_debit_reversals.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryDebitReversals() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_debit_reversals", + Description: `https://stripe.com/docs/api/treasury_debit_reversals`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryDebitReversal{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryDebitReversals, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryDebitReversals(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryDebitReversalListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryDebitReversals.List(lp) + for it.Next() { + res <- it.TreasuryDebitReversal() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts.go b/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts.go new file mode 100644 index 00000000000000..63ab90bcb25802 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts.go @@ -0,0 +1,89 @@ +package treasury + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryFinancialAccounts() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_financial_accounts", + Description: `https://stripe.com/docs/api/treasury_financial_accounts`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryFinancialAccount{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryFinancialAccounts, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + + Relations: []*schema.Table{ + TreasuryCreditReversals(), + TreasuryDebitReversals(), + TreasuryInboundTransfers(), + TreasuryOutboundPayments(), + TreasuryOutboundTransfers(), + TreasuryReceivedCredits(), + TreasuryReceivedDebits(), + TreasuryTransactionEntries(), + TreasuryTransactions(), + }, + } +} + +func fetchTreasuryFinancialAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.TreasuryFinancialAccountListParams{} + + const key = "treasury_financial_accounts" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.TreasuryFinancialAccounts.List(lp) + for it.Next() { + data := it.TreasuryFinancialAccount() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts_test.go b/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts_test.go new file mode 100644 index 00000000000000..f5f74865d481ed --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_financial_accounts_test.go @@ -0,0 +1,12 @@ +package treasury_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/treasury" +) + +func TestTreasuryFinancialAccounts(t *testing.T) { + client.MockTestHelper(t, treasury.TreasuryFinancialAccounts(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_inbound_transfers.go b/plugins/source/stripe/resources/services/treasury/treasury_inbound_transfers.go new file mode 100644 index 00000000000000..8bb9d4e7c0e122 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_inbound_transfers.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryInboundTransfers() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_inbound_transfers", + Description: `https://stripe.com/docs/api/treasury_inbound_transfers`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryInboundTransfer{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryInboundTransfers, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryInboundTransfers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryInboundTransferListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryInboundTransfers.List(lp) + for it.Next() { + res <- it.TreasuryInboundTransfer() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_outbound_payments.go b/plugins/source/stripe/resources/services/treasury/treasury_outbound_payments.go new file mode 100644 index 00000000000000..1cfbc75f9865cb --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_outbound_payments.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryOutboundPayments() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_outbound_payments", + Description: `https://stripe.com/docs/api/treasury_outbound_payments`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryOutboundPayment{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryOutboundPayments, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryOutboundPayments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryOutboundPaymentListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryOutboundPayments.List(lp) + for it.Next() { + res <- it.TreasuryOutboundPayment() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_outbound_transfers.go b/plugins/source/stripe/resources/services/treasury/treasury_outbound_transfers.go new file mode 100644 index 00000000000000..501dc660197147 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_outbound_transfers.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryOutboundTransfers() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_outbound_transfers", + Description: `https://stripe.com/docs/api/treasury_outbound_transfers`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryOutboundTransfer{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryOutboundTransfers, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryOutboundTransfers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryOutboundTransferListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryOutboundTransfers.List(lp) + for it.Next() { + res <- it.TreasuryOutboundTransfer() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_received_credits.go b/plugins/source/stripe/resources/services/treasury/treasury_received_credits.go new file mode 100644 index 00000000000000..ee45d04ba56c37 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_received_credits.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryReceivedCredits() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_received_credits", + Description: `https://stripe.com/docs/api/treasury_received_credits`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryReceivedCredit{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryReceivedCredits, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryReceivedCredits(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryReceivedCreditListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryReceivedCredits.List(lp) + for it.Next() { + res <- it.TreasuryReceivedCredit() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_received_debits.go b/plugins/source/stripe/resources/services/treasury/treasury_received_debits.go new file mode 100644 index 00000000000000..06397029f9d065 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_received_debits.go @@ -0,0 +1,47 @@ +package treasury + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryReceivedDebits() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_received_debits", + Description: `https://stripe.com/docs/api/treasury_received_debits`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryReceivedDebit{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryReceivedDebits, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchTreasuryReceivedDebits(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryReceivedDebitListParams{ + FinancialAccount: stripe.String(p.ID), + } + + it := cl.Services.TreasuryReceivedDebits.List(lp) + for it.Next() { + res <- it.TreasuryReceivedDebit() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_transaction_entries.go b/plugins/source/stripe/resources/services/treasury/treasury_transaction_entries.go new file mode 100644 index 00000000000000..b2ffff845163e5 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_transaction_entries.go @@ -0,0 +1,81 @@ +package treasury + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryTransactionEntries() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_transaction_entries", + Description: `https://stripe.com/docs/api/treasury_transaction_entries`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryTransactionEntry{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryTransactionEntries, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchTreasuryTransactionEntries(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryTransactionEntryListParams{ + FinancialAccount: stripe.String(p.ID), + } + + const key = "treasury_transaction_entries" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.TreasuryTransactionEntries.List(lp) + for it.Next() { + data := it.TreasuryTransactionEntry() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/treasury/treasury_transactions.go b/plugins/source/stripe/resources/services/treasury/treasury_transactions.go new file mode 100644 index 00000000000000..51d0b4ba589303 --- /dev/null +++ b/plugins/source/stripe/resources/services/treasury/treasury_transactions.go @@ -0,0 +1,81 @@ +package treasury + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func TreasuryTransactions() *schema.Table { + return &schema.Table{ + Name: "stripe_treasury_transactions", + Description: `https://stripe.com/docs/api/treasury_transactions`, + Transform: transformers.TransformWithStruct(&stripe.TreasuryTransaction{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchTreasuryTransactions, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchTreasuryTransactions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + p := parent.Item.(*stripe.TreasuryFinancialAccount) + + lp := &stripe.TreasuryTransactionListParams{ + FinancialAccount: stripe.String(p.ID), + } + + const key = "treasury_transactions" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.TreasuryTransactions.List(lp) + for it.Next() { + data := it.TreasuryTransaction() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints.go b/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints.go new file mode 100644 index 00000000000000..ca85dc48768a3f --- /dev/null +++ b/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints.go @@ -0,0 +1,43 @@ +package webhook_endpoints + +import ( + "context" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func WebhookEndpoints() *schema.Table { + return &schema.Table{ + Name: "stripe_webhook_endpoints", + Description: `https://stripe.com/docs/api/webhook_endpoints`, + Transform: transformers.TransformWithStruct(&stripe.WebhookEndpoint{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchWebhookEndpoints, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} + +func fetchWebhookEndpoints(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.WebhookEndpointListParams{} + + it := cl.Services.WebhookEndpoints.List(lp) + for it.Next() { + res <- it.WebhookEndpoint() + } + + return it.Err() +} diff --git a/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints_test.go b/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints_test.go new file mode 100644 index 00000000000000..b96645d42ee96f --- /dev/null +++ b/plugins/source/stripe/resources/services/webhook_endpoints/webhook_endpoints_test.go @@ -0,0 +1,12 @@ +package webhook_endpoints_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/webhook_endpoints" +) + +func TestWebhookEndpoints(t *testing.T) { + client.MockTestHelper(t, webhook_endpoints.WebhookEndpoints(), client.TestOptions{}) +} diff --git a/plugins/source/stripe/resources/testdata/.gitkeep b/plugins/source/stripe/resources/testdata/.gitkeep new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/website/pages/docs/plugins/sources/_meta.json b/website/pages/docs/plugins/sources/_meta.json index 71f2e452e0cd51..21da01a59a89cc 100644 --- a/website/pages/docs/plugins/sources/_meta.json +++ b/website/pages/docs/plugins/sources/_meta.json @@ -19,6 +19,7 @@ "shopify": "Shopify", "slack": "Slack", "snyk": "Snyk", + "stripe": "Stripe", "pagerduty": "PagerDuty", "tailscale": "Tailscale", "terraform": "Terraform", diff --git a/website/pages/docs/plugins/sources/overview.mdx b/website/pages/docs/plugins/sources/overview.mdx index 5dc1eddcb85c4a..ce8eec1680db7d 100644 --- a/website/pages/docs/plugins/sources/overview.mdx +++ b/website/pages/docs/plugins/sources/overview.mdx @@ -35,6 +35,7 @@ Official source plugins follow [release stages](#source-plugin-release-stages). { name: "Salesforce", stage:"Preview" }, { name: "Slack", stage:"Preview" }, { name: "Shopify", stage:"Preview" }, + { name: "Stripe", stage:"Preview" }, { name: "PagerDuty", stage:"Preview"}, { name: "Tailscale", stage:"Preview" }, { name: "Vercel", stage:"Preview" }, diff --git a/website/pages/docs/plugins/sources/stripe/_meta.json b/website/pages/docs/plugins/sources/stripe/_meta.json new file mode 100644 index 00000000000000..d2ba90ccfb4341 --- /dev/null +++ b/website/pages/docs/plugins/sources/stripe/_meta.json @@ -0,0 +1,4 @@ +{ + "overview": "Overview", + "tables": "Tables" +} diff --git a/website/pages/docs/plugins/sources/stripe/overview.md b/website/pages/docs/plugins/sources/stripe/overview.md new file mode 100644 index 00000000000000..fc501bf8f83a60 --- /dev/null +++ b/website/pages/docs/plugins/sources/stripe/overview.md @@ -0,0 +1,56 @@ +# Stripe Source Plugin + +import { getLatestVersion } from "../../../../../utils/versions"; +import { Badge } from "../../../../../components/Badge"; + + + +The CloudQuery Stripe plugin pulls data from Stripe and loads it into any supported CloudQuery destination (e.g. PostgreSQL). + +## Authentication + +In order to fetch information from Stripe, `cloudquery` needs to be authenticated using a [secret API key](https://stripe.com/docs/keys) from your Stripe account. You can view and manage your API keys in [the Stripe Dashboard](https://stripe.com/login?redirect=/account/apikeys). + +## Incremental Syncing + +The Stripe plugin supports incremental syncing. This means that only new data will be fetched from Stripe and loaded into your destination for supported tables (support depending on API endpoint). This is done by keeping track of the last item fetched and only fetching data that has been created since then. +To enable this, `backend` option must be set in the spec (as shown below). This is documented in the [Managing Incremental Tables](/docs/advanced-topics/managing-incremental-tables) section. + +### Example + +This example syncs from Stripe to a Postgres destination. The (top level) source spec section is described in the [Source Spec Reference](/docs/reference/source-spec). Incremental syncing is enabled and will be saved to a `.cq/state/` directory by default. + +```yaml +kind: source +# Common source-plugin configuration +spec: + name: stripe + path: cloudquery/stripe + version: "VERSION_SOURCE_STRIPE" + tables: ["*"] + destinations: ["postgresql"] + skip_tables: + - stripe_issuing* # Needs sign-up at https://stripe.com/issuing + - stripe_treasury* # Needs sign-up at https://stripe.com/treasury + - stripe_sigma_scheduled_query_runs # Live keys only + backend: local + # Stripe specific configuration + spec: + api_key: "" +``` + +## Configuration Reference + +This is the (nested) spec used by the Stripe source plugin: + +- `api_key` (string, required): + Your secret API key from the Stripe Dashboard. + +- `rate_limit` (integer, optional. Default: varies): + Used to override number of requests allowed per second. Defaults to 90 req/sec for production environment keys, otherwise 20 req/sec. + +- `max_retries` (integer, optional. Default: 2): + Number of retries if a request was rate limited at the API endpoint. + +- `stripe_debug` (boolean, optional. Default: false): + Enables verbose logging on the Stripe client. diff --git a/website/pages/docs/plugins/sources/stripe/tables.md b/website/pages/docs/plugins/sources/stripe/tables.md new file mode 100644 index 00000000000000..d45dccffeeff22 --- /dev/null +++ b/website/pages/docs/plugins/sources/stripe/tables.md @@ -0,0 +1,65 @@ +# Source Plugin: stripe + +## Tables + +- [stripe_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_accounts.md) (Incremental) + - [stripe_capabilities](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_capabilities.md) +- [stripe_apple_pay_domains](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_apple_pay_domains.md) +- [stripe_application_fees](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_application_fees.md) (Incremental) + - [stripe_fee_refunds](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_fee_refunds.md) +- [stripe_balance](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_balance.md) +- [stripe_balance_transactions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_balance_transactions.md) (Incremental) +- [stripe_billing_portal_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_billing_portal_configurations.md) +- [stripe_charges](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_charges.md) (Incremental) +- [stripe_checkout_sessions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_checkout_sessions.md) +- [stripe_country_specs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_country_specs.md) +- [stripe_coupons](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_coupons.md) (Incremental) +- [stripe_credit_notes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_credit_notes.md) +- [stripe_customers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_customers.md) (Incremental) +- [stripe_disputes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_disputes.md) (Incremental) +- [stripe_file_links](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_file_links.md) (Incremental) +- [stripe_files](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_files.md) (Incremental) +- [stripe_identity_verification_reports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md) (Incremental) +- [stripe_invoice_items](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_invoice_items.md) +- [stripe_invoices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_invoices.md) (Incremental) +- [stripe_issuing_authorizations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_issuing_authorizations.md) (Incremental) +- [stripe_issuing_cardholders](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_issuing_cardholders.md) (Incremental) +- [stripe_issuing_cards](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_issuing_cards.md) (Incremental) +- [stripe_issuing_disputes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_issuing_disputes.md) (Incremental) +- [stripe_issuing_transactions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_issuing_transactions.md) (Incremental) +- [stripe_payment_intents](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_payment_intents.md) (Incremental) +- [stripe_payment_links](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_payment_links.md) +- [stripe_payment_methods](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_payment_methods.md) +- [stripe_payouts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_payouts.md) (Incremental) +- [stripe_plans](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_plans.md) (Incremental) +- [stripe_prices](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_prices.md) (Incremental) +- [stripe_products](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_products.md) (Incremental) +- [stripe_promotion_codes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_promotion_codes.md) (Incremental) +- [stripe_quotes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_quotes.md) +- [stripe_radar_early_fraud_warnings](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_radar_early_fraud_warnings.md) +- [stripe_refunds](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_refunds.md) (Incremental) +- [stripe_reporting_report_runs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_reporting_report_runs.md) (Incremental) +- [stripe_reporting_report_types](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_reporting_report_types.md) +- [stripe_reviews](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_reviews.md) (Incremental) +- [stripe_shipping_rates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_shipping_rates.md) (Incremental) +- [stripe_sigma_scheduled_query_runs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_sigma_scheduled_query_runs.md) +- [stripe_subscription_schedules](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_subscription_schedules.md) (Incremental) +- [stripe_subscriptions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_subscriptions.md) (Incremental) +- [stripe_tax_codes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_tax_codes.md) +- [stripe_tax_rates](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_tax_rates.md) (Incremental) +- [stripe_terminal_configurations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_terminal_configurations.md) +- [stripe_terminal_locations](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_terminal_locations.md) +- [stripe_terminal_readers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_terminal_readers.md) +- [stripe_topups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_topups.md) (Incremental) +- [stripe_transfers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_transfers.md) (Incremental) +- [stripe_treasury_financial_accounts](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_financial_accounts.md) (Incremental) + - [stripe_treasury_credit_reversals](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_credit_reversals.md) + - [stripe_treasury_debit_reversals](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_debit_reversals.md) + - [stripe_treasury_inbound_transfers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_inbound_transfers.md) + - [stripe_treasury_outbound_payments](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_outbound_payments.md) + - [stripe_treasury_outbound_transfers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_outbound_transfers.md) + - [stripe_treasury_received_credits](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_received_credits.md) + - [stripe_treasury_received_debits](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_received_debits.md) + - [stripe_treasury_transaction_entries](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_transaction_entries.md) (Incremental) + - [stripe_treasury_transactions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_treasury_transactions.md) (Incremental) +- [stripe_webhook_endpoints](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_webhook_endpoints.md) \ No newline at end of file From 5f0726dddeb1f0de84285b5727c19bb4ba325230 Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Thu, 12 Jan 2023 20:47:05 +0000 Subject: [PATCH 125/186] doc(website): Fix Oracle link in sidebar (#6775) --- website/pages/docs/plugins/sources/_meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/docs/plugins/sources/_meta.json b/website/pages/docs/plugins/sources/_meta.json index 21da01a59a89cc..4aaa8e27d0bf4c 100644 --- a/website/pages/docs/plugins/sources/_meta.json +++ b/website/pages/docs/plugins/sources/_meta.json @@ -14,7 +14,7 @@ "heroku": "Heroku", "k8s": "Kubernetes", "okta": "Okta", - "Oracle": "Oracle", + "oracle": "Oracle", "salesforce": "Salesforce", "shopify": "Shopify", "slack": "Slack", From e3376a938608db161bc951056fbd1bbe13f94ec7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Thu, 12 Jan 2023 22:58:40 +0200 Subject: [PATCH 126/186] chore: Update plugin `source-aws` version to v11.0.1 (#6777) Updates the `source-aws` plugin latest version to v11.0.1 --- website/versions/source-aws.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-aws.json b/website/versions/source-aws.json index 1df631c0c81a96..ebb96b0053b9b8 100644 --- a/website/versions/source-aws.json +++ b/website/versions/source-aws.json @@ -1 +1 @@ -{ "latest": "plugins-source-aws-v11.0.0" } +{ "latest": "plugins-source-aws-v11.0.1" } From 08953bb0111c196dac795aadc66265e521690f40 Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Fri, 13 Jan 2023 08:56:32 +0000 Subject: [PATCH 127/186] feat(stripe): Add events (#6776) --- plugins/source/stripe/codegen/recipes/all.go | 4 + plugins/source/stripe/docs/tables/README.md | 1 + .../stripe/docs/tables/stripe_events.md | 25 ++++++ .../source/stripe/resources/plugin/tables.go | 2 + .../resources/services/events/events.go | 77 +++++++++++++++++++ .../resources/services/events/events_test.go | 12 +++ .../docs/plugins/sources/stripe/tables.md | 1 + 7 files changed, 122 insertions(+) create mode 100644 plugins/source/stripe/docs/tables/stripe_events.md create mode 100644 plugins/source/stripe/resources/services/events/events.go create mode 100644 plugins/source/stripe/resources/services/events/events_test.go diff --git a/plugins/source/stripe/codegen/recipes/all.go b/plugins/source/stripe/codegen/recipes/all.go index 09059b7e13c446..0f0195e1be25bf 100644 --- a/plugins/source/stripe/codegen/recipes/all.go +++ b/plugins/source/stripe/codegen/recipes/all.go @@ -70,6 +70,10 @@ var AllResources = []*Resource{ DataStruct: &stripe.Dispute{}, StateParamName: createdStateParam, }, + { + DataStruct: &stripe.Event{}, + StateParamName: createdStateParam, + }, { DataStruct: &stripe.FileLink{}, StateParamName: createdStateParam, diff --git a/plugins/source/stripe/docs/tables/README.md b/plugins/source/stripe/docs/tables/README.md index 2b4ba4968d4bff..8da5fad67d4cfe 100644 --- a/plugins/source/stripe/docs/tables/README.md +++ b/plugins/source/stripe/docs/tables/README.md @@ -17,6 +17,7 @@ - [stripe_credit_notes](stripe_credit_notes.md) - [stripe_customers](stripe_customers.md) (Incremental) - [stripe_disputes](stripe_disputes.md) (Incremental) +- [stripe_events](stripe_events.md) (Incremental) - [stripe_file_links](stripe_file_links.md) (Incremental) - [stripe_files](stripe_files.md) (Incremental) - [stripe_identity_verification_reports](stripe_identity_verification_reports.md) (Incremental) diff --git a/plugins/source/stripe/docs/tables/stripe_events.md b/plugins/source/stripe/docs/tables/stripe_events.md new file mode 100644 index 00000000000000..9dcc714b5cc7a7 --- /dev/null +++ b/plugins/source/stripe/docs/tables/stripe_events.md @@ -0,0 +1,25 @@ +# Table: stripe_events + +https://stripe.com/docs/api/events + +The primary key for this table is **id**. +It supports incremental syncs based on the **created** column. + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|id (PK)|String| +|created (Incremental Key)|Timestamp| +|account|String| +|api_version|String| +|data|JSON| +|livemode|Bool| +|object|String| +|pending_webhooks|Int| +|request|JSON| +|type|String| \ No newline at end of file diff --git a/plugins/source/stripe/resources/plugin/tables.go b/plugins/source/stripe/resources/plugin/tables.go index 9b0391086351aa..770acc0fa14657 100644 --- a/plugins/source/stripe/resources/plugin/tables.go +++ b/plugins/source/stripe/resources/plugin/tables.go @@ -13,6 +13,7 @@ import ( "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/credit_notes" "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/customers" "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/disputes" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/events" "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/file_links" "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/files" "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/identity" @@ -56,6 +57,7 @@ func tables() []*schema.Table { credit_notes.CreditNotes(), customers.Customers(), disputes.Disputes(), + events.Events(), file_links.FileLinks(), files.Files(), identity.IdentityVerificationReports(), diff --git a/plugins/source/stripe/resources/services/events/events.go b/plugins/source/stripe/resources/services/events/events.go new file mode 100644 index 00000000000000..1f55c3a2a73480 --- /dev/null +++ b/plugins/source/stripe/resources/services/events/events.go @@ -0,0 +1,77 @@ +package events + +import ( + "context" + + "fmt" + "strconv" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/stripe/stripe-go/v74" +) + +func Events() *schema.Table { + return &schema.Table{ + Name: "stripe_events", + Description: `https://stripe.com/docs/api/events`, + Transform: transformers.TransformWithStruct(&stripe.Event{}, client.SharedTransformers(transformers.WithSkipFields("APIResource", "ID"))...), + Resolver: fetchEvents, + + Columns: []schema.Column{ + { + Name: "id", + Type: schema.TypeString, + Resolver: schema.PathResolver("ID"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "created", + Type: schema.TypeTimestamp, + Resolver: schema.PathResolver("Created"), + CreationOptions: schema.ColumnCreationOptions{ + IncrementalKey: true, + }, + }, + }, + IsIncremental: true, + } +} + +func fetchEvents(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + cl := meta.(*client.Client) + + lp := &stripe.EventListParams{} + + const key = "events" + + if cl.Backend != nil { + value, err := cl.Backend.Get(ctx, key, cl.ID()) + if err != nil { + return fmt.Errorf("failed to retrieve state from backend: %w", err) + } + if value != "" { + vi, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return fmt.Errorf("retrieved invalid state value: %q %w", value, err) + } + lp.Created = &vi + } + } + + it := cl.Services.Events.List(lp) + for it.Next() { + data := it.Event() + lp.Created = client.MaxInt64(lp.Created, &data.Created) + res <- data + } + + err := it.Err() + if cl.Backend != nil && err == nil && lp.Created != nil { + return cl.Backend.Set(ctx, key, cl.ID(), strconv.FormatInt(*lp.Created, 10)) + } + return err +} diff --git a/plugins/source/stripe/resources/services/events/events_test.go b/plugins/source/stripe/resources/services/events/events_test.go new file mode 100644 index 00000000000000..92ed81823c4391 --- /dev/null +++ b/plugins/source/stripe/resources/services/events/events_test.go @@ -0,0 +1,12 @@ +package events_test + +import ( + "testing" + + "github.com/cloudquery/cloudquery/plugins/source/stripe/client" + "github.com/cloudquery/cloudquery/plugins/source/stripe/resources/services/events" +) + +func TestEvents(t *testing.T) { + client.MockTestHelper(t, events.Events(), client.TestOptions{}) +} diff --git a/website/pages/docs/plugins/sources/stripe/tables.md b/website/pages/docs/plugins/sources/stripe/tables.md index d45dccffeeff22..8cacf832079ff7 100644 --- a/website/pages/docs/plugins/sources/stripe/tables.md +++ b/website/pages/docs/plugins/sources/stripe/tables.md @@ -17,6 +17,7 @@ - [stripe_credit_notes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_credit_notes.md) - [stripe_customers](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_customers.md) (Incremental) - [stripe_disputes](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_disputes.md) (Incremental) +- [stripe_events](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_events.md) (Incremental) - [stripe_file_links](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_file_links.md) (Incremental) - [stripe_files](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_files.md) (Incremental) - [stripe_identity_verification_reports](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/stripe/docs/tables/stripe_identity_verification_reports.md) (Incremental) From 28d9825a882e6b72c73a44be1a43253c1ad3fa08 Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Fri, 13 Jan 2023 11:45:15 +0200 Subject: [PATCH 128/186] feat: Add GCP vmmigration (#6760) #### Summary */} +### batch_size_bytes +{/**/} + +(`int`, optional) + +The max number of bytes to use for a single batch. Only applies to plugins that utilize batching. This setting works in conjunction with `batch_size`, and batches are written whenever either `batch_size` or `batch_size_bytes` is reached. Every plugin has its own default value for `batch_size_bytes`. Note that the size in bytes is calculated based on the size of data in memory, not the serialized data, and it is best to choose a `batch_size_bytes` significantly lower than any hard limits. ### spec From 7fad312104967dbaddeb746d83282bc6e04a7eed Mon Sep 17 00:00:00 2001 From: Yevgeny Pats Date: Fri, 13 Jan 2023 10:58:12 -0500 Subject: [PATCH 133/186] feat: Add scaffold CLI (#6789) Right now this only supports `source` scaffolding and will support `destination` in a follow-up PR. This also runs some basic sanity tests the source scaffold compiles. --- .github/workflows/scaffold.yml | 81 ++++++++++++++++ .../workflows/wait_for_required_workflows.yml | 1 + scaffold/.gitignore | 1 + scaffold/Makefile | 9 ++ scaffold/README.md | 3 + scaffold/cmd/root.go | 37 +++++++ scaffold/cmd/source.go | 97 +++++++++++++++++++ scaffold/cmd/source_test.go | 25 +++++ .../source/.github/workflows/release.yaml.tpl | 38 ++++++++ .../cmd/templates/source/.goreleaser.yaml.tpl | 35 +++++++ scaffold/cmd/templates/source/README.md.tpl | 1 + .../cmd/templates/source/client/client.go.tpl | 32 ++++++ .../cmd/templates/source/client/spec.go.tpl | 5 + scaffold/cmd/templates/source/go.mod.tpl | 8 ++ scaffold/cmd/templates/source/main.go.tpl | 10 ++ .../cmd/templates/source/plugin/plugin.go.tpl | 23 +++++ .../templates/source/resources/table.go.tpl | 24 +++++ scaffold/go.mod | 10 ++ scaffold/go.sum | 10 ++ scaffold/main.go | 15 +++ 20 files changed, 465 insertions(+) create mode 100644 .github/workflows/scaffold.yml create mode 100644 scaffold/.gitignore create mode 100644 scaffold/Makefile create mode 100644 scaffold/README.md create mode 100644 scaffold/cmd/root.go create mode 100644 scaffold/cmd/source.go create mode 100644 scaffold/cmd/source_test.go create mode 100644 scaffold/cmd/templates/source/.github/workflows/release.yaml.tpl create mode 100644 scaffold/cmd/templates/source/.goreleaser.yaml.tpl create mode 100644 scaffold/cmd/templates/source/README.md.tpl create mode 100644 scaffold/cmd/templates/source/client/client.go.tpl create mode 100644 scaffold/cmd/templates/source/client/spec.go.tpl create mode 100644 scaffold/cmd/templates/source/go.mod.tpl create mode 100644 scaffold/cmd/templates/source/main.go.tpl create mode 100644 scaffold/cmd/templates/source/plugin/plugin.go.tpl create mode 100644 scaffold/cmd/templates/source/resources/table.go.tpl create mode 100644 scaffold/go.mod create mode 100644 scaffold/go.sum create mode 100644 scaffold/main.go diff --git a/.github/workflows/scaffold.yml b/.github/workflows/scaffold.yml new file mode 100644 index 00000000000000..a21b45abf99023 --- /dev/null +++ b/.github/workflows/scaffold.yml @@ -0,0 +1,81 @@ +name: Scaffold Workflow + +on: + pull_request: + paths: + - "scaffold/**" + - ".github/workflows/scaffold.yml" + push: + branches: + - main + paths: + - "scaffold/**" + - ".github/workflows/scaffold.yml" + +jobs: + scaffold: + timeout-minutes: 30 + name: "scaffold" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./scaffold + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 2 + - name: Set up Go 1.x + uses: actions/setup-go@v3 + with: + go-version-file: scaffold/go.mod + cache: true + cache-dependency-path: scaffold/go.sum + - name: golangci-lint + uses: cloudquery/golangci-lint-action@master + if: matrix.os == 'ubuntu-latest' + with: + version: v1.50.1 + working-directory: cli + skip-pkg-cache: true + skip-build-cache: true + - name: Get dependencies + run: go get -t -d ./... + - name: Build + run: go build . + - name: Test + run: make test + validate-release: + timeout-minutes: 30 + runs-on: ubuntu-latest + env: + CGO_ENABLED: 0 + steps: + - name: Checkout + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/checkout@v3 + - uses: actions/cache@v3 + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-1.19.4-release-cache-${{ hashFiles('scaffold/go.sum') }} + restore-keys: | + ${{ runner.os }}-go-1.19.4-release-cache-scaffold + - name: Set up Go + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: actions/setup-go@v3 + with: + go-version-file: scaffold/go.mod + - name: Install GoReleaser + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + uses: goreleaser/goreleaser-action@v3 + with: + distribution: goreleaser-pro + version: latest + install-only: true + - name: Run GoReleaser Dry-Run + if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push' + run: goreleaser release --snapshot --rm-dist --skip-validate --skip-publish --skip-sign -f ./scaffold/.goreleaser.yaml + env: + GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} diff --git a/.github/workflows/wait_for_required_workflows.yml b/.github/workflows/wait_for_required_workflows.yml index b28d0b9aa7f149..1d84651b4ce461 100644 --- a/.github/workflows/wait_for_required_workflows.yml +++ b/.github/workflows/wait_for_required_workflows.yml @@ -40,6 +40,7 @@ jobs: return files.some(file => file.startsWith(`${action}/`) || matchesWorkflow(file, action)) } let actions = ["cli", + "scaffold", "plugins/source/aws", "plugins/source/azure", "plugins/source/azuredevops", diff --git a/scaffold/.gitignore b/scaffold/.gitignore new file mode 100644 index 00000000000000..04e6a6f389cb1a --- /dev/null +++ b/scaffold/.gitignore @@ -0,0 +1 @@ +scaffold \ No newline at end of file diff --git a/scaffold/Makefile b/scaffold/Makefile new file mode 100644 index 00000000000000..1815c4eff45776 --- /dev/null +++ b/scaffold/Makefile @@ -0,0 +1,9 @@ +.PHONY: lint +lint: + golangci-lint run --timeout 10m --verbose + +.PHONY: test +test: + go test -race ./... + + diff --git a/scaffold/README.md b/scaffold/README.md new file mode 100644 index 00000000000000..fd2698c662c1c7 --- /dev/null +++ b/scaffold/README.md @@ -0,0 +1,3 @@ +# Scaffold CLI + +This CLI helps scaffold (bootstrap) new source or destination plugins. \ No newline at end of file diff --git a/scaffold/cmd/root.go b/scaffold/cmd/root.go new file mode 100644 index 00000000000000..27f45d893e4aeb --- /dev/null +++ b/scaffold/cmd/root.go @@ -0,0 +1,37 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +var ( + Version = "development" + rootShort = "CloudQuery Scaffold CLI" + rootLong = `CloudQuery Scaffold CLI + +Open source data integration at scale. + +Find more information at: + https://www.cloudquery.io` +) + +func NewCmdRoot() *cobra.Command { + cmd := &cobra.Command{ + Use: "scaffold", + Short: rootShort, + Long: rootLong, + Version: Version, + PersistentPreRunE: func(cmd *cobra.Command, args []string) error { + return nil + }, + } + + cmd.SetHelpCommand(&cobra.Command{Hidden: true}) + cmd.AddCommand( + newCmdScaffoldSource(), + ) + cmd.CompletionOptions.HiddenDefaultCmd = true + cmd.DisableAutoGenTag = true + + return cmd +} diff --git a/scaffold/cmd/source.go b/scaffold/cmd/source.go new file mode 100644 index 00000000000000..f974fe14c0ffad --- /dev/null +++ b/scaffold/cmd/source.go @@ -0,0 +1,97 @@ +package cmd + +import ( + "embed" + "fmt" + "go/format" + "os" + "path" + "strings" + "text/template" + + "github.com/spf13/cobra" +) + +const ( + scaffoldSourceShort = "Create an empty source plugin project" +) + +func newCmdScaffoldSource() *cobra.Command { + var outputDir string + cmd := &cobra.Command{ + Use: "source [org] [name]", + Short: scaffoldSourceShort, + Args: cobra.MatchAll(cobra.ExactArgs(2)), + RunE: func(cmd *cobra.Command, args []string) error { + if outputDir == "" { + outputDir = "cq-source-" + args[1] + } + return runScaffoldSource(args[0], args[1], outputDir) + }, + } + cmd.Flags().StringVar(&outputDir, "output", "", "output directory") + return cmd +} + +var scaffoldTemplates = map[string]string{ + "release.yaml.tpl": ".github/workflows/release.yaml", + ".goreleaser.yaml.tpl": ".goreleaser.yaml", + "go.mod.tpl": "go.mod", + "main.go.tpl": "main.go", + "README.md.tpl": "README.md", + "client.go.tpl": "client/client.go", + "spec.go.tpl": "client/spec.go", + "plugin.go.tpl": "plugin/plugin.go", + "table.go.tpl": "resources/table.go", +} + +//go:embed templates/source/* +var sourceFS embed.FS + +type scaffoldData struct { + Org string + Name string +} + +func runScaffoldSource(org string, name string, outputDir string) error { + tpl, err := template.New("source").ParseFS(sourceFS, + "templates/source/.github/workflows/*.tpl", + "templates/source/*.tpl", + "templates/source/plugin/*.tpl", + "templates/source/client/*.tpl", + "templates/source/resources/*.tpl", + ) + if err != nil { + return fmt.Errorf("failed to parse templates: %w", err) + } + + data := scaffoldData{ + Org: org, + Name: name, + } + for templatePath, filePath := range scaffoldTemplates { + var sb strings.Builder + if err := tpl.ExecuteTemplate(&sb, templatePath, data); err != nil { + return fmt.Errorf("failed to execute template: %w", err) + } + content := []byte(sb.String()) + fullPath := outputDir + "/" + filePath + baseDir := path.Dir(fullPath) + if err := os.MkdirAll(baseDir, 0755); err != nil { + return fmt.Errorf("failed to create directory %s: %w", baseDir, err) + } + if strings.HasSuffix(filePath, ".go") { + formattedContent, err := format.Source(content) + if err != nil { + // we still write the file even if it's not formatted for easy debugging + _ = os.WriteFile(outputDir+"/"+filePath, content, 0644) + return fmt.Errorf("failed to format source %s: %w", filePath, err) + } + content = formattedContent + } + if err := os.WriteFile(outputDir+"/"+filePath, content, 0644); err != nil { + return fmt.Errorf("failed to write file: %w", err) + } + } + return nil +} diff --git a/scaffold/cmd/source_test.go b/scaffold/cmd/source_test.go new file mode 100644 index 00000000000000..8ef9289c7cfb8b --- /dev/null +++ b/scaffold/cmd/source_test.go @@ -0,0 +1,25 @@ +package cmd + +import ( + "os/exec" + "testing" +) + +func TestSource(t *testing.T) { + tmpDir := t.TempDir() + cmd := NewCmdRoot() + cmd.SetArgs([]string{"source", "test-org", "test", "--output", tmpDir}) + if err := cmd.Execute(); err != nil { + t.Error(err) + } + goModTidy := exec.Command("go", "mod", "tidy") + goModTidy.Dir = tmpDir + if out, err := goModTidy.CombinedOutput(); err != nil { + t.Error(string(out) + err.Error()) + } + goBuild := exec.Command("go", "build", ".") + goBuild.Dir = tmpDir + if out, err := goBuild.CombinedOutput(); err != nil { + t.Error(string(out) + err.Error()) + } +} diff --git a/scaffold/cmd/templates/source/.github/workflows/release.yaml.tpl b/scaffold/cmd/templates/source/.github/workflows/release.yaml.tpl new file mode 100644 index 00000000000000..a1b130f6397619 --- /dev/null +++ b/scaffold/cmd/templates/source/.github/workflows/release.yaml.tpl @@ -0,0 +1,38 @@ +name: release +on: + push: + tags: + - 'v*.*.*' +env: + CGO_ENABLED: 0 + +jobs: + release-binary: + runs-on: ubuntu-latest + steps: + # This fails for invalid semver strings + - name: Parse semver string + id: semver_parser + uses: booxmedialtd/ws-action-parse-semver@966a26512c94239a00aa10b1b0c196906f7e1909 + with: + input_string: ${{"{{"}}github.ref_name{{"}}"}} + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.18 + - name: Run GoReleaser Dry-Run + uses: goreleaser/goreleaser-action@v3 + with: + version: latest + args: release --rm-dist --skip-validate --skip-publish --skip-sign + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v3 + with: + version: latest + args: release --rm-dist --skip-sign + env: + GITHUB_TOKEN: ${{"{{"}} secrets.GITHUB_TOKEN {{"}}"}} diff --git a/scaffold/cmd/templates/source/.goreleaser.yaml.tpl b/scaffold/cmd/templates/source/.goreleaser.yaml.tpl new file mode 100644 index 00000000000000..1ae28b341df09e --- /dev/null +++ b/scaffold/cmd/templates/source/.goreleaser.yaml.tpl @@ -0,0 +1,35 @@ +before: + hooks: + - go mod download +builds: + - flags: + - -buildmode=exe + env: + - CGO_ENABLED=0 + - GO111MODULE=on + ldflags: + - -s -w -X github.com/{{.Org}}/cq-source-{{.Name}}/plugin.Version={{"{{"}}.Version{{"}}"}} + goos: + - windows + - linux + - darwin + goarch: + - amd64 + - arm64 + ignore: + - goos: windows + goarch: arm64 +archives: + - name_template: "{{"{{"}} .Binary {{"}}"}}_{{"{{"}} .Os {{"}}"}}_{{"{{"}} .Arch {{"}}"}}" + format: zip +checksum: + name_template: "checksums.txt" +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" + +release: + prerelease: auto diff --git a/scaffold/cmd/templates/source/README.md.tpl b/scaffold/cmd/templates/source/README.md.tpl new file mode 100644 index 00000000000000..3af66399a8ff89 --- /dev/null +++ b/scaffold/cmd/templates/source/README.md.tpl @@ -0,0 +1 @@ +# CloudQuery {{.Name}} Source Plugin diff --git a/scaffold/cmd/templates/source/client/client.go.tpl b/scaffold/cmd/templates/source/client/client.go.tpl new file mode 100644 index 00000000000000..3d81efe628b3c1 --- /dev/null +++ b/scaffold/cmd/templates/source/client/client.go.tpl @@ -0,0 +1,32 @@ +package client + +import ( + "context" + "fmt" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/specs" + "github.com/cloudquery/plugin-sdk/plugins/source" + "github.com/rs/zerolog" +) + +type Client struct { + Logger zerolog.Logger +} + +func (c *Client) ID() string { + // TODO: Change to either your plugin name or a unique dynamic identifier + return "ID" +} + +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + var pluginSpec Spec + + if err := s.UnmarshalSpec(&pluginSpec); err != nil { + return nil, fmt.Errorf("failed to unmarshal plugin spec: %w", err) + } + // TODO: Add your client initialization here + + return &Client{ + Logger: logger, + }, nil +} diff --git a/scaffold/cmd/templates/source/client/spec.go.tpl b/scaffold/cmd/templates/source/client/spec.go.tpl new file mode 100644 index 00000000000000..482c722236cd1d --- /dev/null +++ b/scaffold/cmd/templates/source/client/spec.go.tpl @@ -0,0 +1,5 @@ +package client + +type Spec struct { + // plugin spec goes here +} diff --git a/scaffold/cmd/templates/source/go.mod.tpl b/scaffold/cmd/templates/source/go.mod.tpl new file mode 100644 index 00000000000000..1d971d36160b9f --- /dev/null +++ b/scaffold/cmd/templates/source/go.mod.tpl @@ -0,0 +1,8 @@ +module github.com/{{.Org}}/cq-source-{{.Name}} + +go 1.19 + +require ( + github.com/cloudquery/plugin-sdk v1.25.0 + github.com/rs/zerolog v1.28.0 +) diff --git a/scaffold/cmd/templates/source/main.go.tpl b/scaffold/cmd/templates/source/main.go.tpl new file mode 100644 index 00000000000000..7bf51bbd8b8948 --- /dev/null +++ b/scaffold/cmd/templates/source/main.go.tpl @@ -0,0 +1,10 @@ +package main + +import ( + "github.com/cloudquery/plugin-sdk/serve" + "github.com/{{.Org}}/cq-source-{{.Name}}/plugin" +) + +func main() { + serve.Source(plugin.Plugin()) +} diff --git a/scaffold/cmd/templates/source/plugin/plugin.go.tpl b/scaffold/cmd/templates/source/plugin/plugin.go.tpl new file mode 100644 index 00000000000000..9de4e51ffe9e1d --- /dev/null +++ b/scaffold/cmd/templates/source/plugin/plugin.go.tpl @@ -0,0 +1,23 @@ +package plugin + +import ( + "github.com/cloudquery/plugin-sdk/plugins/source" + "github.com/{{.Org}}/cq-source-{{.Name}}/client" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/{{.Org}}/cq-source-{{.Name}}/resources" +) + +var ( + Version = "development" +) + +func Plugin() *source.Plugin { + return source.NewPlugin( + "test", + Version, + schema.Tables{ + resources.SampleTable(), + }, + client.New, + ) +} diff --git a/scaffold/cmd/templates/source/resources/table.go.tpl b/scaffold/cmd/templates/source/resources/table.go.tpl new file mode 100644 index 00000000000000..e1861d1137d544 --- /dev/null +++ b/scaffold/cmd/templates/source/resources/table.go.tpl @@ -0,0 +1,24 @@ +package resources + +import ( + "context" + "fmt" + "github.com/cloudquery/plugin-sdk/schema" +) + +func SampleTable() *schema.Table { + return &schema.Table{ + Name: "{{.Name}}_sample_table", + Resolver: fetchSampleTable, + Columns: []schema.Column{ + { + Name: "column", + Type: schema.TypeString, + }, + }, + } +} + +func fetchSampleTable(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan <- interface{}) error { + return fmt.Errorf("not implemented") +} diff --git a/scaffold/go.mod b/scaffold/go.mod new file mode 100644 index 00000000000000..06453ee39e7f18 --- /dev/null +++ b/scaffold/go.mod @@ -0,0 +1,10 @@ +module github.com/cloudquery/cloudquery/scaffold + +go 1.19 + +require github.com/spf13/cobra v1.6.1 + +require ( + github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect +) diff --git a/scaffold/go.sum b/scaffold/go.sum new file mode 100644 index 00000000000000..442875a4e6f8e2 --- /dev/null +++ b/scaffold/go.sum @@ -0,0 +1,10 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/scaffold/main.go b/scaffold/main.go new file mode 100644 index 00000000000000..d675030e862b8b --- /dev/null +++ b/scaffold/main.go @@ -0,0 +1,15 @@ +package main + +import ( + "fmt" + "os" + + "github.com/cloudquery/cloudquery/scaffold/cmd" +) + +func main() { + if err := cmd.NewCmdRoot().Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} From 3dd611689ce05de31e2766aa508ec269e791d454 Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Fri, 13 Jan 2023 18:30:22 +0200 Subject: [PATCH 134/186] feat(gcp-resources): Add vision (#6786) Caveats: - Generated only most-imporant/top-level tables (skipped productsets). - no programatic way to get list of supported locations. I copy-pasted them from the APIs error message: ``` 2:56PM ERR table resolver finished with error error="rpc error: code = InvalidArgument desc = Location not supported: 'europe-west3'. Must be one of 'us-west1', 'us-east1', 'asia-east1', 'europe-west1'" client=cq-playground module=gcp-src table=gcp_vision_product_sets ``` --- plugins/source/gcp/client/client.go | 9 + plugins/source/gcp/client/multiplex.go | 26 +++ plugins/source/gcp/docs/tables/README.md | 2 + .../gcp_vision_product_reference_images.md | 22 +++ .../gcp/docs/tables/gcp_vision_products.md | 25 +++ plugins/source/gcp/go.mod | 2 + plugins/source/gcp/go.sum | 171 ++++++++++++++++++ plugins/source/gcp/resources/plugin/tables.go | 2 + .../gcp/resources/services/vision/products.go | 44 +++++ .../services/vision/products_fetch.go | 37 ++++ .../services/vision/products_mock_test.go | 45 +++++ .../services/vision/reference_image.go | 35 ++++ .../services/vision/reference_image_fetch.go | 38 ++++ .../pages/docs/plugins/sources/gcp/tables.md | 2 + 14 files changed, 460 insertions(+) create mode 100644 plugins/source/gcp/docs/tables/gcp_vision_product_reference_images.md create mode 100644 plugins/source/gcp/docs/tables/gcp_vision_products.md create mode 100644 plugins/source/gcp/resources/services/vision/products.go create mode 100644 plugins/source/gcp/resources/services/vision/products_fetch.go create mode 100644 plugins/source/gcp/resources/services/vision/products_mock_test.go create mode 100644 plugins/source/gcp/resources/services/vision/reference_image.go create mode 100644 plugins/source/gcp/resources/services/vision/reference_image_fetch.go diff --git a/plugins/source/gcp/client/client.go b/plugins/source/gcp/client/client.go index 9d8917e74e7aea..f967e59ff567ef 100644 --- a/plugins/source/gcp/client/client.go +++ b/plugins/source/gcp/client/client.go @@ -44,6 +44,8 @@ type Client struct { ProjectId string // this is set by table client Org multiplexer OrgId string + // this is set by table client Location multiplexer + Location string // Logger logger zerolog.Logger } @@ -58,6 +60,13 @@ func (c *Client) withProject(project string) *Client { return &newClient } +func (c *Client) withLocation(location string) *Client { + newClient := *c + newClient.logger = c.logger.With().Str("location", location).Logger() + newClient.Location = location + return &newClient +} + // withOrg allows multiplexer to create a new client with given organizationId func (c *Client) withOrg(org string) *Client { newClient := *c diff --git a/plugins/source/gcp/client/multiplex.go b/plugins/source/gcp/client/multiplex.go index 0b0e8c57455e2d..3ccf458afd6e7c 100644 --- a/plugins/source/gcp/client/multiplex.go +++ b/plugins/source/gcp/client/multiplex.go @@ -44,3 +44,29 @@ func OrgMultiplex(meta schema.ClientMeta) []schema.ClientMeta { } return l } + +func ProjectLocationMultiplexEnabledServices(service string, locations []string) func(schema.ClientMeta) []schema.ClientMeta { + if _, ok := GcpServices[service]; !ok { + panic("unknown service: " + service) + } + + return func(meta schema.ClientMeta) []schema.ClientMeta { + cl := meta.(*Client) + + l := make([]schema.ClientMeta, 0, len(cl.projects)) + for _, projectId := range cl.projects { + // This map can only be empty if user has not opted into `EnabledServicesOnly` via the spec + if len(cl.EnabledServices) == 0 { + for _, location := range locations { + l = append(l, cl.withProject(projectId).withLocation(location)) + } + } else if cl.EnabledServices[projectId] != nil && cl.EnabledServices[projectId][service] != nil { + for _, location := range locations { + l = append(l, cl.withProject(projectId).withLocation(location)) + } + } + } + + return l + } +} diff --git a/plugins/source/gcp/docs/tables/README.md b/plugins/source/gcp/docs/tables/README.md index 953109091d3fbd..345fcb411ce53e 100644 --- a/plugins/source/gcp/docs/tables/README.md +++ b/plugins/source/gcp/docs/tables/README.md @@ -143,6 +143,8 @@ - [gcp_sql_users](gcp_sql_users.md) - [gcp_storage_buckets](gcp_storage_buckets.md) - [gcp_storage_bucket_policies](gcp_storage_bucket_policies.md) +- [gcp_vision_products](gcp_vision_products.md) + - [gcp_vision_product_reference_images](gcp_vision_product_reference_images.md) - [gcp_vmmigration_groups](gcp_vmmigration_groups.md) - [gcp_vmmigration_sources](gcp_vmmigration_sources.md) - [gcp_vmmigration_source_datacenter_connectors](gcp_vmmigration_source_datacenter_connectors.md) diff --git a/plugins/source/gcp/docs/tables/gcp_vision_product_reference_images.md b/plugins/source/gcp/docs/tables/gcp_vision_product_reference_images.md new file mode 100644 index 00000000000000..77d3882e3549c8 --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_vision_product_reference_images.md @@ -0,0 +1,22 @@ +# Table: gcp_vision_product_reference_images + +https://cloud.google.com/vision/docs/reference/rest/v1/projects.locations.products.referenceImages + +The composite primary key for this table is (**project_id**, **name**). + +## Relations + +This table depends on [gcp_vision_products](gcp_vision_products.md). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|uri|String| +|bounding_polys|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_vision_products.md b/plugins/source/gcp/docs/tables/gcp_vision_products.md new file mode 100644 index 00000000000000..509621fbb11be5 --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_vision_products.md @@ -0,0 +1,25 @@ +# Table: gcp_vision_products + +https://cloud.google.com/vision/docs/reference/rest/v1/projects.locations.products + +The composite primary key for this table is (**project_id**, **name**). + +## Relations + +The following tables depend on gcp_vision_products: + - [gcp_vision_product_reference_images](gcp_vision_product_reference_images.md) + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|display_name|String| +|description|String| +|product_category|String| +|product_labels|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index b362b5dedbaff9..a9815616c29f19 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -35,6 +35,7 @@ require ( cloud.google.com/go/secretmanager v1.9.0 cloud.google.com/go/serviceusage v1.4.0 cloud.google.com/go/storage v1.28.0 + cloud.google.com/go/vision/v2 v2.5.0 cloud.google.com/go/vmmigration v1.3.0 cloud.google.com/go/vpcaccess v1.5.0 cloud.google.com/go/websecurityscanner v1.4.0 @@ -61,6 +62,7 @@ require ( require ( cloud.google.com/go v0.107.0 // indirect cloud.google.com/go/compute/metadata v0.2.2 // indirect + cloud.google.com/go/vision v1.2.0 // indirect github.com/census-instrumentation/opencensus-proto v0.2.1 // indirect github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index 566378fb208ebd..937900cd657437 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -13,6 +13,20 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go/aiplatform v1.27.0 h1:DBi3Jk9XjCJ4pkkLM4NqKgj3ozUL1wq4l+d3/jTGXAI= @@ -45,6 +59,8 @@ cloud.google.com/go/binaryauthorization v1.4.0 h1:pL70vXWn9TitQYXBWTK2abHl2JHLwk cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= cloud.google.com/go/certificatemanager v1.4.0 h1:tzbR4UHBbgsewMWUD93JHi8EBi/gHBoSAcY1/sThFGk= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute/metadata v0.2.2 h1:aWKAjYaBaOSrpKl57+jnS/3fJRQnxL7TvR/u1VVbt6k= @@ -98,6 +114,10 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.28.0 h1:DLrIZ6xkeZX6K70fU/boWx5INJumt6f+nwwWSHXzzGY= cloud.google.com/go/storage v1.28.0/go.mod h1:qlgZML35PXA3zoEnIkiPLY4/TOkUleufRlu6qmcf7sI= +cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.5.0 h1:TQHxRqvLMi19azwm3qYuDbEzZWmiKJNTpGbkNsfRCik= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= cloud.google.com/go/vmmigration v1.3.0 h1:A2Tl2ZmwMRpvEmhV2ibISY85fmQR+Y5w9a0PlRz5P3s= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= cloud.google.com/go/vpcaccess v1.5.0 h1:woHXXtnW8b9gLFdWO9HLPalAddBQ9V4LT+1vjKwR3W8= @@ -109,11 +129,13 @@ cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -123,9 +145,12 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 h1:zH8ljVhhq7yC0MIeUL/IviMtY8hx2mK8cN9wEYb8ggw= @@ -139,8 +164,11 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 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/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1 h1:xvqufLtNVwAhN8NMyWklVgxnWohi+wtMGQMhtxexlm0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= @@ -169,6 +197,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= 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.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -186,8 +215,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= @@ -198,15 +229,20 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/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.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -214,6 +250,13 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -222,6 +265,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbez github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 h1:hRcWZ7716+E1tkMSZJ/QeeC2dPGGB1R/4z4m9RsL8Qg= @@ -235,6 +280,7 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -277,6 +323,7 @@ github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/schollz/progressbar/v3 v3.12.2 h1:yLqqqpQNMxGxHY8uEshRihaHWwa0rf0yb7/Zrpgq2C0= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= @@ -288,6 +335,7 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +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= @@ -298,12 +346,15 @@ github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xz github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= @@ -336,6 +387,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -344,6 +397,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= @@ -374,9 +429,16 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -384,7 +446,18 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.2.0 h1:GtQkldQ9m7yvzCL1V+LrYow3Khe0eJH0w7RbX/VbaIU= golang.org/x/oauth2 v0.2.0/go.mod h1:Cwn6afJ8jrQwYMxQDTpISoXmXW9I6qF6vDeuuoX3Ibs= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -395,6 +468,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/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.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -423,25 +498,48 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/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.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -489,7 +587,17 @@ golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -514,6 +622,23 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.105.0 h1:t6P9Jj+6XTn4U9I2wycQai6Q/Kz7iOT+QzjJ3G2V4x8= google.golang.org/api v0.105.0/go.mod h1:qh7eD5FJks5+BcE+cjBIm6Gz8vioK7EHvnlniqXBnqI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -555,6 +680,40 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -569,12 +728,24 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/examples v0.0.0-20210424002626-9572fd6faeae/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= 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= diff --git a/plugins/source/gcp/resources/plugin/tables.go b/plugins/source/gcp/resources/plugin/tables.go index 77e38af3db0a7c..a95ba9b85128a1 100644 --- a/plugins/source/gcp/resources/plugin/tables.go +++ b/plugins/source/gcp/resources/plugin/tables.go @@ -36,6 +36,7 @@ import ( "github.com/cloudquery/plugins/source/gcp/resources/services/serviceusage" "github.com/cloudquery/plugins/source/gcp/resources/services/sql" "github.com/cloudquery/plugins/source/gcp/resources/services/storage" + "github.com/cloudquery/plugins/source/gcp/resources/services/vision" "github.com/cloudquery/plugins/source/gcp/resources/services/vmmigration" "github.com/cloudquery/plugins/source/gcp/resources/services/vpcaccess" "github.com/cloudquery/plugins/source/gcp/resources/services/websecurityscanner" @@ -134,6 +135,7 @@ func PluginAutoGeneratedTables() []*schema.Table { serviceusage.Services(), sql.Instances(), storage.Buckets(), + vision.Products(), vmmigration.Groups(), vmmigration.Sources(), vmmigration.TargetProjects(), diff --git a/plugins/source/gcp/resources/services/vision/products.go b/plugins/source/gcp/resources/services/vision/products.go new file mode 100644 index 00000000000000..9e88f76bb83f76 --- /dev/null +++ b/plugins/source/gcp/resources/services/vision/products.go @@ -0,0 +1,44 @@ +package vision + +import ( + pb "cloud.google.com/go/vision/v2/apiv1/visionpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func Products() *schema.Table { + return &schema.Table{ + Name: "gcp_vision_products", + Description: `https://cloud.google.com/vision/docs/reference/rest/v1/projects.locations.products`, + Resolver: fetchProducts, + // The list of locations was copied by me from the APIs error message. Yuck. + Multiplex: client.ProjectLocationMultiplexEnabledServices("vision.googleapis.com", + []string{ + "us-west1", "us-east1", "asia-east1", "europe-west1", + }), + Transform: transformers.TransformWithStruct(&pb.Product{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + + Relations: []*schema.Table{ + ReferenceImages(), + }, + } +} diff --git a/plugins/source/gcp/resources/services/vision/products_fetch.go b/plugins/source/gcp/resources/services/vision/products_fetch.go new file mode 100644 index 00000000000000..e391cd8d896854 --- /dev/null +++ b/plugins/source/gcp/resources/services/vision/products_fetch.go @@ -0,0 +1,37 @@ +package vision + +import ( + "context" + + vision "cloud.google.com/go/vision/v2/apiv1" + pb "cloud.google.com/go/vision/v2/apiv1/visionpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchProducts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + + gcpClient, err := vision.NewProductSearchClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListProducts(ctx, &pb.ListProductsRequest{ + Parent: "projects/" + c.ProjectId + "/locations/" + c.Location, + PageSize: 100, + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/plugins/source/gcp/resources/services/vision/products_mock_test.go b/plugins/source/gcp/resources/services/vision/products_mock_test.go new file mode 100644 index 00000000000000..458456afdcad31 --- /dev/null +++ b/plugins/source/gcp/resources/services/vision/products_mock_test.go @@ -0,0 +1,45 @@ +package vision + +import ( + "context" + "fmt" + "testing" + + "github.com/cloudquery/plugin-sdk/faker" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/grpc" + + pb "cloud.google.com/go/vision/v2/apiv1/visionpb" +) + +func createServer(gsrv *grpc.Server) error { + fakeServer := &fakeServer{} + pb.RegisterProductSearchServer(gsrv, fakeServer) + return nil +} + +type fakeServer struct { + pb.UnimplementedProductSearchServer +} + +func (*fakeServer) ListProducts(context.Context, *pb.ListProductsRequest) (*pb.ListProductsResponse, error) { + resp := pb.ListProductsResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func (*fakeServer) ListReferenceImages(context.Context, *pb.ListReferenceImagesRequest) (*pb.ListReferenceImagesResponse, error) { + resp := pb.ListReferenceImagesResponse{} + if err := faker.FakeObject(&resp); err != nil { + return nil, fmt.Errorf("failed to fake data: %w", err) + } + resp.NextPageToken = "" + return &resp, nil +} + +func TestInstances(t *testing.T) { + client.MockTestGrpcHelper(t, Products(), createServer, client.TestOptions{}) +} diff --git a/plugins/source/gcp/resources/services/vision/reference_image.go b/plugins/source/gcp/resources/services/vision/reference_image.go new file mode 100644 index 00000000000000..e990081b8ebfc6 --- /dev/null +++ b/plugins/source/gcp/resources/services/vision/reference_image.go @@ -0,0 +1,35 @@ +package vision + +import ( + pb "cloud.google.com/go/vision/v2/apiv1/visionpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func ReferenceImages() *schema.Table { + return &schema.Table{ + Name: "gcp_vision_product_reference_images", + Description: `https://cloud.google.com/vision/docs/reference/rest/v1/projects.locations.products.referenceImages`, + Resolver: fetchReferenceImages, + Transform: transformers.TransformWithStruct(&pb.ReferenceImage{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/gcp/resources/services/vision/reference_image_fetch.go b/plugins/source/gcp/resources/services/vision/reference_image_fetch.go new file mode 100644 index 00000000000000..b0e02e02e80f27 --- /dev/null +++ b/plugins/source/gcp/resources/services/vision/reference_image_fetch.go @@ -0,0 +1,38 @@ +package vision + +import ( + "context" + + vision "cloud.google.com/go/vision/v2/apiv1" + pb "cloud.google.com/go/vision/v2/apiv1/visionpb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchReferenceImages(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + parentItem := parent.Item.(*pb.Product) + + gcpClient, err := vision.NewProductSearchClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListReferenceImages(ctx, &pb.ListReferenceImagesRequest{ + Parent: parentItem.Name, + PageSize: 100, + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/website/pages/docs/plugins/sources/gcp/tables.md b/website/pages/docs/plugins/sources/gcp/tables.md index f9ef90c17d4433..506d72dc5da3c5 100644 --- a/website/pages/docs/plugins/sources/gcp/tables.md +++ b/website/pages/docs/plugins/sources/gcp/tables.md @@ -143,6 +143,8 @@ - [gcp_sql_users](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_sql_users.md) - [gcp_storage_buckets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_storage_buckets.md) - [gcp_storage_bucket_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_storage_bucket_policies.md) +- [gcp_vision_products](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_vision_products.md) + - [gcp_vision_product_reference_images](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_vision_product_reference_images.md) - [gcp_vmmigration_groups](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_vmmigration_groups.md) - [gcp_vmmigration_sources](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_vmmigration_sources.md) - [gcp_vmmigration_source_datacenter_connectors](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_vmmigration_source_datacenter_connectors.md) From 041040d2b7674b7b4ffd524bb654b69d08964bf7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Fri, 13 Jan 2023 21:55:07 +0200 Subject: [PATCH 135/186] fix: Update endpoints (#6798) This PR was created by a scheduled workflow to sync endpoint changes --- plugins/source/aws/client/data/partition_service_region.json | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/source/aws/client/data/partition_service_region.json b/plugins/source/aws/client/data/partition_service_region.json index 8e8a3643290d44..9f586c7a19fc99 100644 --- a/plugins/source/aws/client/data/partition_service_region.json +++ b/plugins/source/aws/client/data/partition_service_region.json @@ -5266,6 +5266,7 @@ "fips-us-east-2": {}, "fips-us-west-1": {}, "fips-us-west-2": {}, + "me-central-1": {}, "me-south-1": {}, "sa-east-1": {}, "us-east-1": {}, From 6da965805ee24f7552cf6abcc955ffab5c4726e1 Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Sun, 15 Jan 2023 15:34:47 +0200 Subject: [PATCH 136/186] feat(gcp-resources): Add livestream (#6788) - top level tables only. --- plugins/source/gcp/client/services.go | 1 + .../gcp/codegen/templates/services.go.tpl | 1 + plugins/source/gcp/docs/tables/README.md | 2 ++ .../docs/tables/gcp_livestream_channels.md | 29 +++++++++++++++ .../gcp/docs/tables/gcp_livestream_inputs.md | 25 +++++++++++++ plugins/source/gcp/go.mod | 1 + plugins/source/gcp/go.sum | 2 ++ plugins/source/gcp/resources/plugin/tables.go | 3 ++ .../resources/services/livestream/channels.go | 36 +++++++++++++++++++ .../services/livestream/channels_fetch.go | 36 +++++++++++++++++++ .../resources/services/livestream/inputs.go | 36 +++++++++++++++++++ .../services/livestream/inputs_fetch.go | 36 +++++++++++++++++++ .../pages/docs/plugins/sources/gcp/tables.md | 2 ++ 13 files changed, 210 insertions(+) create mode 100644 plugins/source/gcp/docs/tables/gcp_livestream_channels.md create mode 100644 plugins/source/gcp/docs/tables/gcp_livestream_inputs.md create mode 100644 plugins/source/gcp/resources/services/livestream/channels.go create mode 100644 plugins/source/gcp/resources/services/livestream/channels_fetch.go create mode 100644 plugins/source/gcp/resources/services/livestream/inputs.go create mode 100644 plugins/source/gcp/resources/services/livestream/inputs_fetch.go diff --git a/plugins/source/gcp/client/services.go b/plugins/source/gcp/client/services.go index 36b5361ccd2116..9f87c7bda8f38a 100644 --- a/plugins/source/gcp/client/services.go +++ b/plugins/source/gcp/client/services.go @@ -6,6 +6,7 @@ var GcpServices = map[string]bool{ // Non discoverable services "aiplatform.googleapis.com": true, "vpcaccess.googleapis.com": true, + "livestream.googleapis.com": true, // Discoverable services "abusiveexperiencereport.googleapis.com": true, "acceleratedmobilepageurl.googleapis.com": true, diff --git a/plugins/source/gcp/codegen/templates/services.go.tpl b/plugins/source/gcp/codegen/templates/services.go.tpl index e2f28edf427e29..fa57a2e1a2a55e 100644 --- a/plugins/source/gcp/codegen/templates/services.go.tpl +++ b/plugins/source/gcp/codegen/templates/services.go.tpl @@ -6,6 +6,7 @@ var GcpServices = map[string]bool{ // Non discoverable services "aiplatform.googleapis.com": true, "vpcaccess.googleapis.com": true, + "livestream.googleapis.com": true, // Discoverable services {{- range .}} "{{.}}": true, diff --git a/plugins/source/gcp/docs/tables/README.md b/plugins/source/gcp/docs/tables/README.md index 345fcb411ce53e..a2dc5555a33120 100644 --- a/plugins/source/gcp/docs/tables/README.md +++ b/plugins/source/gcp/docs/tables/README.md @@ -128,6 +128,8 @@ - [gcp_kms_crypto_keys](gcp_kms_crypto_keys.md) - [gcp_kms_crypto_key_versions](gcp_kms_crypto_key_versions.md) - [gcp_kms_import_jobs](gcp_kms_import_jobs.md) +- [gcp_livestream_channels](gcp_livestream_channels.md) +- [gcp_livestream_inputs](gcp_livestream_inputs.md) - [gcp_logging_metrics](gcp_logging_metrics.md) - [gcp_logging_sinks](gcp_logging_sinks.md) - [gcp_monitoring_alert_policies](gcp_monitoring_alert_policies.md) diff --git a/plugins/source/gcp/docs/tables/gcp_livestream_channels.md b/plugins/source/gcp/docs/tables/gcp_livestream_channels.md new file mode 100644 index 00000000000000..c0279712635aee --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_livestream_channels.md @@ -0,0 +1,29 @@ +# Table: gcp_livestream_channels + +https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels + +The composite primary key for this table is (**project_id**, **name**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|create_time|Timestamp| +|update_time|Timestamp| +|labels|JSON| +|input_attachments|JSON| +|active_input|String| +|output|JSON| +|elementary_streams|JSON| +|mux_streams|JSON| +|manifests|JSON| +|sprite_sheets|JSON| +|streaming_state|String| +|streaming_error|JSON| +|log_config|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/docs/tables/gcp_livestream_inputs.md b/plugins/source/gcp/docs/tables/gcp_livestream_inputs.md new file mode 100644 index 00000000000000..d7e31d8fcd79bb --- /dev/null +++ b/plugins/source/gcp/docs/tables/gcp_livestream_inputs.md @@ -0,0 +1,25 @@ +# Table: gcp_livestream_inputs + +https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs + +The composite primary key for this table is (**project_id**, **name**). + +## Columns + +| Name | Type | +| ------------- | ------------- | +|_cq_source_name|String| +|_cq_sync_time|Timestamp| +|_cq_id|UUID| +|_cq_parent_id|UUID| +|project_id (PK)|String| +|name (PK)|String| +|create_time|Timestamp| +|update_time|Timestamp| +|labels|JSON| +|type|String| +|tier|String| +|uri|String| +|preprocessing_config|JSON| +|security_rules|JSON| +|input_stream_property|JSON| \ No newline at end of file diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index a9815616c29f19..a0d974cce6cbac 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -35,6 +35,7 @@ require ( cloud.google.com/go/secretmanager v1.9.0 cloud.google.com/go/serviceusage v1.4.0 cloud.google.com/go/storage v1.28.0 + cloud.google.com/go/video v1.9.0 cloud.google.com/go/vision/v2 v2.5.0 cloud.google.com/go/vmmigration v1.3.0 cloud.google.com/go/vpcaccess v1.5.0 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index 937900cd657437..5696460eff42ff 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -114,6 +114,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.28.0 h1:DLrIZ6xkeZX6K70fU/boWx5INJumt6f+nwwWSHXzzGY= cloud.google.com/go/storage v1.28.0/go.mod h1:qlgZML35PXA3zoEnIkiPLY4/TOkUleufRlu6qmcf7sI= +cloud.google.com/go/video v1.9.0 h1:ttlvO4J5c1VGq6FkHqWPD/aH6PfdxujHt+muTJlW1Zk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.5.0 h1:TQHxRqvLMi19azwm3qYuDbEzZWmiKJNTpGbkNsfRCik= diff --git a/plugins/source/gcp/resources/plugin/tables.go b/plugins/source/gcp/resources/plugin/tables.go index a95ba9b85128a1..10cf6dd1772440 100644 --- a/plugins/source/gcp/resources/plugin/tables.go +++ b/plugins/source/gcp/resources/plugin/tables.go @@ -27,6 +27,7 @@ import ( "github.com/cloudquery/plugins/source/gcp/resources/services/functions" "github.com/cloudquery/plugins/source/gcp/resources/services/iam" "github.com/cloudquery/plugins/source/gcp/resources/services/kms" + "github.com/cloudquery/plugins/source/gcp/resources/services/livestream" "github.com/cloudquery/plugins/source/gcp/resources/services/logging" "github.com/cloudquery/plugins/source/gcp/resources/services/monitoring" "github.com/cloudquery/plugins/source/gcp/resources/services/redis" @@ -123,6 +124,8 @@ func PluginAutoGeneratedTables() []*schema.Table { iam.ServiceAccounts(), iam.DenyPolicies(), kms.Locations(), + livestream.Channels(), + livestream.Inputs(), logging.Metrics(), logging.Sinks(), monitoring.AlertPolicies(), diff --git a/plugins/source/gcp/resources/services/livestream/channels.go b/plugins/source/gcp/resources/services/livestream/channels.go new file mode 100644 index 00000000000000..1c3f7c4f9acebc --- /dev/null +++ b/plugins/source/gcp/resources/services/livestream/channels.go @@ -0,0 +1,36 @@ +package livestream + +import ( + pb "cloud.google.com/go/video/livestream/apiv1/livestreampb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func Channels() *schema.Table { + return &schema.Table{ + Name: "gcp_livestream_channels", + Description: `https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels`, + Resolver: fetchChannels, + Multiplex: client.ProjectMultiplexEnabledServices("livestream.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.Channel{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/gcp/resources/services/livestream/channels_fetch.go b/plugins/source/gcp/resources/services/livestream/channels_fetch.go new file mode 100644 index 00000000000000..7e81d64df27c5d --- /dev/null +++ b/plugins/source/gcp/resources/services/livestream/channels_fetch.go @@ -0,0 +1,36 @@ +package livestream + +import ( + "context" + + livestream "cloud.google.com/go/video/livestream/apiv1" + pb "cloud.google.com/go/video/livestream/apiv1/livestreampb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchChannels(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + + gcpClient, err := livestream.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListChannels(ctx, &pb.ListChannelsRequest{ + Parent: "projects/" + c.ProjectId + "/locations/-", + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/plugins/source/gcp/resources/services/livestream/inputs.go b/plugins/source/gcp/resources/services/livestream/inputs.go new file mode 100644 index 00000000000000..7a842a91a029da --- /dev/null +++ b/plugins/source/gcp/resources/services/livestream/inputs.go @@ -0,0 +1,36 @@ +package livestream + +import ( + pb "cloud.google.com/go/video/livestream/apiv1/livestreampb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" + "github.com/cloudquery/plugins/source/gcp/client" +) + +func Inputs() *schema.Table { + return &schema.Table{ + Name: "gcp_livestream_inputs", + Description: `https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs`, + Resolver: fetchInputs, + Multiplex: client.ProjectMultiplexEnabledServices("livestream.googleapis.com"), + Transform: transformers.TransformWithStruct(&pb.Input{}, client.Options()...), + Columns: []schema.Column{ + { + Name: "project_id", + Type: schema.TypeString, + Resolver: client.ResolveProject, + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + { + Name: "name", + Type: schema.TypeString, + Resolver: schema.PathResolver("Name"), + CreationOptions: schema.ColumnCreationOptions{ + PrimaryKey: true, + }, + }, + }, + } +} diff --git a/plugins/source/gcp/resources/services/livestream/inputs_fetch.go b/plugins/source/gcp/resources/services/livestream/inputs_fetch.go new file mode 100644 index 00000000000000..c69e09db289756 --- /dev/null +++ b/plugins/source/gcp/resources/services/livestream/inputs_fetch.go @@ -0,0 +1,36 @@ +package livestream + +import ( + "context" + + livestream "cloud.google.com/go/video/livestream/apiv1" + pb "cloud.google.com/go/video/livestream/apiv1/livestreampb" + "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugins/source/gcp/client" + "google.golang.org/api/iterator" +) + +func fetchInputs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { + c := meta.(*client.Client) + + gcpClient, err := livestream.NewClient(ctx, c.ClientOptions...) + if err != nil { + return err + } + + it := gcpClient.ListInputs(ctx, &pb.ListInputsRequest{ + Parent: "projects/" + c.ProjectId + "/locations/-", + }, c.CallOptions...) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + return err + } + + res <- resp + } + return nil +} diff --git a/website/pages/docs/plugins/sources/gcp/tables.md b/website/pages/docs/plugins/sources/gcp/tables.md index 506d72dc5da3c5..fff49d50925417 100644 --- a/website/pages/docs/plugins/sources/gcp/tables.md +++ b/website/pages/docs/plugins/sources/gcp/tables.md @@ -128,6 +128,8 @@ - [gcp_kms_crypto_keys](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_kms_crypto_keys.md) - [gcp_kms_crypto_key_versions](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_kms_crypto_key_versions.md) - [gcp_kms_import_jobs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_kms_import_jobs.md) +- [gcp_livestream_channels](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_livestream_channels.md) +- [gcp_livestream_inputs](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_livestream_inputs.md) - [gcp_logging_metrics](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_logging_metrics.md) - [gcp_logging_sinks](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_logging_sinks.md) - [gcp_monitoring_alert_policies](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/gcp/docs/tables/gcp_monitoring_alert_policies.md) From d4fd41db64ad5ee21c74d74ac173cf9a79b832b6 Mon Sep 17 00:00:00 2001 From: shimonp21 <37939765+shimonp21@users.noreply.github.com> Date: Sun, 15 Jan 2023 17:18:02 +0200 Subject: [PATCH 137/186] feat(gcp-resources): Add video-transcoder (#6806) #### Summary 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/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 1b9713234f9256..9a267b8c2a7286 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -80,7 +80,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sagemaker v1.62.0 github.com/aws/aws-sdk-go-v2/service/savingsplans v1.12.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.0 - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.0 + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.1 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.16.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.16.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.14.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 5cfc03200d421f..615485ec2369be 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -216,8 +216,8 @@ github.com/aws/aws-sdk-go-v2/service/savingsplans v1.12.0 h1:ifQgNvk9Y0Szf7/ZAH3 github.com/aws/aws-sdk-go-v2/service/savingsplans v1.12.0/go.mod h1:Iqbc/iM2QDTTre+xRMonmYeZNP2YYnp8dzTkKEKDJAU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.0 h1:4AYYktQrNoGvQS7hm6SYTUYIbFC/T23I54Dx8KIM5AY= github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.0/go.mod h1:ZnD5i/e5nCIh1w3ivCfifQ5r4PLh3aOCElnOrZz+WnQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.0 h1:UQDiRZyaHQGPXIuCYqKsz/wIVZknCiZdRmPW8buD/xc= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.0/go.mod h1:jAeo/PdIJZuDSwsvxJS94G4d6h8tStj7WXVuKwLHWU8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.1 h1:g7sJnSibd3KdECc7nT6BHvisdqX8eS3H0m4Rzq6yn/0= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.18.1/go.mod h1:jAeo/PdIJZuDSwsvxJS94G4d6h8tStj7WXVuKwLHWU8= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.16.0 h1:Yo5zv0KriAoPCo4yWCrcJ7IURim9PYNrAVZ3tP+IUfw= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.16.0/go.mod h1:r0xKT6nzw2oTEZ37LdnSCRA85zZwRFt0Cmc40+b9Rmk= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.16.0 h1:FObz7TAV6hXLH9RPUgctQjBeXsQ9dlRlo+ob3s4Pbik= From c623e0a7272963b44878a7cc60b8fe8721e2bdfb Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 02:53:46 +0200 Subject: [PATCH 147/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs to v1.19.0 (#6813) 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/service/cloudwatchlogs](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.18.0` -> `v1.19.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.19.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/cloudwatchlogs/v1.18.0...service/cloudwatchlogs/v1.19.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/cloudwatchlogs/v1.18.0...service/cloudwatchlogs/v1.19.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 9a267b8c2a7286..8877493908b09a 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -23,7 +23,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.14.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.22.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.24.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.18.0 + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.19.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.20.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.14.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.15.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 615485ec2369be..2a3dd6eb5a952a 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -90,8 +90,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.22.0 h1:Hdql8h9SancrQPqJoDcaJ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.22.0/go.mod h1:1Li52ZBEvcubmtUtUFUjamRTQt4EoFzZpHDINdQ4Xso= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.24.0 h1:U7hDPPdDP7bptV6wJ5OJkshEw8P/K2k5WCjEYlVajLw= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.24.0/go.mod h1:th8fks2kW4FFCUKUQenuEG9TEzMLVxeL0ckdJn/QVbI= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.18.0 h1:Ai+CjJw+5/s3r6k5pggzDuFhWor2U3iwtsrmvN0Hczc= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.18.0/go.mod h1:xHK1ta0bQEa5jL6rahKRJvsibjzDO7NTIs5itzsF4w8= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.19.0 h1:p+OcsLTwgm2nYEohXLtvgcH85uw7hZM4RS5Q3wear6E= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.19.0/go.mod h1:xHK1ta0bQEa5jL6rahKRJvsibjzDO7NTIs5itzsF4w8= github.com/aws/aws-sdk-go-v2/service/codebuild v1.20.0 h1:7v1hy+4DUc2mLhV4WMzv+YuShj0zbqLW+WMCHqzDPyk= github.com/aws/aws-sdk-go-v2/service/codebuild v1.20.0/go.mod h1:8qcyoqQjYm4jOQApmG43LtHG9ZehKXyCzAq2n+B/v2s= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.14.0 h1:vuUng/+gXtRZ0LhMpgPy1D/yOcIo58hCQuukZhLFIEI= From 902bee073c1affc5588f39a4380d5a2fbb9f0440 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 03:11:28 +0200 Subject: [PATCH 148/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.78.0 (#6814) 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/service/ec2](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.77.0` -> `v1.78.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.78.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.77.0...service/ec2/v1.78.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.77.0...service/ec2/v1.78.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 8877493908b09a..fa2d3fd8cd4e8a 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -34,7 +34,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/directconnect v1.18.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.20.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.77.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.14.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.23.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 2a3dd6eb5a952a..80f8f9935c427c 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -112,8 +112,8 @@ github.com/aws/aws-sdk-go-v2/service/docdb v1.20.0 h1:ig+1+lWeM02O6G7fweMxncbnPI github.com/aws/aws-sdk-go-v2/service/docdb v1.20.0/go.mod h1:L5e0d7YdvUtAiG6AAQqFi5mM1kHkLz32qkoYvZLm1qU= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.0 h1:ytPUxPttkqtX8ducnFlimxa75RTwWfox+y8FwhIzMQE= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.0/go.mod h1:uP2wpt43//qh6NqMFslaRu53A2YbnFStkV4Wn1Ldels= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.77.0 h1:m6HYlpZlTWb9vHuuRHpWRieqPHWlS0mvQ90OJNrG/Nk= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.77.0/go.mod h1:mV0E7631M1eXdB+tlGFIw6JxfsC7Pz7+7Aw15oLVhZw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0 h1:pQAJaGmq6CYduJkI078q/G1GYtJBXHlzmAeCWt8ain8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0/go.mod h1:mV0E7631M1eXdB+tlGFIw6JxfsC7Pz7+7Aw15oLVhZw= github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0 h1:5RVanD+P+L2W9WU07/8J/A52vnQi7F3ClBdWQttgYlg= github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0/go.mod h1:9yGOFsa2OcdyePojE89xNGtdBusTyc8ocjpiuFtFc0g= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.14.0 h1:NOTXBdCwPPCa2AnTpATUx86EQPKY3RElaCwYYwy210I= From df7289443715b19b4ff2efb7e203009e0fddbcc9 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 03:31:57 +0200 Subject: [PATCH 149/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/ecrpublic to v1.15.0 (#6815) 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/service/ecrpublic](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.14.0` -> `v1.15.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.15.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.14.0...v1.15.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.14.0...v1.15.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index fa2d3fd8cd4e8a..bc19b9b72886e6 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -36,7 +36,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0 - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.14.0 + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.15.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.23.0 github.com/aws/aws-sdk-go-v2/service/efs v1.19.0 github.com/aws/aws-sdk-go-v2/service/eks v1.27.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 80f8f9935c427c..0e34b83eca9857 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -116,8 +116,8 @@ github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0 h1:pQAJaGmq6CYduJkI078q/G1GYtJB github.com/aws/aws-sdk-go-v2/service/ec2 v1.78.0/go.mod h1:mV0E7631M1eXdB+tlGFIw6JxfsC7Pz7+7Aw15oLVhZw= github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0 h1:5RVanD+P+L2W9WU07/8J/A52vnQi7F3ClBdWQttgYlg= github.com/aws/aws-sdk-go-v2/service/ecr v1.18.0/go.mod h1:9yGOFsa2OcdyePojE89xNGtdBusTyc8ocjpiuFtFc0g= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.14.0 h1:NOTXBdCwPPCa2AnTpATUx86EQPKY3RElaCwYYwy210I= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.14.0/go.mod h1:bBy8YiBBFd549EeySGjb0vHWg80XeMSigv/dr/2HFjE= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.15.0 h1:nZ/878IgQMYFd0RIYEoUYnr9kwyDu2GcExWmyVIb7Xo= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.15.0/go.mod h1:bBy8YiBBFd549EeySGjb0vHWg80XeMSigv/dr/2HFjE= github.com/aws/aws-sdk-go-v2/service/ecs v1.23.0 h1:U1C52Ja15znyDMd+J5t9URqHyGBTN0hPZt1UHlDFa7U= github.com/aws/aws-sdk-go-v2/service/ecs v1.23.0/go.mod h1:YXZ3cd8LDvvQytFpWjqbgdmHRAyJi4qbIT5dYdyhfeM= github.com/aws/aws-sdk-go-v2/service/efs v1.19.0 h1:3kuyykZ/ttISUeCeCRa7QBLIknnerNNDYLrAzYAYVjM= From 56fe84f72e30dbe51ded739577c161321a633bb0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 03:48:26 +0200 Subject: [PATCH 150/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/lambda to v1.28.0 (#6816) 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/service/lambda](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.27.0` -> `v1.28.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.28.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/lambda/v1.27.0...service/lambda/v1.28.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/lambda/v1.27.0...service/lambda/v1.28.0)
--- ### 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). --- .../docs/tables/aws_lambda_function_event_source_mappings.md | 1 + plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/docs/tables/aws_lambda_function_event_source_mappings.md b/plugins/source/aws/docs/tables/aws_lambda_function_event_source_mappings.md index 42f9427a702232..f3e627322c4a9a 100644 --- a/plugins/source/aws/docs/tables/aws_lambda_function_event_source_mappings.md +++ b/plugins/source/aws/docs/tables/aws_lambda_function_event_source_mappings.md @@ -33,6 +33,7 @@ This table depends on [aws_lambda_functions](aws_lambda_functions.md). |maximum_retry_attempts|Int| |parallelization_factor|Int| |queues|StringArray| +|scaling_config|JSON| |self_managed_event_source|JSON| |self_managed_kafka_event_source_config|JSON| |source_access_configurations|JSON| diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index bc19b9b72886e6..58fe07072c8bbf 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -61,7 +61,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kafka v1.19.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.17.0 github.com/aws/aws-sdk-go-v2/service/kms v1.20.0 - github.com/aws/aws-sdk-go-v2/service/lambda v1.27.0 + github.com/aws/aws-sdk-go-v2/service/lambda v1.28.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.25.0 github.com/aws/aws-sdk-go-v2/service/mq v1.14.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.14.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 0e34b83eca9857..7caf280a1bf85d 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -178,8 +178,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesis v1.17.0 h1:Q57meHerZDM7jLK35iQ9mZSw github.com/aws/aws-sdk-go-v2/service/kinesis v1.17.0/go.mod h1:Nsbb771f+MGZwUJRlFoxvcSJMb1lLQW3b17L01t1YZI= github.com/aws/aws-sdk-go-v2/service/kms v1.20.0 h1:1mEQ1BVRfxU2KzcUUIzqDQ8p6yPkhzHrHT++sjtLJts= github.com/aws/aws-sdk-go-v2/service/kms v1.20.0/go.mod h1:13sjgMH7Xu4e46+0BEDhSnNh+cImHSYS5PpBjV3oXcU= -github.com/aws/aws-sdk-go-v2/service/lambda v1.27.0 h1:3PrEtnvtaZcIFpjOkm155oNe6TofwkJxHDJiu+UkEYI= -github.com/aws/aws-sdk-go-v2/service/lambda v1.27.0/go.mod h1:swAeO/+tSUbMwB9EF2miaCxPDSQwzRjfnRsYaNwbeRk= +github.com/aws/aws-sdk-go-v2/service/lambda v1.28.0 h1:XKXmX8HjbyWKi8mU1LXKmPYDAVPEwWJ9pm5k4L7K9qU= +github.com/aws/aws-sdk-go-v2/service/lambda v1.28.0/go.mod h1:swAeO/+tSUbMwB9EF2miaCxPDSQwzRjfnRsYaNwbeRk= github.com/aws/aws-sdk-go-v2/service/lightsail v1.25.0 h1:7sc6Mmr/Jx6OVC79PTwro3Y46e42ZzJmMdMU1BA983o= github.com/aws/aws-sdk-go-v2/service/lightsail v1.25.0/go.mod h1:6/SjaL8UNIHaMpaHIvuYk0jsMP////YmB/I5yHWginA= github.com/aws/aws-sdk-go-v2/service/mq v1.14.0 h1:04SEqGxjXmRJ2C437T4o3GT8VOm7sYFgWfGQwjiMUaY= From 6227befc5b237c6a16dacb5f9461616dee3f8676 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 04:08:59 +0200 Subject: [PATCH 151/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/rds to v1.40.0 (#6817) 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/service/rds](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.39.0` -> `v1.40.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.40.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/rds/v1.39.0...service/rds/v1.40.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/rds/v1.39.0...service/rds/v1.40.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 58fe07072c8bbf..1c08746a28595e 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -70,7 +70,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/qldb v1.15.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.29.0 github.com/aws/aws-sdk-go-v2/service/ram v1.17.0 - github.com/aws/aws-sdk-go-v2/service/rds v1.39.0 + github.com/aws/aws-sdk-go-v2/service/rds v1.40.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.13.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.26.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 7caf280a1bf85d..d28dfc1936c0cf 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -196,8 +196,8 @@ github.com/aws/aws-sdk-go-v2/service/quicksight v1.29.0 h1:iL7otrHmucGPfW2NzV4R4 github.com/aws/aws-sdk-go-v2/service/quicksight v1.29.0/go.mod h1:wvJpr20R/imRPZsRJMkxCYV5zquGzJbASqARtCbiKKE= github.com/aws/aws-sdk-go-v2/service/ram v1.17.0 h1:kiOOQz6ZhYrcHaYcgsIPlIfvYT44FNErJpeBtXQzHEs= github.com/aws/aws-sdk-go-v2/service/ram v1.17.0/go.mod h1:hKHJTTpBpOG9+TPPnRjsvXsPytZFmXX0FRDEMiBOcek= -github.com/aws/aws-sdk-go-v2/service/rds v1.39.0 h1:SnusHwHQWMZxlS5gvRfzsg1Odq7gWl3STP4aUIqzRGE= -github.com/aws/aws-sdk-go-v2/service/rds v1.39.0/go.mod h1:Ume9NHqT871hUdxIRojWtWsPFyCswQmSjHHhyGot7v0= +github.com/aws/aws-sdk-go-v2/service/rds v1.40.0 h1:heJr38jKwCDwSKTVcy5LQ8sWecMoEHTTugJ0PAKERBA= +github.com/aws/aws-sdk-go-v2/service/rds v1.40.0/go.mod h1:Ume9NHqT871hUdxIRojWtWsPFyCswQmSjHHhyGot7v0= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0 h1:kJDkVPtkB+gLwahLNtWs0vnjneny2Apqjrz1zdBYqb4= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0/go.mod h1:cpzzZf+cK9kF7PAbJOU491GGQO/8+oD4jtbawDUG+pc= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.13.0 h1:YJCC58cjhiXvvKSOPTP1+K6fFKbZWo8eUpdQeCPZMHs= From c343395247cd65705f4d5fda129c75a3942f6841 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 04:25:54 +0200 Subject: [PATCH 152/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/resourcegroups to v1.14.0 (#6818) 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/service/resourcegroups](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.13.0` -> `v1.14.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.14.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.13.0...v1.14.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.13.0...v1.14.0)
--- ### 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). --- .../source/aws/client/mocks/resourcegroups.go | 20 +++++++++++++++++++ .../aws/client/services/resourcegroups.go | 1 + plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/client/mocks/resourcegroups.go b/plugins/source/aws/client/mocks/resourcegroups.go index 86cb54807e3bc7..ce593b7a9b1e34 100644 --- a/plugins/source/aws/client/mocks/resourcegroups.go +++ b/plugins/source/aws/client/mocks/resourcegroups.go @@ -35,6 +35,26 @@ func (m *MockResourcegroupsClient) EXPECT() *MockResourcegroupsClientMockRecorde return m.recorder } +// GetAccountSettings mocks base method. +func (m *MockResourcegroupsClient) GetAccountSettings(arg0 context.Context, arg1 *resourcegroups.GetAccountSettingsInput, arg2 ...func(*resourcegroups.Options)) (*resourcegroups.GetAccountSettingsOutput, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetAccountSettings", varargs...) + ret0, _ := ret[0].(*resourcegroups.GetAccountSettingsOutput) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAccountSettings indicates an expected call of GetAccountSettings. +func (mr *MockResourcegroupsClientMockRecorder) GetAccountSettings(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccountSettings", reflect.TypeOf((*MockResourcegroupsClient)(nil).GetAccountSettings), varargs...) +} + // GetGroup mocks base method. func (m *MockResourcegroupsClient) GetGroup(arg0 context.Context, arg1 *resourcegroups.GetGroupInput, arg2 ...func(*resourcegroups.Options)) (*resourcegroups.GetGroupOutput, error) { m.ctrl.T.Helper() diff --git a/plugins/source/aws/client/services/resourcegroups.go b/plugins/source/aws/client/services/resourcegroups.go index 87e8ce6042b44e..7722c6e7f10628 100644 --- a/plugins/source/aws/client/services/resourcegroups.go +++ b/plugins/source/aws/client/services/resourcegroups.go @@ -8,6 +8,7 @@ import ( //go:generate mockgen -package=mocks -destination=../mocks/resourcegroups.go -source=resourcegroups.go ResourcegroupsClient type ResourcegroupsClient interface { + GetAccountSettings(context.Context, *resourcegroups.GetAccountSettingsInput, ...func(*resourcegroups.Options)) (*resourcegroups.GetAccountSettingsOutput, error) GetGroup(context.Context, *resourcegroups.GetGroupInput, ...func(*resourcegroups.Options)) (*resourcegroups.GetGroupOutput, error) GetGroupConfiguration(context.Context, *resourcegroups.GetGroupConfigurationInput, ...func(*resourcegroups.Options)) (*resourcegroups.GetGroupConfigurationOutput, error) GetGroupQuery(context.Context, *resourcegroups.GetGroupQueryInput, ...func(*resourcegroups.Options)) (*resourcegroups.GetGroupQueryOutput, error) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 1c08746a28595e..c7bffd979c61b6 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -72,7 +72,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ram v1.17.0 github.com/aws/aws-sdk-go-v2/service/rds v1.40.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.13.0 + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.14.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.26.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.14.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index d28dfc1936c0cf..6529cb619aefe5 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -200,8 +200,8 @@ github.com/aws/aws-sdk-go-v2/service/rds v1.40.0 h1:heJr38jKwCDwSKTVcy5LQ8sWecMo github.com/aws/aws-sdk-go-v2/service/rds v1.40.0/go.mod h1:Ume9NHqT871hUdxIRojWtWsPFyCswQmSjHHhyGot7v0= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0 h1:kJDkVPtkB+gLwahLNtWs0vnjneny2Apqjrz1zdBYqb4= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.0/go.mod h1:cpzzZf+cK9kF7PAbJOU491GGQO/8+oD4jtbawDUG+pc= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.13.0 h1:YJCC58cjhiXvvKSOPTP1+K6fFKbZWo8eUpdQeCPZMHs= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.13.0/go.mod h1:ZkZtG/eXl3leAzkIHhWJOkKaAObxOHtYe3lxUxW1WW0= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.14.0 h1:qDFV1IZIBzzuwv+W/7X7EWhxbysp2A3M9YD1PuUgCa0= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.14.0/go.mod h1:ZkZtG/eXl3leAzkIHhWJOkKaAObxOHtYe3lxUxW1WW0= github.com/aws/aws-sdk-go-v2/service/route53 v1.26.0 h1:Lt96i6l9YONN7X0KW5AgJJ84l3gAzBZcPqCbeEGhd3Y= github.com/aws/aws-sdk-go-v2/service/route53 v1.26.0/go.mod h1:4SAHuLdh4v7pA2F6HdhUUgiLUDA6J89KWr7xAYCDiyc= github.com/aws/aws-sdk-go-v2/service/route53domains v1.14.0 h1:I/rT8QFy58zw4A/tkTPsTjkIe3LaKI6UsvDn/YdJgE0= From 0f18621d869af0663d26455a058f2ed71b394b62 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 04:42:33 +0200 Subject: [PATCH 153/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/shield to v1.18.0 (#6819) 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/service/shield](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.17.13` -> `v1.18.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.18.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/shield/v1.17.13...service/shield/v1.18.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/shield/v1.17.13...service/shield/v1.18.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index c7bffd979c61b6..cb09066a761ab6 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -139,7 +139,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.21 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.21 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.21 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.17.13 + github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 // indirect github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.12.22 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 6529cb619aefe5..e447908b51f186 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -230,8 +230,8 @@ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.16.0 h1:ZVu7clQZjixs6IYUcpgkUoigjQ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.16.0/go.mod h1:Q+I4FY+sxSWRVgbNXULzRnK+REDSF8oXzY5Eya/Y33c= github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0 h1:D/NRBYtylwdGLucbrKFMl3EpF8lVmC5TTlYPnYQQnio= github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0/go.mod h1:8M33kWcIYN1f2bfWrvKxzxveUN7UJv3dD3rmLoDaWrE= -github.com/aws/aws-sdk-go-v2/service/shield v1.17.13 h1:Omc6xBl4m4wMZoZWlt2f2Yjk6it7VEJMsvjC4oLCMGE= -github.com/aws/aws-sdk-go-v2/service/shield v1.17.13/go.mod h1:0mYbbS2XwsqOGyD5ReNH4FV884zHQB1WcixrT0ckhRI= +github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 h1:dI9aouKTKx7R6HcHrEYSkOpTfCtGt+8wE3QPCohhm2Y= +github.com/aws/aws-sdk-go-v2/service/shield v1.18.0/go.mod h1:0mYbbS2XwsqOGyD5ReNH4FV884zHQB1WcixrT0ckhRI= github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 h1:Iwbdihm8vAnNJhnggU1D98JD79ZIIaOFFB8DBiA8Z48= github.com/aws/aws-sdk-go-v2/service/sns v1.18.8/go.mod h1:iTh9DgwDnFqF5LfFHNXWAxLe9zV0/XcWaMCWXIRDqXA= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.17 h1:bTr3F70BsgeJZW5QU0O4pVapJbgXuuiaaX9vQQfJAp8= From 02974bc91797b54b28b0cd29ed12894feb6b0161 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 04:59:55 +0200 Subject: [PATCH 154/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/sqs to v1.20.0 (#6821) 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/service/sqs](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.19.17` -> `v1.20.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.20.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/sqs/v1.19.17...service/sqs/v1.20.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/sqs/v1.19.17...service/sqs/v1.20.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index cb09066a761ab6..502e9e22ec6c64 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -88,7 +88,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sesv2 v1.16.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0 github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 - github.com/aws/aws-sdk-go-v2/service/sqs v1.19.17 + github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.15.16 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index e447908b51f186..2b93f1ad52c1a2 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -234,8 +234,8 @@ github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 h1:dI9aouKTKx7R6HcHrEYSkOpTf github.com/aws/aws-sdk-go-v2/service/shield v1.18.0/go.mod h1:0mYbbS2XwsqOGyD5ReNH4FV884zHQB1WcixrT0ckhRI= github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 h1:Iwbdihm8vAnNJhnggU1D98JD79ZIIaOFFB8DBiA8Z48= github.com/aws/aws-sdk-go-v2/service/sns v1.18.8/go.mod h1:iTh9DgwDnFqF5LfFHNXWAxLe9zV0/XcWaMCWXIRDqXA= -github.com/aws/aws-sdk-go-v2/service/sqs v1.19.17 h1:bTr3F70BsgeJZW5QU0O4pVapJbgXuuiaaX9vQQfJAp8= -github.com/aws/aws-sdk-go-v2/service/sqs v1.19.17/go.mod h1:jQhN5f4p3PALMNlUtfb/0wGIFlV7vGtJlPDVfxfNfPY= +github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 h1:tQoMg8i4nFAB70cJ4wiAYEiZRYo2P6uDmU2D6ys/igo= +github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0/go.mod h1:jQhN5f4p3PALMNlUtfb/0wGIFlV7vGtJlPDVfxfNfPY= github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 h1:uAUjT+Np+B5sWwpcGd3V9xpBwEid8qYYfgmg0CsWTNM= github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0/go.mod h1:Hf7wSogKP1XCJ9GgW8erZDL6IZ1NLwLN7bYdV/Gn/LI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 h1:/2gzjhQowRLarkkBOGPXSRnb8sQ2RVsjdG1C/UliK/c= From 75412e5a8ab598731dadd527a1782630e3403fd6 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 05:17:43 +0200 Subject: [PATCH 155/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/ssoadmin to v1.16.0 (#6823) 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/service/ssoadmin](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.15.16` -> `v1.16.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.16.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ssoadmin/v1.15.16...v1.16.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ssoadmin/v1.15.16...v1.16.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 502e9e22ec6c64..b4384f1032e681 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -90,7 +90,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.15.16 + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.14.8 github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 2b93f1ad52c1a2..0bda8b17a6e0e1 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -240,8 +240,8 @@ github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 h1:uAUjT+Np+B5sWwpcGd3V9xpBwEid github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0/go.mod h1:Hf7wSogKP1XCJ9GgW8erZDL6IZ1NLwLN7bYdV/Gn/LI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 h1:/2gzjhQowRLarkkBOGPXSRnb8sQ2RVsjdG1C/UliK/c= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0/go.mod h1:wo/B7uUm/7zw/dWhBJ4FXuw1sySU5lyIhVg1Bu2yL9A= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.15.16 h1:l6aWoI8UnGII7yPEHdvAF84O0upQxPum6TFycIYtKkE= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.15.16/go.mod h1:xH7hHxhm765Db3QuS51w9DNgN3iMpcth0o1mMmYh6eY= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 h1:YFYW7hI6XCmmPb9eqhIZk0L53mLWQw4yYf/RC9m5Juo= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0/go.mod h1:xH7hHxhm765Db3QuS51w9DNgN3iMpcth0o1mMmYh6eY= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.0 h1:Jfly6mRxk2ZOSlbCvZfKNS7TukSx1mIzhSsqZ/IGSZI= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.0/go.mod h1:TZSH7xLO7+phDtViY/KUp9WGCJMQkLJ/VpgkTFd5gh8= github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 h1:kOO++CYo50RcTFISESluhWEi5Prhg+gaSs4whWabiZU= From 8912b579dbf08c66b4395b7a133ba973d4899bb7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 05:34:44 +0200 Subject: [PATCH 156/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/timestreamwrite to v1.15.0 (#6824) 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/service/timestreamwrite](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.14.8` -> `v1.15.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.15.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/timestreamwrite/v1.14.8...v1.15.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/timestreamwrite/v1.14.8...v1.15.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index b4384f1032e681..020ffd1e264bcf 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -92,7 +92,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.14.8 + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 0bda8b17a6e0e1..5660df8913bf4d 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -246,8 +246,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.0 h1:Jfly6mRxk2ZOSlbCvZfKNS7T github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.0/go.mod h1:TZSH7xLO7+phDtViY/KUp9WGCJMQkLJ/VpgkTFd5gh8= github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 h1:kOO++CYo50RcTFISESluhWEi5Prhg+gaSs4whWabiZU= github.com/aws/aws-sdk-go-v2/service/sts v1.18.0/go.mod h1:+lGbb3+1ugwKrNTWcf2RT05Xmp543B06zDFTwiTLp7I= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.14.8 h1:1FPvcg1m3K7bip7WLscELLF4RKZR0Ys1iUbomhtDYJY= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.14.8/go.mod h1:CrQFb3Pn8vnj3GDpjKlv9ANunOJx75Km6JkP6pxc2b8= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 h1:2s9bsjDcaThDWfu/SmGIj9oLCtL3JrA0rt7dgTWCffs= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0/go.mod h1:CrQFb3Pn8vnj3GDpjKlv9ANunOJx75Km6JkP6pxc2b8= github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 h1:E8EpFslyukXM9gQAmmiJC8lvlGWbzPmzZv69FLv9UBg= github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0/go.mod h1:/Sg7CaZ5ua+MkOUGhg0yeVIgnpKc+/ehJcoik7Yikl8= github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 h1:4g4cMwemkVh0kjgMbg4DLqYBprwzmVh7qI7bmljCcz0= From d3a03fc1902d2f942d34f22c8febd4b8ee53ba6b Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 05:52:13 +0200 Subject: [PATCH 157/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/wafregional to v1.13.1 (#6827) 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/service/wafregional](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.12.22` -> `v1.13.1` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.13.1`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.13.0...service/wafregional/v1.13.1) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.13.0...service/wafregional/v1.13.1) ### [`v1.13.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafregional/v1.12.22...v1.13.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafregional/v1.12.22...v1.13.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 020ffd1e264bcf..7ba53dd6d2b3df 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -142,7 +142,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 // indirect github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 - github.com/aws/aws-sdk-go-v2/service/wafregional v1.12.22 + github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 github.com/davecgh/go-spew v1.1.1 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/golang/protobuf v1.5.2 // indirect diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 5660df8913bf4d..7b65ee7625bb8a 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -252,8 +252,8 @@ github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 h1:E8EpFslyukXM9gQAmmiJC8l github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0/go.mod h1:/Sg7CaZ5ua+MkOUGhg0yeVIgnpKc+/ehJcoik7Yikl8= github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 h1:4g4cMwemkVh0kjgMbg4DLqYBprwzmVh7qI7bmljCcz0= github.com/aws/aws-sdk-go-v2/service/waf v1.11.21/go.mod h1:7/L+ejelv5nOhsD/4pbaVl6jAtCgtYwgud8Pb/SeheE= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.12.22 h1:KBjYyYqdS9F4g7NxMZ6yhFkHO/eaZUs03r/pHv9nlQE= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.12.22/go.mod h1:oCfqX0qay7HrOqf6viIlSqBV1CykdyArfznKg2j2utA= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 h1:PAszA6EKbNHvs8V6WFI3CL22dUIBRjfMhjbyRg/lS8M= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1/go.mod h1:oCfqX0qay7HrOqf6viIlSqBV1CykdyArfznKg2j2utA= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 h1:uikbWWM04WHokxui8+bZoyS4srq/2b5VANN22smoy5w= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4/go.mod h1:dXnnPzwqtz7h6DRUYvXpdV59mg9bwnDDWaGxo16++cU= github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 h1:GaH1EkxY3IgRAzfMATr6sHy6ymoXfH+cnBuuEB9YtvM= From 0d88a342167ed5ba8829b4eaace1b19fcf3a921a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 06:25:35 +0200 Subject: [PATCH 158/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/xray to v1.16.0 (#6830) 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/service/xray](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.15.3` -> `v1.16.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.16.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/xray/v1.15.3...v1.16.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/xray/v1.15.3...v1.16.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 7ba53dd6d2b3df..5b4bdac5618eaa 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -96,7 +96,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 - github.com/aws/aws-sdk-go-v2/service/xray v1.15.3 + github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 github.com/cloudquery/codegen v0.2.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 7b65ee7625bb8a..56442805b43ed6 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -258,8 +258,8 @@ github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 h1:uikbWWM04WHokxui8+bZoyS4sr github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4/go.mod h1:dXnnPzwqtz7h6DRUYvXpdV59mg9bwnDDWaGxo16++cU= github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 h1:GaH1EkxY3IgRAzfMATr6sHy6ymoXfH+cnBuuEB9YtvM= github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2/go.mod h1:oudvE1/KOdqMDrq9PG1QjLpvQb8S5R3y2Fci+Vuc6To= -github.com/aws/aws-sdk-go-v2/service/xray v1.15.3 h1:twjIORJccJIKXy2FFtlUDzlzaS91AAKypuuTN4gL2Ew= -github.com/aws/aws-sdk-go-v2/service/xray v1.15.3/go.mod h1:Kkt49F7NMkrNQRa/dK5Twp+UtCRViNXp7Mv7rlfac08= +github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 h1:jLrbk0oHwcL/flkJ2ZIQ1lSp0aKcj2p4IdXh+nG2mmA= +github.com/aws/aws-sdk-go-v2/service/xray v1.16.0/go.mod h1:Kkt49F7NMkrNQRa/dK5Twp+UtCRViNXp7Mv7rlfac08= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= From 95bbafd40859c1b8484dc1a54d9da2f486ebe8b0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 06:42:31 +0200 Subject: [PATCH 159/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/sns to v1.19.0 (#6820) 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/service/sns](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.18.8` -> `v1.19.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.19.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/sns/v1.18.8...service/sns/v1.19.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/sns/v1.18.8...service/sns/v1.19.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 5b4bdac5618eaa..c625fb8d32727b 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -87,7 +87,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ses v1.15.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.16.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0 - github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 + github.com/aws/aws-sdk-go-v2/service/sns v1.19.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 56442805b43ed6..dccb3392e8a741 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -232,8 +232,8 @@ github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0 h1:D/NRBYtylwdGLucbrKFMl3EpF8lV github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0/go.mod h1:8M33kWcIYN1f2bfWrvKxzxveUN7UJv3dD3rmLoDaWrE= github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 h1:dI9aouKTKx7R6HcHrEYSkOpTfCtGt+8wE3QPCohhm2Y= github.com/aws/aws-sdk-go-v2/service/shield v1.18.0/go.mod h1:0mYbbS2XwsqOGyD5ReNH4FV884zHQB1WcixrT0ckhRI= -github.com/aws/aws-sdk-go-v2/service/sns v1.18.8 h1:Iwbdihm8vAnNJhnggU1D98JD79ZIIaOFFB8DBiA8Z48= -github.com/aws/aws-sdk-go-v2/service/sns v1.18.8/go.mod h1:iTh9DgwDnFqF5LfFHNXWAxLe9zV0/XcWaMCWXIRDqXA= +github.com/aws/aws-sdk-go-v2/service/sns v1.19.0 h1:ZU8uo+/XBgJLoYMEN5iPUd+WQXLt53S46ULtRa85+uk= +github.com/aws/aws-sdk-go-v2/service/sns v1.19.0/go.mod h1:iTh9DgwDnFqF5LfFHNXWAxLe9zV0/XcWaMCWXIRDqXA= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 h1:tQoMg8i4nFAB70cJ4wiAYEiZRYo2P6uDmU2D6ys/igo= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0/go.mod h1:jQhN5f4p3PALMNlUtfb/0wGIFlV7vGtJlPDVfxfNfPY= github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 h1:uAUjT+Np+B5sWwpcGd3V9xpBwEid8qYYfgmg0CsWTNM= From 82250e0ad236e1b4b3395b1cf718ca55f8ee5d85 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 06:59:18 +0200 Subject: [PATCH 160/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/ssm to v1.35.0 (#6822) 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/service/ssm](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.34.0` -> `v1.35.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.35.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ssm/v1.34.0...service/ssm/v1.35.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/ssm/v1.34.0...service/ssm/v1.35.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index c625fb8d32727b..1614c0adcc5a31 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -89,7 +89,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sfn v1.17.0 github.com/aws/aws-sdk-go-v2/service/sns v1.19.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 - github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 + github.com/aws/aws-sdk-go-v2/service/ssm v1.35.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index dccb3392e8a741..4bbf272a8a63c2 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -236,8 +236,8 @@ github.com/aws/aws-sdk-go-v2/service/sns v1.19.0 h1:ZU8uo+/XBgJLoYMEN5iPUd+WQXLt github.com/aws/aws-sdk-go-v2/service/sns v1.19.0/go.mod h1:iTh9DgwDnFqF5LfFHNXWAxLe9zV0/XcWaMCWXIRDqXA= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0 h1:tQoMg8i4nFAB70cJ4wiAYEiZRYo2P6uDmU2D6ys/igo= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.0/go.mod h1:jQhN5f4p3PALMNlUtfb/0wGIFlV7vGtJlPDVfxfNfPY= -github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0 h1:uAUjT+Np+B5sWwpcGd3V9xpBwEid8qYYfgmg0CsWTNM= -github.com/aws/aws-sdk-go-v2/service/ssm v1.34.0/go.mod h1:Hf7wSogKP1XCJ9GgW8erZDL6IZ1NLwLN7bYdV/Gn/LI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.35.0 h1:QWCcOeLTrjvf7UdYIadzrhNH3PI6T9jXOV64Ez5YUgg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.35.0/go.mod h1:Hf7wSogKP1XCJ9GgW8erZDL6IZ1NLwLN7bYdV/Gn/LI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 h1:/2gzjhQowRLarkkBOGPXSRnb8sQ2RVsjdG1C/UliK/c= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0/go.mod h1:wo/B7uUm/7zw/dWhBJ4FXuw1sySU5lyIhVg1Bu2yL9A= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 h1:YFYW7hI6XCmmPb9eqhIZk0L53mLWQw4yYf/RC9m5Juo= From 18f6ad7a0e15b5c8592882b7ccb00bd4d087a84d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 07:16:05 +0200 Subject: [PATCH 161/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/transfer to v1.28.0 (#6825) 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/service/transfer](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.27.0` -> `v1.28.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.28.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/transfer/v1.27.0...service/transfer/v1.28.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/transfer/v1.27.0...service/transfer/v1.28.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 1614c0adcc5a31..cac21aaf319bee 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -141,7 +141,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.21 // indirect github.com/aws/aws-sdk-go-v2/service/shield v1.18.0 github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 + github.com/aws/aws-sdk-go-v2/service/transfer v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 github.com/davecgh/go-spew v1.1.1 // indirect github.com/ghodss/yaml v1.0.0 // indirect diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 4bbf272a8a63c2..222984cc2fc992 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -248,8 +248,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 h1:kOO++CYo50RcTFISESluhWEi5Prh github.com/aws/aws-sdk-go-v2/service/sts v1.18.0/go.mod h1:+lGbb3+1ugwKrNTWcf2RT05Xmp543B06zDFTwiTLp7I= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 h1:2s9bsjDcaThDWfu/SmGIj9oLCtL3JrA0rt7dgTWCffs= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0/go.mod h1:CrQFb3Pn8vnj3GDpjKlv9ANunOJx75Km6JkP6pxc2b8= -github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0 h1:E8EpFslyukXM9gQAmmiJC8lvlGWbzPmzZv69FLv9UBg= -github.com/aws/aws-sdk-go-v2/service/transfer v1.27.0/go.mod h1:/Sg7CaZ5ua+MkOUGhg0yeVIgnpKc+/ehJcoik7Yikl8= +github.com/aws/aws-sdk-go-v2/service/transfer v1.28.0 h1:DUzYspmXD5qY0IgJN2vWkKmy+mc85ikusNaNZB0Dt4c= +github.com/aws/aws-sdk-go-v2/service/transfer v1.28.0/go.mod h1:/Sg7CaZ5ua+MkOUGhg0yeVIgnpKc+/ehJcoik7Yikl8= github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 h1:4g4cMwemkVh0kjgMbg4DLqYBprwzmVh7qI7bmljCcz0= github.com/aws/aws-sdk-go-v2/service/waf v1.11.21/go.mod h1:7/L+ejelv5nOhsD/4pbaVl6jAtCgtYwgud8Pb/SeheE= github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 h1:PAszA6EKbNHvs8V6WFI3CL22dUIBRjfMhjbyRg/lS8M= From d24c78e75e100cd5364cc01a3e3f9257870f6a7a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 07:33:54 +0200 Subject: [PATCH 162/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/wafv2 to v1.24.1 (#6828) 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/service/wafv2](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.23.4` -> `v1.24.1` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.24.1`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafv2/v1.24.0...service/wafv2/v1.24.1) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafv2/v1.24.0...service/wafv2/v1.24.1) ### [`v1.24.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafv2/v1.23.4...service/wafv2/v1.24.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/wafv2/v1.23.4...service/wafv2/v1.24.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index cac21aaf319bee..8f821d700610be 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -94,7 +94,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 github.com/aws/smithy-go v1.13.5 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 222984cc2fc992..830144bae25a53 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -254,8 +254,8 @@ github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 h1:4g4cMwemkVh0kjgMbg4DLqYBprw github.com/aws/aws-sdk-go-v2/service/waf v1.11.21/go.mod h1:7/L+ejelv5nOhsD/4pbaVl6jAtCgtYwgud8Pb/SeheE= github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 h1:PAszA6EKbNHvs8V6WFI3CL22dUIBRjfMhjbyRg/lS8M= github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1/go.mod h1:oCfqX0qay7HrOqf6viIlSqBV1CykdyArfznKg2j2utA= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4 h1:uikbWWM04WHokxui8+bZoyS4srq/2b5VANN22smoy5w= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.23.4/go.mod h1:dXnnPzwqtz7h6DRUYvXpdV59mg9bwnDDWaGxo16++cU= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 h1:YzOhdiziSg3yxG9nQxSuCPbLehoSY7lGx/zrPLTP1BM= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1/go.mod h1:dXnnPzwqtz7h6DRUYvXpdV59mg9bwnDDWaGxo16++cU= github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 h1:GaH1EkxY3IgRAzfMATr6sHy6ymoXfH+cnBuuEB9YtvM= github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2/go.mod h1:oudvE1/KOdqMDrq9PG1QjLpvQb8S5R3y2Fci+Vuc6To= github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 h1:jLrbk0oHwcL/flkJ2ZIQ1lSp0aKcj2p4IdXh+nG2mmA= From 0c8c0d3ad12a625b2ebed08a1d90a8855883112a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 08:29:10 +0200 Subject: [PATCH 163/186] fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/waf to v1.12.0 (#6826) 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/service/waf](https://togithub.com/aws/aws-sdk-go-v2) | require | minor | `v1.11.21` -> `v1.12.0` | --- ### Release Notes
aws/aws-sdk-go-v2 ### [`v1.12.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/service/waf/v1.11.21...v1.12.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/service/waf/v1.11.21...v1.12.0)
--- ### 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/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 8f821d700610be..0f1bbf9b23e112 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -93,7 +93,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.16.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 - github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 + github.com/aws/aws-sdk-go-v2/service/waf v1.12.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 830144bae25a53..0c5e7969ff8f49 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -250,8 +250,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 h1:2s9bsjDcaThDWfu/ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0/go.mod h1:CrQFb3Pn8vnj3GDpjKlv9ANunOJx75Km6JkP6pxc2b8= github.com/aws/aws-sdk-go-v2/service/transfer v1.28.0 h1:DUzYspmXD5qY0IgJN2vWkKmy+mc85ikusNaNZB0Dt4c= github.com/aws/aws-sdk-go-v2/service/transfer v1.28.0/go.mod h1:/Sg7CaZ5ua+MkOUGhg0yeVIgnpKc+/ehJcoik7Yikl8= -github.com/aws/aws-sdk-go-v2/service/waf v1.11.21 h1:4g4cMwemkVh0kjgMbg4DLqYBprwzmVh7qI7bmljCcz0= -github.com/aws/aws-sdk-go-v2/service/waf v1.11.21/go.mod h1:7/L+ejelv5nOhsD/4pbaVl6jAtCgtYwgud8Pb/SeheE= +github.com/aws/aws-sdk-go-v2/service/waf v1.12.0 h1:motSjIEk+muJFUq+jbamHME5bTc1kTNm3EgAVTp7rcQ= +github.com/aws/aws-sdk-go-v2/service/waf v1.12.0/go.mod h1:7/L+ejelv5nOhsD/4pbaVl6jAtCgtYwgud8Pb/SeheE= github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 h1:PAszA6EKbNHvs8V6WFI3CL22dUIBRjfMhjbyRg/lS8M= github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1/go.mod h1:oCfqX0qay7HrOqf6viIlSqBV1CykdyArfznKg2j2utA= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 h1:YzOhdiziSg3yxG9nQxSuCPbLehoSY7lGx/zrPLTP1BM= From 823316000a922df54ad4e713979267f0e8e4d9ab Mon Sep 17 00:00:00 2001 From: Adam Tyler Date: Mon, 16 Jan 2023 04:15:08 -0500 Subject: [PATCH 164/186] feat(aws): Add RDS DB Proxies (#6831) #### Summary Add's support for RDS DB Proxies 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/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 0f1bbf9b23e112..ac82cc30e0c277 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -95,7 +95,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.15.0 github.com/aws/aws-sdk-go-v2/service/waf v1.12.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 - github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 + github.com/aws/aws-sdk-go-v2/service/workspaces v1.28.0 github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 0c5e7969ff8f49..d257fca2eb7040 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -256,8 +256,8 @@ github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1 h1:PAszA6EKbNHvs8V6WFI3 github.com/aws/aws-sdk-go-v2/service/wafregional v1.13.1/go.mod h1:oCfqX0qay7HrOqf6viIlSqBV1CykdyArfznKg2j2utA= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1 h1:YzOhdiziSg3yxG9nQxSuCPbLehoSY7lGx/zrPLTP1BM= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.24.1/go.mod h1:dXnnPzwqtz7h6DRUYvXpdV59mg9bwnDDWaGxo16++cU= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2 h1:GaH1EkxY3IgRAzfMATr6sHy6ymoXfH+cnBuuEB9YtvM= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.27.2/go.mod h1:oudvE1/KOdqMDrq9PG1QjLpvQb8S5R3y2Fci+Vuc6To= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.28.0 h1:sjfoG4ahd0yE77sKiBokTlZHd9pk1k+vPGNJo6ct2QQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.28.0/go.mod h1:oudvE1/KOdqMDrq9PG1QjLpvQb8S5R3y2Fci+Vuc6To= github.com/aws/aws-sdk-go-v2/service/xray v1.16.0 h1:jLrbk0oHwcL/flkJ2ZIQ1lSp0aKcj2p4IdXh+nG2mmA= github.com/aws/aws-sdk-go-v2/service/xray v1.16.0/go.mod h1:Kkt49F7NMkrNQRa/dK5Twp+UtCRViNXp7Mv7rlfac08= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= From 2806d104b5ee06ea229c854d476b7d9525fcdf11 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Mon, 16 Jan 2023 11:34:07 +0200 Subject: [PATCH 166/186] feat(table-diff): Add incremental key support (#6811) #### Summary Fixes https://github.com/cloudquery/cloudquery/issues/6753 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/cmd/sync2.go | 2 +- cli/go.mod | 2 +- cli/go.sum | 5 +++-- plugins/destination/azblob/go.mod | 2 +- plugins/destination/azblob/go.sum | 5 +++-- plugins/destination/bigquery/go.mod | 2 +- plugins/destination/bigquery/go.sum | 5 +++-- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 5 +++-- plugins/destination/gcs/go.mod | 2 +- plugins/destination/gcs/go.sum | 5 +++-- plugins/destination/kafka/go.mod | 2 +- plugins/destination/kafka/go.sum | 5 +++-- plugins/destination/mongodb/go.mod | 2 +- plugins/destination/mongodb/go.sum | 5 +++-- plugins/destination/neo4j/go.mod | 2 +- plugins/destination/neo4j/go.sum | 5 +++-- plugins/destination/postgresql/go.mod | 2 +- plugins/destination/postgresql/go.sum | 5 +++-- plugins/destination/s3/go.mod | 2 +- plugins/destination/s3/go.sum | 5 +++-- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 ++-- plugins/destination/sqlite/go.mod | 2 +- plugins/destination/sqlite/go.sum | 5 +++-- plugins/destination/test/go.mod | 2 +- plugins/destination/test/go.sum | 5 +++-- plugins/source/aws/client/client.go | 2 +- plugins/source/aws/client/testing.go | 2 +- plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- plugins/source/azure/client/client.go | 2 +- plugins/source/azure/client/testing.go | 2 +- plugins/source/azure/go.mod | 4 +--- plugins/source/azure/go.sum | 8 ++------ plugins/source/azuredevops/client/client.go | 2 +- plugins/source/azuredevops/go.mod | 2 +- plugins/source/azuredevops/go.sum | 4 ++-- plugins/source/cloudflare/client/client.go | 2 +- plugins/source/cloudflare/client/testing.go | 2 +- plugins/source/cloudflare/go.mod | 2 +- plugins/source/cloudflare/go.sum | 4 ++-- plugins/source/crowdstrike/client/client.go | 2 +- plugins/source/crowdstrike/client/testing.go | 2 +- plugins/source/crowdstrike/go.mod | 2 +- plugins/source/crowdstrike/go.sum | 4 ++-- plugins/source/datadog/client/client.go | 2 +- plugins/source/datadog/client/testing.go | 2 +- plugins/source/datadog/go.mod | 2 +- plugins/source/datadog/go.sum | 4 ++-- plugins/source/digitalocean/client/client.go | 2 +- plugins/source/digitalocean/client/testing.go | 2 +- plugins/source/digitalocean/go.mod | 2 +- plugins/source/digitalocean/go.sum | 4 ++-- plugins/source/fastly/client/client.go | 2 +- plugins/source/fastly/client/testing.go | 2 +- plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- plugins/source/gandi/client/client.go | 2 +- plugins/source/gandi/client/testing.go | 2 +- plugins/source/gandi/go.mod | 2 +- plugins/source/gandi/go.sum | 4 ++-- plugins/source/gcp/client/client.go | 2 +- plugins/source/gcp/client/testing.go | 4 ++-- plugins/source/gcp/go.mod | 2 +- plugins/source/gcp/go.sum | 4 ++-- plugins/source/github/client/client.go | 2 +- plugins/source/github/client/testing.go | 2 +- plugins/source/github/go.mod | 2 +- plugins/source/github/go.sum | 4 ++-- plugins/source/gitlab/client/client.go | 2 +- plugins/source/gitlab/client/testing.go | 2 +- plugins/source/gitlab/go.mod | 2 +- plugins/source/gitlab/go.sum | 4 ++-- plugins/source/hackernews/client/client.go | 9 ++------- plugins/source/hackernews/client/testing.go | 2 +- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 ++-- plugins/source/heroku/client/client.go | 2 +- plugins/source/heroku/client/testing.go | 2 +- plugins/source/heroku/go.mod | 2 +- plugins/source/heroku/go.sum | 4 ++-- plugins/source/k8s/client/client.go | 2 +- plugins/source/k8s/client/testing.go | 2 +- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 4 ++-- plugins/source/okta/client/client.go | 2 +- plugins/source/okta/client/testing.go | 2 +- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 4 ++-- plugins/source/oracle/client/client.go | 3 ++- plugins/source/oracle/client/transform.go | 4 ++-- plugins/source/oracle/go.mod | 2 +- plugins/source/oracle/go.sum | 4 ++-- plugins/source/pagerduty/client/client.go | 2 +- plugins/source/pagerduty/client/testing.go | 2 +- plugins/source/pagerduty/go.mod | 2 +- plugins/source/pagerduty/go.sum | 4 ++-- plugins/source/salesforce/client/client.go | 2 +- plugins/source/salesforce/client/testing.go | 2 +- plugins/source/salesforce/go.mod | 2 +- plugins/source/salesforce/go.sum | 5 +++-- plugins/source/shopify/client/client.go | 2 +- plugins/source/shopify/client/testing.go | 2 +- plugins/source/shopify/go.mod | 2 +- plugins/source/shopify/go.sum | 4 ++-- plugins/source/slack/client/client.go | 2 +- plugins/source/slack/client/testing.go | 2 +- plugins/source/slack/go.mod | 2 +- plugins/source/slack/go.sum | 4 ++-- plugins/source/snyk/client/client.go | 2 +- plugins/source/snyk/client/testing.go | 2 +- plugins/source/snyk/go.mod | 2 +- plugins/source/snyk/go.sum | 4 ++-- plugins/source/tailscale/client/client.go | 2 +- plugins/source/tailscale/client/testing.go | 2 +- plugins/source/tailscale/go.mod | 2 +- plugins/source/tailscale/go.sum | 4 ++-- plugins/source/terraform/client/client.go | 2 +- plugins/source/terraform/client/testing.go | 2 +- plugins/source/terraform/go.mod | 2 +- plugins/source/terraform/go.sum | 5 +++-- plugins/source/test/client/client.go | 2 +- plugins/source/test/go.mod | 2 +- plugins/source/test/go.sum | 5 +++-- plugins/source/vercel/client/client.go | 2 +- plugins/source/vercel/client/testing.go | 2 +- plugins/source/vercel/go.mod | 2 +- plugins/source/vercel/go.sum | 4 ++-- 129 files changed, 187 insertions(+), 182 deletions(-) diff --git a/cli/cmd/sync2.go b/cli/cmd/sync2.go index 071a2ccd7cebdc..acd57ddfd4874b 100644 --- a/cli/cmd/sync2.go +++ b/cli/cmd/sync2.go @@ -107,7 +107,7 @@ func syncConnectionV2(ctx context.Context, cqDir string, sourceClient *clients.S g.Go(func() error { var destFailedWrites uint64 var err error - if err = destClients[i].Write2(gctx, selectedTables, sourceSpec.Name, syncTime, destSubscriptions[i]); err != nil { + if err = destClients[i].Write2(gctx, sourceSpec, selectedTables, syncTime, destSubscriptions[i]); err != nil { return fmt.Errorf("failed to write for %s->%s: %w", sourceSpec.Name, destination, err) } // call Close on destination client using the outer context, so that it happens even if writes get cancelled diff --git a/cli/go.mod b/cli/go.mod index 761ffc81f79760..cd1e2547f77763 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/cli go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/getsentry/sentry-go v0.16.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/cli/go.sum b/cli/go.sum index ef5784e6f9d82f..ae3170535c5f5a 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -1,8 +1,8 @@ github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/avast/retry-go/v4 v4.3.1/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= @@ -73,6 +73,7 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/thoas/go-funk v0.9.3 h1:7+nAEx3kn5ZJcnDm2Bh23N2yOtweO14bi//dvRtgLpw= github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index 76838709b6045a..467aa21f401ef6 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -6,7 +6,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index 4b3f812f7b7748..f3c2e03fe65b92 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -52,8 +52,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -222,6 +222,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index a0cdef0dc1216a..3a4566e9d34e98 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/bigquery v1.44.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 golang.org/x/sync v0.1.0 google.golang.org/api v0.103.0 diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index a4359bbecb43e1..cc842193487ff8 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -233,6 +233,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 61eb1c0e95c991..0a469403010e07 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 63fc37ff18b97f..e3c3153c54433d 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -203,6 +203,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index c3acf342d002f2..d06eefbc26d2f7 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 5be95711dd741a..73a32172313dd3 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -233,6 +233,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 283f59fd465d4d..818f7f398c9751 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index cc9b102412c035..6fcb891a3a1b1b 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -45,8 +45,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -249,6 +249,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index e74bfba6255751..251eadd6dcdf75 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mongodb go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 go.mongodb.org/mongo-driver v1.11.1 ) diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index eeab85d6b8615b..8c7bb4a41fc343 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -229,6 +229,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 93d7625836bf6e..6b357d43761b8b 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/neo4j go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/neo4j/neo4j-go-driver/v5 v5.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index ae2f9b7e4d14fd..a44141d129438e 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -203,6 +203,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index c0828ee6577646..92dcc724f62dde 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/postgresql go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/jackc/pgx-zerolog v0.0.0-20220923130014-7856b90a65ae github.com/jackc/pgx/v5 v5.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index 5aab00f08639db..f4b8159915d4eb 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -222,6 +222,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 688d1022f0708f..4a74c944f87553 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index a4fc796f343269..a9c9d54b13963e 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -80,8 +80,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -246,6 +246,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index d1b8f8cc4dcc18..d482c25b96b255 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.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 github.com/snowflakedb/gosnowflake v1.6.16 ) diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index f5600202667b39..bc33edcf4262f6 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -103,8 +103,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index f96a62bb79f06b..6a6b77909eaad6 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/sqlite go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index b0cda5955a5daa..d64751e4a0a65d 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -203,6 +203,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index ee5ddb651d1c38..10fb60864deb2d 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index 035588d3d6841c..6d63b5ac1483b0 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -201,6 +201,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/source/aws/client/client.go b/plugins/source/aws/client/client.go index 081d30c02904a1..1648a50999ac38 100644 --- a/plugins/source/aws/client/client.go +++ b/plugins/source/aws/client/client.go @@ -313,7 +313,7 @@ func configureAwsClient(ctx context.Context, logger zerolog.Logger, awsConfig *S return awsCfg, err } -func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var awsConfig Spec err := spec.UnmarshalSpec(&awsConfig) if err != nil { diff --git a/plugins/source/aws/client/testing.go b/plugins/source/aws/client/testing.go index a69d874032aea0..ffca11b4775a53 100644 --- a/plugins/source/aws/client/testing.go +++ b/plugins/source/aws/client/testing.go @@ -26,7 +26,7 @@ func AwsMockTestHelper(t *testing.T, table *schema.Table, builder func(*testing. zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var awsSpec Spec if err := spec.UnmarshalSpec(&awsSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal aws spec: %w", err) diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index ac82cc30e0c277..40dd527c550946 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -100,7 +100,7 @@ require ( github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 github.com/cloudquery/codegen v0.2.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index d257fca2eb7040..b1eef73699c678 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -274,8 +274,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azure/client/client.go b/plugins/source/azure/client/client.go index eaab369d179f2f..6d43ebcff4f490 100644 --- a/plugins/source/azure/client/client.go +++ b/plugins/source/azure/client/client.go @@ -101,7 +101,7 @@ func (c *Client) disocverResourceGroups(ctx context.Context) error { return nil } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var spec Spec var err error if err := s.UnmarshalSpec(&spec); err != nil { diff --git a/plugins/source/azure/client/testing.go b/plugins/source/azure/client/testing.go index 660e6793477976..cb3350f18971a2 100644 --- a/plugins/source/azure/client/testing.go +++ b/plugins/source/azure/client/testing.go @@ -73,7 +73,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. mockClient := NewMockHttpClient(h.Client(), h.URL) l := zerolog.New(zerolog.NewTestWriter(t)).Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createServices(router) if err != nil { return nil, err diff --git a/plugins/source/azure/go.mod b/plugins/source/azure/go.mod index a93d7fa661998a..617b7c0f9e6aa0 100644 --- a/plugins/source/azure/go.mod +++ b/plugins/source/azure/go.mod @@ -95,11 +95,9 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads v0.2.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gorilla/mux v1.8.0 - github.com/iancoleman/strcase v0.2.0 github.com/rs/zerolog v1.28.0 - golang.org/x/mod v0.6.0 ) require github.com/kylelemons/godebug v1.1.0 // indirect diff --git a/plugins/source/azure/go.sum b/plugins/source/azure/go.sum index a9968071e86998..4687dce393afd2 100644 --- a/plugins/source/azure/go.sum +++ b/plugins/source/azure/go.sum @@ -229,8 +229,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -319,8 +319,6 @@ github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 h1:o95KDiV/b1xdkumY5 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3/go.mod h1:hTxjzRcX49ogbTGVJ1sM5mz5s+SSgiGIyL3jjPxl32E= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -425,8 +423,6 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= diff --git a/plugins/source/azuredevops/client/client.go b/plugins/source/azuredevops/client/client.go index ba251b52a8982d..1fbd855879a0dc 100644 --- a/plugins/source/azuredevops/client/client.go +++ b/plugins/source/azuredevops/client/client.go @@ -25,7 +25,7 @@ func (*Client) ID() string { return "AzureDevOpsClient" } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var spec Spec err := s.UnmarshalSpec(&spec) if err != nil { diff --git a/plugins/source/azuredevops/go.mod b/plugins/source/azuredevops/go.mod index 61a18a0c534a84..a4457a78588b44 100644 --- a/plugins/source/azuredevops/go.mod +++ b/plugins/source/azuredevops/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/azuredevops go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/microsoft/azure-devops-go-api/azuredevops/v6 v6.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azuredevops/go.sum b/plugins/source/azuredevops/go.sum index 9ee9cbfee0ed98..378665ce9b4eca 100644 --- a/plugins/source/azuredevops/go.sum +++ b/plugins/source/azuredevops/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/cloudflare/client/client.go b/plugins/source/cloudflare/client/client.go index defe39ffd7a26d..04977bf7c13cc8 100644 --- a/plugins/source/cloudflare/client/client.go +++ b/plugins/source/cloudflare/client/client.go @@ -72,7 +72,7 @@ func (c *Client) withZoneID(accountId, zoneId string) *Client { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { cfSpec := &Spec{} if err := s.UnmarshalSpec(cfSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal cloudflare spec: %w", err) diff --git a/plugins/source/cloudflare/client/testing.go b/plugins/source/cloudflare/client/testing.go index 078b2a9c0ee46d..4c3370cd714567 100644 --- a/plugins/source/cloudflare/client/testing.go +++ b/plugins/source/cloudflare/client/testing.go @@ -31,7 +31,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var cfSpec Spec if err := spec.UnmarshalSpec(&cfSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal cloudflare spec: %w", err) diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index c37d1f89bd1784..bbe4285c7cca6d 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudflare/cloudflare-go v0.57.1 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/thoas/go-funk v0.9.3 diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index af890a486cd6e7..4144d72b43861f 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.57.1 h1:c9OhL/WusagBirP+CIJeCqS7OjT9kiWjtJv4lwxp3ZM= github.com/cloudflare/cloudflare-go v0.57.1/go.mod h1:cD8AqNMMaL1A0Sj9XKo3Xu9ZVHwHqgXJofb1ya210GQ= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/crowdstrike/client/client.go b/plugins/source/crowdstrike/client/client.go index af7b0cb4f5d26a..29bc864cef5b24 100644 --- a/plugins/source/crowdstrike/client/client.go +++ b/plugins/source/crowdstrike/client/client.go @@ -33,7 +33,7 @@ func (c *Client) ID() string { return c.spec.Name } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { crowdStrikeSpec := &Spec{} if err := s.UnmarshalSpec(&crowdStrikeSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal CrowdStrike spec: %w", err) diff --git a/plugins/source/crowdstrike/client/testing.go b/plugins/source/crowdstrike/client/testing.go index 0533c8613269fb..2b5c8adbbdd4ee 100644 --- a/plugins/source/crowdstrike/client/testing.go +++ b/plugins/source/crowdstrike/client/testing.go @@ -26,7 +26,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var gaSpec Spec if err := spec.UnmarshalSpec(&gaSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal Crowdstrike spec: %w", err) diff --git a/plugins/source/crowdstrike/go.mod b/plugins/source/crowdstrike/go.mod index b3b162b3c96e5f..590303fb55f077 100644 --- a/plugins/source/crowdstrike/go.mod +++ b/plugins/source/crowdstrike/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/crowdstrike go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/crowdstrike/gofalcon v0.2.32 github.com/go-openapi/runtime v0.25.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/crowdstrike/go.sum b/plugins/source/crowdstrike/go.sum index 3a58e040a7d489..d5242f48a2b7bb 100644 --- a/plugins/source/crowdstrike/go.sum +++ b/plugins/source/crowdstrike/go.sum @@ -74,8 +74,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/datadog/client/client.go b/plugins/source/datadog/client/client.go index 8d451478d96dbf..1d763e71907dcd 100644 --- a/plugins/source/datadog/client/client.go +++ b/plugins/source/datadog/client/client.go @@ -70,7 +70,7 @@ func (c *Client) withAccount(account Account) schema.ClientMeta { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { cfSpec := &Spec{} if err := s.UnmarshalSpec(cfSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal datadog spec: %w", err) diff --git a/plugins/source/datadog/client/testing.go b/plugins/source/datadog/client/testing.go index 54192b0fc45d31..c57d8a136aced9 100644 --- a/plugins/source/datadog/client/testing.go +++ b/plugins/source/datadog/client/testing.go @@ -23,7 +23,7 @@ func DatadogMockTestHelper(t *testing.T, table *schema.Table, builder func(*test l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { return &Client{ logger: l, DDServices: builder(t, ctrl), diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index 80d108ffa9db6c..ad4b9e9050c459 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/DataDog/datadog-api-client-go/v2 v2.6.1 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index 1675426ec67fee..237230f7505275 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/digitalocean/client/client.go b/plugins/source/digitalocean/client/client.go index 934828cbe0a6ea..2fedcb654ab1a5 100644 --- a/plugins/source/digitalocean/client/client.go +++ b/plugins/source/digitalocean/client/client.go @@ -131,7 +131,7 @@ func (s *ServicesManager) ServicesByRegion(region string) *Services { return s.services[region] } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { // providerConfig := config.(*Config) var doSpec Spec if err := s.UnmarshalSpec(&doSpec); err != nil { diff --git a/plugins/source/digitalocean/client/testing.go b/plugins/source/digitalocean/client/testing.go index 89ff36cea1a97c..512801f4a79f70 100644 --- a/plugins/source/digitalocean/client/testing.go +++ b/plugins/source/digitalocean/client/testing.go @@ -27,7 +27,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createService func(t *tes zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var doSpec Spec if err := spec.UnmarshalSpec(&doSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal do spec: %w", err) diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index 98dced38c464f7..cfe548d6ffd85a 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/smithy-go v1.13.5 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/digitalocean/godo v1.93.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index f47e9b4c734de9..ced0d110cbc671 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -77,8 +77,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/fastly/client/client.go b/plugins/source/fastly/client/client.go index 3f8b7910bc09a6..8a9dbaf957b86e 100644 --- a/plugins/source/fastly/client/client.go +++ b/plugins/source/fastly/client/client.go @@ -57,7 +57,7 @@ func (c *Client) withServiceAndRegion(service *fastly.Service, region string) sc } } -func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Source, _ source.Options) (schema.ClientMeta, error) { var config Spec err := sourceSpec.UnmarshalSpec(&config) if err != nil { diff --git a/plugins/source/fastly/client/testing.go b/plugins/source/fastly/client/testing.go index e1d827f2bb2845..8d559546feec82 100644 --- a/plugins/source/fastly/client/testing.go +++ b/plugins/source/fastly/client/testing.go @@ -28,7 +28,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var s []*fastly.Service if opts.Service != nil { s = []*fastly.Service{opts.Service} diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index 49877ec828ae42..a3f10ebeaa3077 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/codegen v0.2.1 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index aa0e60075b12d5..f69e4141441dd1 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.1 h1:AWpGNKIFUyzI7vulYADXi/3SoksUaNXgTgIMuSrTHZk= github.com/cloudquery/codegen v0.2.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gandi/client/client.go b/plugins/source/gandi/client/client.go index 2549ba787e9b90..c35ed0675c2361 100644 --- a/plugins/source/gandi/client/client.go +++ b/plugins/source/gandi/client/client.go @@ -47,7 +47,7 @@ func (c *Client) ID() string { return c.sharingID } -func Configure(_ context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(_ context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { gaSpec := &Spec{} if err := s.UnmarshalSpec(gaSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal gandi spec: %w", err) diff --git a/plugins/source/gandi/client/testing.go b/plugins/source/gandi/client/testing.go index aee0754adf40d1..7171ef70712d7e 100644 --- a/plugins/source/gandi/client/testing.go +++ b/plugins/source/gandi/client/testing.go @@ -30,7 +30,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var gaSpec Spec if err := spec.UnmarshalSpec(&gaSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal gandi spec: %w", err) diff --git a/plugins/source/gandi/go.mod b/plugins/source/gandi/go.mod index 4e3a7606dc8dc1..c30744b20b099e 100644 --- a/plugins/source/gandi/go.mod +++ b/plugins/source/gandi/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gandi go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/go-gandi/go-gandi v0.5.1-0.20221118201059-f69b292fa399 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/gandi/go.sum b/plugins/source/gandi/go.sum index 568b86e1daa21d..2aa74a2d153c44 100644 --- a/plugins/source/gandi/go.sum +++ b/plugins/source/gandi/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gcp/client/client.go b/plugins/source/gcp/client/client.go index 59a76821c3ccc2..0d9c5e9a8a1c59 100644 --- a/plugins/source/gcp/client/client.go +++ b/plugins/source/gcp/client/client.go @@ -98,7 +98,7 @@ func (c *Client) Logger() *zerolog.Logger { return &c.logger } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var err error c := Client{ logger: logger, diff --git a/plugins/source/gcp/client/testing.go b/plugins/source/gcp/client/testing.go index 8653979b5b6867..81ff4883ab75a9 100644 --- a/plugins/source/gcp/client/testing.go +++ b/plugins/source/gcp/client/testing.go @@ -36,7 +36,7 @@ func MockTestGrpcHelper(t *testing.T, table *schema.Table, createService func(*g } defer gsrv.Stop() eg := &errgroup.Group{} - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createService(gsrv) if err != nil { return nil, fmt.Errorf("failed to createService: %w", err) @@ -95,7 +95,7 @@ func MockTestRestHelper(t *testing.T, table *schema.Table, createService func(*h mux := httprouter.New() ts := httptest.NewUnstartedServer(mux) defer ts.Close() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createService(mux) if err != nil { return nil, fmt.Errorf("failed to createService: %w", err) diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index 1bd6c9f5c1ed3c..cbaf10f60be8c0 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -42,7 +42,7 @@ require ( cloud.google.com/go/vpcaccess v1.5.0 cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/googleapis/gax-go/v2 v2.7.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index 6d72a939aea7e8..bd2964607306e6 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -146,8 +146,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/github/client/client.go b/plugins/source/github/client/client.go index 7b2ff0dd36e95e..7d787c9b71f59c 100644 --- a/plugins/source/github/client/client.go +++ b/plugins/source/github/client/client.go @@ -42,7 +42,7 @@ func (c Client) WithOrg(org string) schema.ClientMeta { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var spec Spec err := s.UnmarshalSpec(&spec) if err != nil { diff --git a/plugins/source/github/client/testing.go b/plugins/source/github/client/testing.go index 7e4b51704c96b6..37442ca3334083 100644 --- a/plugins/source/github/client/testing.go +++ b/plugins/source/github/client/testing.go @@ -23,7 +23,7 @@ func GithubMockTestHelper(t *testing.T, table *schema.Table, builder func(*testi l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { return &Client{ logger: l, Github: builder(t, ctrl), diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index 3d0778d11ac04f..00a2389550e7f1 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/github go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/google/go-github/v48 v48.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index baaefe3a6a2097..8a9f18630cb30d 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gitlab/client/client.go b/plugins/source/gitlab/client/client.go index 9bcefb52f806fa..f4215ab3b8676c 100644 --- a/plugins/source/gitlab/client/client.go +++ b/plugins/source/gitlab/client/client.go @@ -28,7 +28,7 @@ func (c *Client) ID() string { return c.spec.Name } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { gitlabSpec := &Spec{} if err := s.UnmarshalSpec(gitlabSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal gitlab spec: %w", err) diff --git a/plugins/source/gitlab/client/testing.go b/plugins/source/gitlab/client/testing.go index 194081ba0b5b2f..a557232f036c58 100644 --- a/plugins/source/gitlab/client/testing.go +++ b/plugins/source/gitlab/client/testing.go @@ -30,7 +30,7 @@ func GitlabMockTestHelper(t *testing.T, table *schema.Table, createService func( l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createService(mux) if err != nil { return nil, fmt.Errorf("failed to createService: %w", err) diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index 7dd915d898a3c1..c8f07dae6ae43f 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gitlab go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/xanzy/go-gitlab v0.74.0 diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index b27527a416c899..3acea96451dde4 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/hackernews/client/client.go b/plugins/source/hackernews/client/client.go index 7c6e4330259869..3c0023c079f809 100644 --- a/plugins/source/hackernews/client/client.go +++ b/plugins/source/hackernews/client/client.go @@ -37,7 +37,7 @@ func (*Client) ID() string { return "hackernews" } -func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Source, opts ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Source, opts source.Options) (schema.ClientMeta, error) { var config Spec err := sourceSpec.UnmarshalSpec(&config) if err != nil { @@ -54,11 +54,6 @@ func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Sour return nil, fmt.Errorf("failed to create hackernews client: %w", err) } - o := source.Options{} - for _, opt := range opts { - opt(&o) - } - return &Client{ logger: logger, sourceSpec: sourceSpec, @@ -66,6 +61,6 @@ func Configure(ctx context.Context, logger zerolog.Logger, sourceSpec specs.Sour HackerNews: client, maxRetries: defaultMaxRetries, backoff: defaultBackoff, - Backend: o.Backend, + Backend: opts.Backend, }, nil } diff --git a/plugins/source/hackernews/client/testing.go b/plugins/source/hackernews/client/testing.go index bbb9978fd6281e..296ad86ba16022 100644 --- a/plugins/source/hackernews/client/testing.go +++ b/plugins/source/hackernews/client/testing.go @@ -28,7 +28,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { startTime := "" if !opts.StartTime.IsZero() { startTime = opts.StartTime.Format(time.RFC3339) diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index 6f801b6d50cdb4..781a67198859c3 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/hackernews go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index 743db0bd3e9be8..6161632f339ce9 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/heroku/client/client.go b/plugins/source/heroku/client/client.go index 8c50696938e6d9..d6567625679672 100644 --- a/plugins/source/heroku/client/client.go +++ b/plugins/source/heroku/client/client.go @@ -28,7 +28,7 @@ func (c *Client) ID() string { return c.spec.Name } -func Configure(ctx context.Context, l zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, l zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var herokuSpec Spec if err := s.UnmarshalSpec(&herokuSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal heroku spec: %w", err) diff --git a/plugins/source/heroku/client/testing.go b/plugins/source/heroku/client/testing.go index c0e134adcacdd1..f084524723bf5e 100644 --- a/plugins/source/heroku/client/testing.go +++ b/plugins/source/heroku/client/testing.go @@ -26,7 +26,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createService func() (*he zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { svc, err := createService() if err != nil { return nil, fmt.Errorf("failed to createService %w", err) diff --git a/plugins/source/heroku/go.mod b/plugins/source/heroku/go.mod index 718c9e03f36084..d7ddc6f4cf363e 100644 --- a/plugins/source/heroku/go.mod +++ b/plugins/source/heroku/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/heroku go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/go-cmp v0.5.9 github.com/googleapis/gax-go/v2 v2.7.0 github.com/heroku/heroku-go/v5 v5.5.0 diff --git a/plugins/source/heroku/go.sum b/plugins/source/heroku/go.sum index 91a4cf40b8884b..208807750770e4 100644 --- a/plugins/source/heroku/go.sum +++ b/plugins/source/heroku/go.sum @@ -49,8 +49,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/k8s/client/client.go b/plugins/source/k8s/client/client.go index 8e26fe65878f28..f7d3777a3743ee 100644 --- a/plugins/source/k8s/client/client.go +++ b/plugins/source/k8s/client/client.go @@ -52,7 +52,7 @@ func (c Client) WithContext(k8sContext string) *Client { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var k8sSpec Spec if err := s.UnmarshalSpec(&k8sSpec); err != nil { diff --git a/plugins/source/k8s/client/testing.go b/plugins/source/k8s/client/testing.go index 6b1d59c6e38c60..b4602240180384 100644 --- a/plugins/source/k8s/client/testing.go +++ b/plugins/source/k8s/client/testing.go @@ -26,7 +26,7 @@ func K8sMockTestHelper(t *testing.T, table *schema.Table, builder func(*testing. l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - configureFunc := func(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + configureFunc := func(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var k8sSpec Spec if err := s.UnmarshalSpec(&k8sSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal k8s spec: %w", err) diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index 14a724099f602c..de119a96c59cae 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.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/google/gnostic v0.6.9 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index fd2de479de6f5b..cd6aac5b85892f 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/source/okta/client/client.go b/plugins/source/okta/client/client.go index 4e98cc5d4b819a..53fde9972a5b5c 100644 --- a/plugins/source/okta/client/client.go +++ b/plugins/source/okta/client/client.go @@ -42,7 +42,7 @@ func New(logger zerolog.Logger, s specs.Source, okt *okta.APIClient) *Client { } } -func Configure(_ context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(_ context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { oktaSpec := &Spec{} if err := s.UnmarshalSpec(oktaSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal okta spec: %w", err) diff --git a/plugins/source/okta/client/testing.go b/plugins/source/okta/client/testing.go index 5d6fc9fdde21b7..94d4607b0650fe 100644 --- a/plugins/source/okta/client/testing.go +++ b/plugins/source/okta/client/testing.go @@ -62,7 +62,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var clientSpec Spec if err := spec.UnmarshalSpec(&clientSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal client spec: %w", err) diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index 5c261775021c54..b5b98cbc4f0452 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/okta go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gorilla/mux v1.8.0 github.com/okta/okta-sdk-golang/v3 v3.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 9769ad01e745fe..3d3a3ab9816806 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/oracle/client/client.go b/plugins/source/oracle/client/client.go index 0bce33886769ef..56a09b10af337f 100644 --- a/plugins/source/oracle/client/client.go +++ b/plugins/source/oracle/client/client.go @@ -5,6 +5,7 @@ import ( "fmt" "strings" + "github.com/cloudquery/plugin-sdk/plugins/source" "github.com/cloudquery/plugin-sdk/schema" "github.com/cloudquery/plugin-sdk/specs" "github.com/oracle/oci-go-sdk/v65/common" @@ -36,7 +37,7 @@ type Client struct { logger zerolog.Logger } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { configProvider := common.DefaultConfigProvider() tenancyOcid, err := configProvider.TenancyOCID() diff --git a/plugins/source/oracle/client/transform.go b/plugins/source/oracle/client/transform.go index 142b5a921c34a1..3dadff81443003 100644 --- a/plugins/source/oracle/client/transform.go +++ b/plugins/source/oracle/client/transform.go @@ -3,8 +3,8 @@ package client import ( "reflect" - "github.com/cloudquery/plugin-sdk/codegen" "github.com/cloudquery/plugin-sdk/schema" + "github.com/cloudquery/plugin-sdk/transformers" "github.com/oracle/oci-go-sdk/v65/common" ) @@ -19,5 +19,5 @@ func OracleTypeTransformer(field reflect.StructField) (schema.ValueType, error) return schema.TypeTimestamp, nil } - return codegen.DefaultTypeTransformer(field) + return transformers.DefaultTypeTransformer(field) } diff --git a/plugins/source/oracle/go.mod b/plugins/source/oracle/go.mod index d17e524b76706d..ee3892bb379df2 100644 --- a/plugins/source/oracle/go.mod +++ b/plugins/source/oracle/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/oracle go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.21.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/iancoleman/strcase v0.2.0 github.com/oracle/oci-go-sdk/v65 v65.28.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/oracle/go.sum b/plugins/source/oracle/go.sum index 007504af92ad2b..913d00f64b55df 100644 --- a/plugins/source/oracle/go.sum +++ b/plugins/source/oracle/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.21.0 h1:Oon4fFeUpc/QNkSwLPaoHcv9EVzcXK/6Y3ZaAcg7VOk= -github.com/cloudquery/plugin-sdk v1.21.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/pagerduty/client/client.go b/plugins/source/pagerduty/client/client.go index 341b054491666f..a6bf26aecf4523 100644 --- a/plugins/source/pagerduty/client/client.go +++ b/plugins/source/pagerduty/client/client.go @@ -22,7 +22,7 @@ type Client struct { logger zerolog.Logger } -func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { authToken, err := getAuthToken() if err != nil { return nil, err diff --git a/plugins/source/pagerduty/client/testing.go b/plugins/source/pagerduty/client/testing.go index 12503bf7b9c07b..0f0698266ec6c3 100644 --- a/plugins/source/pagerduty/client/testing.go +++ b/plugins/source/pagerduty/client/testing.go @@ -46,7 +46,7 @@ func PagerdutyMockTestHelper(t *testing.T, table *schema.Table, buildMockHttpCli version := "vDev" - configureTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + configureTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { pagerdutyClient := pagerduty.NewClient("test_auth_token") pagerdutyClient.HTTPClient = buildMockHttpClient() diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index c68b0a9fd74fae..1a2f4777a7f17c 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/PagerDuty/go-pagerduty v1.6.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 gopkg.in/yaml.v3 v3.0.1 diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 8d3db96e0388a7..816fcd6fb42d25 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/salesforce/client/client.go b/plugins/source/salesforce/client/client.go index 4806e701f8b6d8..5b5b35aed1209b 100644 --- a/plugins/source/salesforce/client/client.go +++ b/plugins/source/salesforce/client/client.go @@ -55,7 +55,7 @@ type ListObjectsResponse struct { Sobject []Sobject `json:"sobjects"` } -func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { cqClient := Client{ logger: logger, } diff --git a/plugins/source/salesforce/client/testing.go b/plugins/source/salesforce/client/testing.go index b827bbd04f42c4..6e6cb4c6e5c915 100644 --- a/plugins/source/salesforce/client/testing.go +++ b/plugins/source/salesforce/client/testing.go @@ -27,7 +27,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. h := httptest.NewServer(router) defer h.Close() - configureTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + configureTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createServices(router) if err != nil { return nil, err diff --git a/plugins/source/salesforce/go.mod b/plugins/source/salesforce/go.mod index e21316db2eda3b..f4c249d3dcb0a3 100644 --- a/plugins/source/salesforce/go.mod +++ b/plugins/source/salesforce/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/salesforce go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/salesforce/go.sum b/plugins/source/salesforce/go.sum index 5a48ce8a393be7..494a5c63d32175 100644 --- a/plugins/source/salesforce/go.sum +++ b/plugins/source/salesforce/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -203,6 +203,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/source/shopify/client/client.go b/plugins/source/shopify/client/client.go index 89c14c8e755ff4..a9731252fe7dc6 100644 --- a/plugins/source/shopify/client/client.go +++ b/plugins/source/shopify/client/client.go @@ -40,7 +40,7 @@ func (c *Client) ID() string { return c.sourceSpec.Name } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { spSpec := &Spec{} if err := s.UnmarshalSpec(spSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal shopify spec: %w", err) diff --git a/plugins/source/shopify/client/testing.go b/plugins/source/shopify/client/testing.go index 68fd0cf0a2d1a7..deda2414284619 100644 --- a/plugins/source/shopify/client/testing.go +++ b/plugins/source/shopify/client/testing.go @@ -72,7 +72,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var spSpec Spec if err := spec.UnmarshalSpec(&spSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal shopify spec: %w", err) diff --git a/plugins/source/shopify/go.mod b/plugins/source/shopify/go.mod index 28c959056ececc..b35602d2268634 100644 --- a/plugins/source/shopify/go.mod +++ b/plugins/source/shopify/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/shopify go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 golang.org/x/time v0.3.0 diff --git a/plugins/source/shopify/go.sum b/plugins/source/shopify/go.sum index 058f504132b6b9..e0c99b1e2961c3 100644 --- a/plugins/source/shopify/go.sum +++ b/plugins/source/shopify/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/slack/client/client.go b/plugins/source/slack/client/client.go index 0c00400a6124ec..84459945b9e019 100644 --- a/plugins/source/slack/client/client.go +++ b/plugins/source/slack/client/client.go @@ -50,7 +50,7 @@ func (c *Client) withTeamID(teamID string) schema.ClientMeta { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { var config Spec err := s.UnmarshalSpec(&config) if err != nil { diff --git a/plugins/source/slack/client/testing.go b/plugins/source/slack/client/testing.go index af9304c648e42e..59bd4536756694 100644 --- a/plugins/source/slack/client/testing.go +++ b/plugins/source/slack/client/testing.go @@ -25,7 +25,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, l := zerolog.New(zerolog.NewTestWriter(t)).Output( zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { return &Client{ logger: l, Slack: builder(t, ctrl), diff --git a/plugins/source/slack/go.mod b/plugins/source/slack/go.mod index 4ebf0b3c124ea2..cc09d4a523fc25 100644 --- a/plugins/source/slack/go.mod +++ b/plugins/source/slack/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/slack go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/slack-go/slack v0.12.1 diff --git a/plugins/source/slack/go.sum b/plugins/source/slack/go.sum index 6fa7adfcb84718..250aea1ae063ae 100644 --- a/plugins/source/slack/go.sum +++ b/plugins/source/slack/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/snyk/client/client.go b/plugins/source/snyk/client/client.go index c90bafa8594087..603dc4c84859e6 100644 --- a/plugins/source/snyk/client/client.go +++ b/plugins/source/snyk/client/client.go @@ -30,7 +30,7 @@ func (c *Client) Logger() *zerolog.Logger { return &c.logger } -func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { snykSpec := new(Spec) err := spec.UnmarshalSpec(snykSpec) if err != nil { diff --git a/plugins/source/snyk/client/testing.go b/plugins/source/snyk/client/testing.go index d37b7ef4db170f..a8a2710dfde278 100644 --- a/plugins/source/snyk/client/testing.go +++ b/plugins/source/snyk/client/testing.go @@ -24,7 +24,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createService func(*httpr ts := httptest.NewUnstartedServer(mux) defer ts.Close() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, _ specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, _ specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createService(mux) if err != nil { return nil, fmt.Errorf("failed to createService: %w", err) diff --git a/plugins/source/snyk/go.mod b/plugins/source/snyk/go.mod index aa56653ef97809..c5e1723a7fb978 100644 --- a/plugins/source/snyk/go.mod +++ b/plugins/source/snyk/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/snyk go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/google/uuid v1.3.0 github.com/julienschmidt/httprouter v1.3.0 github.com/pavel-snyk/snyk-sdk-go v0.4.1 diff --git a/plugins/source/snyk/go.sum b/plugins/source/snyk/go.sum index 191cd0d55acf6e..1d7727cdf33251 100644 --- a/plugins/source/snyk/go.sum +++ b/plugins/source/snyk/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cloudquery/snyk-sdk-go v0.1.0 h1:lJ/3EhLwUAdcR/sukSA+EzAnRE1jRRxm8ewLESCNW5Q= github.com/cloudquery/snyk-sdk-go v0.1.0/go.mod h1:LRL1TRuuM925gnyGp54WtS9p8S4yJMd0oS4JpLg+n7Y= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/source/tailscale/client/client.go b/plugins/source/tailscale/client/client.go index b91e50244b2f60..8e16fcd9dbcb4f 100644 --- a/plugins/source/tailscale/client/client.go +++ b/plugins/source/tailscale/client/client.go @@ -27,7 +27,7 @@ func (c *Client) Logger() *zerolog.Logger { return &c.logger } -func Configure(_ context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(_ context.Context, logger zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { tsSpec := new(Spec) err := spec.UnmarshalSpec(tsSpec) if err != nil { diff --git a/plugins/source/tailscale/client/testing.go b/plugins/source/tailscale/client/testing.go index f9684a6280b9ef..50ab488adca9cd 100644 --- a/plugins/source/tailscale/client/testing.go +++ b/plugins/source/tailscale/client/testing.go @@ -24,7 +24,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createService func(*httpr ts := httptest.NewUnstartedServer(mux) defer ts.Close() - newTestExecutionClient := func(_ context.Context, logger zerolog.Logger, _ specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(_ context.Context, logger zerolog.Logger, _ specs.Source, _ source.Options) (schema.ClientMeta, error) { err := createService(mux) if err != nil { return nil, fmt.Errorf("failed to createService: %w", err) diff --git a/plugins/source/tailscale/go.mod b/plugins/source/tailscale/go.mod index c5ef0f03ebcaa7..14d27b7f39d758 100644 --- a/plugins/source/tailscale/go.mod +++ b/plugins/source/tailscale/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/tailscale go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/tailscale/tailscale-client-go v1.8.0 diff --git a/plugins/source/tailscale/go.sum b/plugins/source/tailscale/go.sum index 915175ebec3c4a..82bc8924f6e520 100644 --- a/plugins/source/tailscale/go.sum +++ b/plugins/source/tailscale/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/terraform/client/client.go b/plugins/source/terraform/client/client.go index ff487683a543c6..96a00c7a213892 100644 --- a/plugins/source/terraform/client/client.go +++ b/plugins/source/terraform/client/client.go @@ -34,7 +34,7 @@ func (c *Client) ID() string { return c.CurrentBackend } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { tfSpec := &Spec{} if err := s.UnmarshalSpec(tfSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal terraform spec: %w", err) diff --git a/plugins/source/terraform/client/testing.go b/plugins/source/terraform/client/testing.go index 4dc65f93739ca0..6418eefa282ce2 100644 --- a/plugins/source/terraform/client/testing.go +++ b/plugins/source/terraform/client/testing.go @@ -30,7 +30,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, builder func(*testing.T, zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var tfSpec Spec if err := spec.UnmarshalSpec(&tfSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal terraform spec: %w", err) diff --git a/plugins/source/terraform/go.mod b/plugins/source/terraform/go.mod index e6d8266f394aee..3174f130da8a91 100644 --- a/plugins/source/terraform/go.mod +++ b/plugins/source/terraform/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/terraform/go.sum b/plugins/source/terraform/go.sum index ffb274537c8af6..4d45360ce1150f 100644 --- a/plugins/source/terraform/go.sum +++ b/plugins/source/terraform/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -247,6 +247,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/source/test/client/client.go b/plugins/source/test/client/client.go index 42bb86b00ad2d4..e0425fafc08884 100644 --- a/plugins/source/test/client/client.go +++ b/plugins/source/test/client/client.go @@ -21,6 +21,6 @@ func (*TestClient) ID() string { return "TestClient" } -func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func New(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { return &TestClient{}, nil } diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index 6eddf34a12df27..6cb4cd3f2fddcc 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index 035588d3d6841c..6d63b5ac1483b0 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -201,6 +201,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 h1:m9O6OTJ627iFnN2JIWfdqlZCzneRO6EEBsHXI25P8ws= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/plugins/source/vercel/client/client.go b/plugins/source/vercel/client/client.go index 068d6210cfc382..af1090b7cc1772 100644 --- a/plugins/source/vercel/client/client.go +++ b/plugins/source/vercel/client/client.go @@ -58,7 +58,7 @@ func (c *Client) WithTeamID(teamID string) schema.ClientMeta { } } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, _ source.Options) (schema.ClientMeta, error) { veSpec := &Spec{} if err := s.UnmarshalSpec(veSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal vercel spec: %w", err) diff --git a/plugins/source/vercel/client/testing.go b/plugins/source/vercel/client/testing.go index 8745f7b8a1ff4e..1276566760e407 100644 --- a/plugins/source/vercel/client/testing.go +++ b/plugins/source/vercel/client/testing.go @@ -72,7 +72,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, createServices func(*mux. zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.StampMicro}, ).Level(zerolog.DebugLevel).With().Timestamp().Logger() - newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, _ zerolog.Logger, spec specs.Source, _ source.Options) (schema.ClientMeta, error) { var veSpec Spec if err := spec.UnmarshalSpec(&veSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal vercel spec: %w", err) diff --git a/plugins/source/vercel/go.mod b/plugins/source/vercel/go.mod index bf1669125427c1..18e3c81ef0b494 100644 --- a/plugins/source/vercel/go.mod +++ b/plugins/source/vercel/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/vercel go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.25.1 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/vercel/go.sum b/plugins/source/vercel/go.sum index e79ad888dfbfab..4c0e99950944f9 100644 --- a/plugins/source/vercel/go.sum +++ b/plugins/source/vercel/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= +github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= From 6d48c1644018c4725ffbc0eabb92cbcae3b33a18 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Mon, 16 Jan 2023 12:08:01 +0200 Subject: [PATCH 169/186] test: Fix race in stripe tests, add race flag to missing plugins (#6833) #### Summary Noticed this while working on https://github.com/cloudquery/cloudquery/pull/6805 as the Stripe CI was failing. We should create backends per test instead of overriding the Global ones #### Summary --- plugins/source/oracle/.goreleaser.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 plugins/source/oracle/.goreleaser.yaml diff --git a/plugins/source/oracle/.goreleaser.yaml b/plugins/source/oracle/.goreleaser.yaml new file mode 100644 index 00000000000000..98ca77363cd0a5 --- /dev/null +++ b/plugins/source/oracle/.goreleaser.yaml @@ -0,0 +1,14 @@ +variables: + component: source/oracle + binary: oracle + +project_name: plugins/source/oracle + +monorepo: + tag_prefix: plugins-source-oracle- + dir: plugins/source/oracle + +includes: + - from_file: + # Relative to the directory Go Releaser is run from (which is the root of the repository) + path: ./plugins/.goreleaser.yaml \ No newline at end of file From 6ccda8d0bc6e7ce75f4a64a18911e349ccaac277 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 16 Jan 2023 14:27:31 +0200 Subject: [PATCH 172/186] fix(deps): Update module github.com/cloudquery/plugin-sdk to v1.26.0 (#6839) 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](https://togithub.com/cloudquery/plugin-sdk) | require | minor | `v1.25.1` -> `v1.26.0` | | [github.com/cloudquery/plugin-sdk](https://togithub.com/cloudquery/plugin-sdk) | require | minor | `v1.25.0` -> `v1.26.0` | --- ### Release Notes
cloudquery/plugin-sdk ### [`v1.26.0`](https://togithub.com/cloudquery/plugin-sdk/releases/tag/v1.26.0) [Compare Source](https://togithub.com/cloudquery/plugin-sdk/compare/v1.25.1...v1.26.0) ##### Features - **destinations:** Add `migrate_mode` ([#​604](https://togithub.com/cloudquery/plugin-sdk/issues/604)) ([78b9acb](https://togithub.com/cloudquery/plugin-sdk/commit/78b9acbfad4183506c39ea24a4634eb1ba70c04e)) ##### Bug Fixes - **destination:** Pass proper spec to client constructor ([#​606](https://togithub.com/cloudquery/plugin-sdk/issues/606)) ([8370882](https://togithub.com/cloudquery/plugin-sdk/commit/837088220447a0c305888e25807163dd08042a48))
--- ### 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 these updates 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 | 4 ++-- plugins/destination/azblob/go.mod | 2 +- plugins/destination/azblob/go.sum | 4 ++-- plugins/destination/bigquery/go.mod | 2 +- plugins/destination/bigquery/go.sum | 4 ++-- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 4 ++-- plugins/destination/gcs/go.mod | 2 +- plugins/destination/gcs/go.sum | 4 ++-- plugins/destination/kafka/go.mod | 2 +- plugins/destination/kafka/go.sum | 4 ++-- plugins/destination/mongodb/go.mod | 2 +- plugins/destination/mongodb/go.sum | 4 ++-- plugins/destination/neo4j/go.mod | 2 +- plugins/destination/neo4j/go.sum | 4 ++-- plugins/destination/postgresql/go.mod | 2 +- plugins/destination/postgresql/go.sum | 4 ++-- plugins/destination/s3/go.mod | 2 +- plugins/destination/s3/go.sum | 4 ++-- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 ++-- plugins/destination/sqlite/go.mod | 2 +- plugins/destination/sqlite/go.sum | 4 ++-- plugins/destination/test/go.mod | 2 +- plugins/destination/test/go.sum | 4 ++-- plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- plugins/source/azure/go.mod | 2 +- plugins/source/azure/go.sum | 4 ++-- plugins/source/azuredevops/go.mod | 2 +- plugins/source/azuredevops/go.sum | 4 ++-- plugins/source/cloudflare/go.mod | 2 +- plugins/source/cloudflare/go.sum | 4 ++-- plugins/source/crowdstrike/go.mod | 2 +- plugins/source/crowdstrike/go.sum | 4 ++-- plugins/source/datadog/go.mod | 2 +- plugins/source/datadog/go.sum | 4 ++-- plugins/source/digitalocean/go.mod | 2 +- plugins/source/digitalocean/go.sum | 4 ++-- plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- plugins/source/gandi/go.mod | 2 +- plugins/source/gandi/go.sum | 4 ++-- plugins/source/gcp/go.mod | 2 +- plugins/source/gcp/go.sum | 4 ++-- plugins/source/github/go.mod | 2 +- plugins/source/github/go.sum | 4 ++-- plugins/source/gitlab/go.mod | 2 +- plugins/source/gitlab/go.sum | 4 ++-- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 ++-- plugins/source/heroku/go.mod | 2 +- plugins/source/heroku/go.sum | 4 ++-- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 4 ++-- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 4 ++-- plugins/source/oracle/go.mod | 2 +- plugins/source/oracle/go.sum | 4 ++-- plugins/source/pagerduty/go.mod | 2 +- plugins/source/pagerduty/go.sum | 4 ++-- plugins/source/salesforce/go.mod | 2 +- plugins/source/salesforce/go.sum | 4 ++-- plugins/source/shopify/go.mod | 2 +- plugins/source/shopify/go.sum | 4 ++-- plugins/source/slack/go.mod | 2 +- plugins/source/slack/go.sum | 4 ++-- plugins/source/snyk/go.mod | 2 +- plugins/source/snyk/go.sum | 4 ++-- plugins/source/stripe/client/client.go | 9 ++------- plugins/source/stripe/client/testing.go | 2 +- plugins/source/stripe/go.mod | 2 +- plugins/source/stripe/go.sum | 4 ++-- plugins/source/tailscale/go.mod | 2 +- plugins/source/tailscale/go.sum | 4 ++-- plugins/source/terraform/go.mod | 2 +- plugins/source/terraform/go.sum | 4 ++-- plugins/source/test/go.mod | 2 +- plugins/source/test/go.sum | 4 ++-- plugins/source/vercel/go.mod | 2 +- plugins/source/vercel/go.sum | 4 ++-- 82 files changed, 123 insertions(+), 128 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index cd1e2547f77763..e138dffda0ffd5 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/cli go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/getsentry/sentry-go v0.16.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/cli/go.sum b/cli/go.sum index ae3170535c5f5a..f528bae23076c6 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -1,8 +1,8 @@ github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/avast/retry-go/v4 v4.3.1/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index 467aa21f401ef6..6170a16b424f83 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -6,7 +6,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index f3c2e03fe65b92..dddf03e035ea1b 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -52,8 +52,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index 3a4566e9d34e98..91f7b95b9c0d4f 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/bigquery v1.44.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 golang.org/x/sync v0.1.0 google.golang.org/api v0.103.0 diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index cc842193487ff8..76ae5485bf2bc3 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 0a469403010e07..dd6b57d3eaa045 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index e3c3153c54433d..5fd4ed3dc52ca5 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index d06eefbc26d2f7..a76425c3b58109 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 73a32172313dd3..011dae993821e1 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 818f7f398c9751..3b62d8181c7b59 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index 6fcb891a3a1b1b..f8d85ba1814685 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -45,8 +45,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index 251eadd6dcdf75..a37908d7a6feb0 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mongodb go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 go.mongodb.org/mongo-driver v1.11.1 ) diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index 8c7bb4a41fc343..1c6a3f7ae5c644 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 6b357d43761b8b..7b6d0e39ae721a 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/neo4j go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/neo4j/neo4j-go-driver/v5 v5.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index a44141d129438e..63cfd71e82665e 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index 92dcc724f62dde..7c3b523c493029 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/postgresql go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/jackc/pgx-zerolog v0.0.0-20220923130014-7856b90a65ae github.com/jackc/pgx/v5 v5.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index f4b8159915d4eb..96eb7f45252759 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 4a74c944f87553..07a2b01b0f6b0f 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index a9c9d54b13963e..a3d109b9d4835c 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -80,8 +80,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index d482c25b96b255..ed154f93976bb8 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.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 github.com/snowflakedb/gosnowflake v1.6.16 ) diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index bc33edcf4262f6..cd28acbc27c38b 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -103,8 +103,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index 6a6b77909eaad6..74c19cf4e7195f 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/sqlite go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index d64751e4a0a65d..ed6fd7f83a79cf 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index 10fb60864deb2d..e56acacc082266 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index 6d63b5ac1483b0..49fe2bc9be0e3a 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index 40dd527c550946..d70d3900bea0b7 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -100,7 +100,7 @@ require ( github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 github.com/cloudquery/codegen v0.2.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index b1eef73699c678..05b8fdd3074241 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -274,8 +274,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azure/go.mod b/plugins/source/azure/go.mod index 617b7c0f9e6aa0..e1c9d4a98fcd3f 100644 --- a/plugins/source/azure/go.mod +++ b/plugins/source/azure/go.mod @@ -95,7 +95,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads v0.2.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/azure/go.sum b/plugins/source/azure/go.sum index 4687dce393afd2..db3b432756908b 100644 --- a/plugins/source/azure/go.sum +++ b/plugins/source/azure/go.sum @@ -229,8 +229,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azuredevops/go.mod b/plugins/source/azuredevops/go.mod index a4457a78588b44..99cf2393a3767f 100644 --- a/plugins/source/azuredevops/go.mod +++ b/plugins/source/azuredevops/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/azuredevops go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/microsoft/azure-devops-go-api/azuredevops/v6 v6.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azuredevops/go.sum b/plugins/source/azuredevops/go.sum index 378665ce9b4eca..ef41d559900b81 100644 --- a/plugins/source/azuredevops/go.sum +++ b/plugins/source/azuredevops/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index bbe4285c7cca6d..bd5b36a6e3b4fb 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudflare/cloudflare-go v0.57.1 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/thoas/go-funk v0.9.3 diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index 4144d72b43861f..e66317bdf5eff4 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.57.1 h1:c9OhL/WusagBirP+CIJeCqS7OjT9kiWjtJv4lwxp3ZM= github.com/cloudflare/cloudflare-go v0.57.1/go.mod h1:cD8AqNMMaL1A0Sj9XKo3Xu9ZVHwHqgXJofb1ya210GQ= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/crowdstrike/go.mod b/plugins/source/crowdstrike/go.mod index 590303fb55f077..fe3e8ad91aba47 100644 --- a/plugins/source/crowdstrike/go.mod +++ b/plugins/source/crowdstrike/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/crowdstrike go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/crowdstrike/gofalcon v0.2.32 github.com/go-openapi/runtime v0.25.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/crowdstrike/go.sum b/plugins/source/crowdstrike/go.sum index d5242f48a2b7bb..1138af87a2691c 100644 --- a/plugins/source/crowdstrike/go.sum +++ b/plugins/source/crowdstrike/go.sum @@ -74,8 +74,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index ad4b9e9050c459..4f024e3cbbc6c5 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/DataDog/datadog-api-client-go/v2 v2.6.1 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index 237230f7505275..05c64e113c353c 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index cfe548d6ffd85a..66fc2ad3820547 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/smithy-go v1.13.5 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/digitalocean/godo v1.93.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index ced0d110cbc671..bec7a5f830b1f9 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -77,8 +77,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index a3f10ebeaa3077..2e7c0e5d105e80 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/codegen v0.2.1 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index f69e4141441dd1..2a81e5cadd5f4c 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.1 h1:AWpGNKIFUyzI7vulYADXi/3SoksUaNXgTgIMuSrTHZk= github.com/cloudquery/codegen v0.2.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gandi/go.mod b/plugins/source/gandi/go.mod index c30744b20b099e..765870a2152298 100644 --- a/plugins/source/gandi/go.mod +++ b/plugins/source/gandi/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gandi go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/go-gandi/go-gandi v0.5.1-0.20221118201059-f69b292fa399 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/gandi/go.sum b/plugins/source/gandi/go.sum index 2aa74a2d153c44..7f8502654e287d 100644 --- a/plugins/source/gandi/go.sum +++ b/plugins/source/gandi/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index cbaf10f60be8c0..1883ae74973eed 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -42,7 +42,7 @@ require ( cloud.google.com/go/vpcaccess v1.5.0 cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/googleapis/gax-go/v2 v2.7.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index bd2964607306e6..f8db37c7786cb6 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -146,8 +146,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index 00a2389550e7f1..fcc3351bd047b7 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/github go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/google/go-github/v48 v48.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index 8a9f18630cb30d..df2dc63b880fb1 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index c8f07dae6ae43f..19bd0ec5817d83 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gitlab go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/xanzy/go-gitlab v0.74.0 diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index 3acea96451dde4..6bd29706dce1de 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index 781a67198859c3..ca8201a5a110f4 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/hackernews go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index 6161632f339ce9..f1b9e5692c5065 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/heroku/go.mod b/plugins/source/heroku/go.mod index d7ddc6f4cf363e..4d18b3dc607239 100644 --- a/plugins/source/heroku/go.mod +++ b/plugins/source/heroku/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/heroku go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/go-cmp v0.5.9 github.com/googleapis/gax-go/v2 v2.7.0 github.com/heroku/heroku-go/v5 v5.5.0 diff --git a/plugins/source/heroku/go.sum b/plugins/source/heroku/go.sum index 208807750770e4..37e33907c5e88a 100644 --- a/plugins/source/heroku/go.sum +++ b/plugins/source/heroku/go.sum @@ -49,8 +49,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index de119a96c59cae..3bbc352c2cad09 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.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/google/gnostic v0.6.9 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index cd6aac5b85892f..ad250c0b4c346d 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index b5b98cbc4f0452..b9371ebb162112 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/okta go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gorilla/mux v1.8.0 github.com/okta/okta-sdk-golang/v3 v3.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 3d3a3ab9816806..20ac0c257d1c4c 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/oracle/go.mod b/plugins/source/oracle/go.mod index ee3892bb379df2..a4e5d82fbc8050 100644 --- a/plugins/source/oracle/go.mod +++ b/plugins/source/oracle/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/oracle go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/iancoleman/strcase v0.2.0 github.com/oracle/oci-go-sdk/v65 v65.28.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/oracle/go.sum b/plugins/source/oracle/go.sum index 913d00f64b55df..7fca16c26f6a35 100644 --- a/plugins/source/oracle/go.sum +++ b/plugins/source/oracle/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index 1a2f4777a7f17c..c373e033aad0a1 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/PagerDuty/go-pagerduty v1.6.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 gopkg.in/yaml.v3 v3.0.1 diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 816fcd6fb42d25..198b725409dbfa 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/salesforce/go.mod b/plugins/source/salesforce/go.mod index f4c249d3dcb0a3..f5150c486d0c65 100644 --- a/plugins/source/salesforce/go.mod +++ b/plugins/source/salesforce/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/salesforce go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/salesforce/go.sum b/plugins/source/salesforce/go.sum index 494a5c63d32175..ec3293360b9483 100644 --- a/plugins/source/salesforce/go.sum +++ b/plugins/source/salesforce/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/shopify/go.mod b/plugins/source/shopify/go.mod index b35602d2268634..e502250d8ebf01 100644 --- a/plugins/source/shopify/go.mod +++ b/plugins/source/shopify/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/shopify go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 golang.org/x/time v0.3.0 diff --git a/plugins/source/shopify/go.sum b/plugins/source/shopify/go.sum index e0c99b1e2961c3..7afb803252d9ae 100644 --- a/plugins/source/shopify/go.sum +++ b/plugins/source/shopify/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/slack/go.mod b/plugins/source/slack/go.mod index cc09d4a523fc25..158aacd78fa1e4 100644 --- a/plugins/source/slack/go.mod +++ b/plugins/source/slack/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/slack go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/slack-go/slack v0.12.1 diff --git a/plugins/source/slack/go.sum b/plugins/source/slack/go.sum index 250aea1ae063ae..3f70cabd097bcc 100644 --- a/plugins/source/slack/go.sum +++ b/plugins/source/slack/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/snyk/go.mod b/plugins/source/snyk/go.mod index c5e1723a7fb978..0fb0e0dbc67140 100644 --- a/plugins/source/snyk/go.mod +++ b/plugins/source/snyk/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/snyk go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/google/uuid v1.3.0 github.com/julienschmidt/httprouter v1.3.0 github.com/pavel-snyk/snyk-sdk-go v0.4.1 diff --git a/plugins/source/snyk/go.sum b/plugins/source/snyk/go.sum index 1d7727cdf33251..f127e3586b7974 100644 --- a/plugins/source/snyk/go.sum +++ b/plugins/source/snyk/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cloudquery/snyk-sdk-go v0.1.0 h1:lJ/3EhLwUAdcR/sukSA+EzAnRE1jRRxm8ewLESCNW5Q= github.com/cloudquery/snyk-sdk-go v0.1.0/go.mod h1:LRL1TRuuM925gnyGp54WtS9p8S4yJMd0oS4JpLg+n7Y= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/source/stripe/client/client.go b/plugins/source/stripe/client/client.go index e84876a6c1e6f8..289a8196898097 100644 --- a/plugins/source/stripe/client/client.go +++ b/plugins/source/stripe/client/client.go @@ -45,17 +45,12 @@ func (c *Client) ID() string { return c.sourceSpec.Name } -func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, opts ...source.Option) (schema.ClientMeta, error) { +func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, opts source.Options) (schema.ClientMeta, error) { stSpec := &Spec{} if err := s.UnmarshalSpec(stSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal stripe spec: %w", err) } - o := source.Options{} - for _, opt := range opts { - opt(&o) - } - services, err := getServiceClient(logger, stSpec) if err != nil { return nil, err @@ -65,7 +60,7 @@ func Configure(ctx context.Context, logger zerolog.Logger, s specs.Source, opts return nil, err } - cl := New(logger, s, *stSpec, services, o.Backend) + cl := New(logger, s, *stSpec, services, opts.Backend) return cl, nil } diff --git a/plugins/source/stripe/client/testing.go b/plugins/source/stripe/client/testing.go index 8db9b0773ba048..f59cd757c939ad 100644 --- a/plugins/source/stripe/client/testing.go +++ b/plugins/source/stripe/client/testing.go @@ -45,7 +45,7 @@ func MockTestHelper(t *testing.T, table *schema.Table, opts TestOptions) { } }() - newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, _ ...source.Option) (schema.ClientMeta, error) { + newTestExecutionClient := func(ctx context.Context, logger zerolog.Logger, spec specs.Source, opts source.Options) (schema.ClientMeta, error) { var stSpec Spec if err := spec.UnmarshalSpec(&stSpec); err != nil { return nil, fmt.Errorf("failed to unmarshal stripe spec: %w", err) diff --git a/plugins/source/stripe/go.mod b/plugins/source/stripe/go.mod index 2e59d68c717710..76bc2d2f8df966 100644 --- a/plugins/source/stripe/go.mod +++ b/plugins/source/stripe/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/stripe go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.0 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gertd/go-pluralize v0.2.1 github.com/rs/zerolog v1.28.0 github.com/stripe/stripe-go/v74 v74.4.0 diff --git a/plugins/source/stripe/go.sum b/plugins/source/stripe/go.sum index ff5fb99ce1c923..eebed903d387c6 100644 --- a/plugins/source/stripe/go.sum +++ b/plugins/source/stripe/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/tailscale/go.mod b/plugins/source/tailscale/go.mod index 14d27b7f39d758..59add92e012c6d 100644 --- a/plugins/source/tailscale/go.mod +++ b/plugins/source/tailscale/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/tailscale go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/tailscale/tailscale-client-go v1.8.0 diff --git a/plugins/source/tailscale/go.sum b/plugins/source/tailscale/go.sum index 82bc8924f6e520..ee50c73d5aee55 100644 --- a/plugins/source/tailscale/go.sum +++ b/plugins/source/tailscale/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/terraform/go.mod b/plugins/source/terraform/go.mod index 3174f130da8a91..c67a37b99136c1 100644 --- a/plugins/source/terraform/go.mod +++ b/plugins/source/terraform/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/terraform/go.sum b/plugins/source/terraform/go.sum index 4d45360ce1150f..e434092ed86dcc 100644 --- a/plugins/source/terraform/go.sum +++ b/plugins/source/terraform/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index 6cb4cd3f2fddcc..e584e9975df266 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index 6d63b5ac1483b0..49fe2bc9be0e3a 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/vercel/go.mod b/plugins/source/vercel/go.mod index 18e3c81ef0b494..112b565ba49893 100644 --- a/plugins/source/vercel/go.mod +++ b/plugins/source/vercel/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/vercel go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.26.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/vercel/go.sum b/plugins/source/vercel/go.sum index 4c0e99950944f9..639978e1c9da9f 100644 --- a/plugins/source/vercel/go.sum +++ b/plugins/source/vercel/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= +github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= From a8ee1c9d9227208e309b00e028dc0c120ee75cd8 Mon Sep 17 00:00:00 2001 From: Liu Shaohui Date: Mon, 16 Jan 2023 23:34:54 +0800 Subject: [PATCH 173/186] feat(alicloud): Add alicloud source plugin to sync bss and oss resources (#6418) #### Summary https://github.com/cloudquery/cloudquery/issues/6416 Add the alicloud source plugin to sync bss and oss resources 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/azblob/go.mod | 4 ++-- plugins/destination/azblob/go.sum | 8 ++++---- plugins/destination/file/go.mod | 4 ++-- plugins/destination/file/go.sum | 8 ++++---- plugins/destination/gcs/go.mod | 4 ++-- plugins/destination/gcs/go.sum | 8 ++++---- plugins/destination/kafka/go.mod | 4 ++-- plugins/destination/kafka/go.sum | 8 ++++---- plugins/destination/s3/go.mod | 4 ++-- plugins/destination/s3/go.sum | 8 ++++---- 10 files changed, 30 insertions(+), 30 deletions(-) diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index 6170a16b424f83..d7c1b2561a44f2 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -5,8 +5,8 @@ go 1.19 require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 - github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/filetypes v1.0.6 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index dddf03e035ea1b..b1820af0e089d7 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -50,10 +50,10 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= -github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/filetypes v1.0.6 h1:Jy93/hrSS7FEIQnAl9DSS18dh8xCeP7bUS/Ufrm27j0= +github.com/cloudquery/filetypes v1.0.6/go.mod h1:J+aAJCqYnBsD0s5R350GORkL2od8rilOYu6vKBD5l8M= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index dd6b57d3eaa045..f978d5fdef5b7f 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -3,8 +3,8 @@ module github.com/cloudquery/cloudquery/plugins/destination/file go 1.19 require ( - github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/filetypes v1.0.6 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 5fd4ed3dc52ca5..07d3887756ea59 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -40,10 +40,10 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= -github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/filetypes v1.0.6 h1:Jy93/hrSS7FEIQnAl9DSS18dh8xCeP7bUS/Ufrm27j0= +github.com/cloudquery/filetypes v1.0.6/go.mod h1:J+aAJCqYnBsD0s5R350GORkL2od8rilOYu6vKBD5l8M= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index a76425c3b58109..534846dda980a7 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -4,8 +4,8 @@ go 1.19 require ( cloud.google.com/go/storage v1.27.0 - github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/filetypes v1.0.6 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 011dae993821e1..ce437e76d326bf 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -51,10 +51,10 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= -github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/filetypes v1.0.6 h1:Jy93/hrSS7FEIQnAl9DSS18dh8xCeP7bUS/Ufrm27j0= +github.com/cloudquery/filetypes v1.0.6/go.mod h1:J+aAJCqYnBsD0s5R350GORkL2od8rilOYu6vKBD5l8M= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 3b62d8181c7b59..3f33004be5cea7 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -4,8 +4,8 @@ go 1.19 require ( github.com/Shopify/sarama v1.37.2 - github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/filetypes v1.0.6 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index f8d85ba1814685..8d164276a60977 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -43,10 +43,10 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= -github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/filetypes v1.0.6 h1:Jy93/hrSS7FEIQnAl9DSS18dh8xCeP7bUS/Ufrm27j0= +github.com/cloudquery/filetypes v1.0.6/go.mod h1:J+aAJCqYnBsD0s5R350GORkL2od8rilOYu6vKBD5l8M= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 07a2b01b0f6b0f..0c6e9d0c899f52 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -7,8 +7,8 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 - github.com/cloudquery/filetypes v1.0.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/filetypes v1.0.6 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index a3d109b9d4835c..a579e99b9d51fb 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -78,10 +78,10 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/filetypes v1.0.5 h1:tZtZ1FnGgZtn3AiLc/UDvPOQlCFvOrTp6DU7eG8gRVs= -github.com/cloudquery/filetypes v1.0.5/go.mod h1:enlU/oIhZfi1F7vuHbm2sTlOWzRueaTMwy7qAEzktwA= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/filetypes v1.0.6 h1:Jy93/hrSS7FEIQnAl9DSS18dh8xCeP7bUS/Ufrm27j0= +github.com/cloudquery/filetypes v1.0.6/go.mod h1:J+aAJCqYnBsD0s5R350GORkL2od8rilOYu6vKBD5l8M= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= From 545799bb0481087e187b5f27c88f5dde9c99f2f0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:01:36 +0200 Subject: [PATCH 182/186] fix(deps): Update module github.com/cloudquery/plugin-sdk to v1.27.0 (#6856) 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](https://togithub.com/cloudquery/plugin-sdk) | require | minor | `v1.26.0` -> `v1.27.0` | | [github.com/cloudquery/plugin-sdk](https://togithub.com/cloudquery/plugin-sdk) | require | minor | `v1.25.1` -> `v1.27.0` | --- ### Release Notes
cloudquery/plugin-sdk ### [`v1.27.0`](https://togithub.com/cloudquery/plugin-sdk/releases/tag/v1.27.0) [Compare Source](https://togithub.com/cloudquery/plugin-sdk/compare/v1.26.0...v1.27.0) ##### Features - **spec:** Add source, destination String methods ([#​609](https://togithub.com/cloudquery/plugin-sdk/issues/609)) ([604b9ef](https://togithub.com/cloudquery/plugin-sdk/commit/604b9efe5608e60936e87114e0fbf776ea6253ea))
--- ### 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 these updates 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 | 4 ++-- plugins/destination/bigquery/go.mod | 2 +- plugins/destination/bigquery/go.sum | 4 ++-- plugins/destination/mongodb/go.mod | 2 +- plugins/destination/mongodb/go.sum | 4 ++-- plugins/destination/neo4j/go.mod | 2 +- plugins/destination/neo4j/go.sum | 4 ++-- plugins/destination/postgresql/go.mod | 2 +- plugins/destination/postgresql/go.sum | 4 ++-- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 ++-- plugins/destination/sqlite/go.mod | 2 +- plugins/destination/sqlite/go.sum | 4 ++-- plugins/destination/test/go.mod | 2 +- plugins/destination/test/go.sum | 4 ++-- plugins/source/alicloud/go.mod | 7 +++---- plugins/source/alicloud/go.sum | 6 ++---- plugins/source/aws/go.mod | 2 +- plugins/source/aws/go.sum | 4 ++-- plugins/source/azure/go.mod | 2 +- plugins/source/azure/go.sum | 4 ++-- plugins/source/azuredevops/go.mod | 2 +- plugins/source/azuredevops/go.sum | 4 ++-- plugins/source/cloudflare/go.mod | 2 +- plugins/source/cloudflare/go.sum | 4 ++-- plugins/source/crowdstrike/go.mod | 2 +- plugins/source/crowdstrike/go.sum | 4 ++-- plugins/source/datadog/go.mod | 2 +- plugins/source/datadog/go.sum | 4 ++-- plugins/source/digitalocean/go.mod | 2 +- plugins/source/digitalocean/go.sum | 4 ++-- plugins/source/fastly/go.mod | 2 +- plugins/source/fastly/go.sum | 4 ++-- plugins/source/gandi/go.mod | 2 +- plugins/source/gandi/go.sum | 4 ++-- plugins/source/gcp/client/services.go | 1 + plugins/source/gcp/go.mod | 2 +- plugins/source/gcp/go.sum | 4 ++-- plugins/source/github/go.mod | 2 +- plugins/source/github/go.sum | 4 ++-- plugins/source/gitlab/go.mod | 2 +- plugins/source/gitlab/go.sum | 4 ++-- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 ++-- plugins/source/heroku/go.mod | 2 +- plugins/source/heroku/go.sum | 4 ++-- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 4 ++-- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 4 ++-- plugins/source/oracle/go.mod | 2 +- plugins/source/oracle/go.sum | 4 ++-- plugins/source/pagerduty/go.mod | 2 +- plugins/source/pagerduty/go.sum | 4 ++-- plugins/source/salesforce/go.mod | 2 +- plugins/source/salesforce/go.sum | 4 ++-- plugins/source/shopify/go.mod | 2 +- plugins/source/shopify/go.sum | 4 ++-- plugins/source/slack/go.mod | 2 +- plugins/source/slack/go.sum | 4 ++-- plugins/source/snyk/go.mod | 2 +- plugins/source/snyk/go.sum | 4 ++-- plugins/source/stripe/go.mod | 2 +- plugins/source/stripe/go.sum | 4 ++-- plugins/source/tailscale/go.mod | 2 +- plugins/source/tailscale/go.sum | 4 ++-- plugins/source/terraform/go.mod | 2 +- plugins/source/terraform/go.sum | 4 ++-- plugins/source/test/go.mod | 2 +- plugins/source/test/go.sum | 4 ++-- plugins/source/vercel/go.mod | 2 +- plugins/source/vercel/go.sum | 4 ++-- 73 files changed, 111 insertions(+), 113 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index e138dffda0ffd5..c44c503503e1c7 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/cli go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/getsentry/sentry-go v0.16.0 github.com/google/uuid v1.3.0 github.com/rs/zerolog v1.28.0 diff --git a/cli/go.sum b/cli/go.sum index f528bae23076c6..9f37017510c12f 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -1,8 +1,8 @@ github.com/avast/retry-go/v4 v4.3.1 h1:Mtg11F9PdAIMkMiio2RKcYauoVHjl2aB3zQJJlzD4cE= github.com/avast/retry-go/v4 v4.3.1/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index 91f7b95b9c0d4f..c36bd5d030bd90 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/bigquery v1.44.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 golang.org/x/sync v0.1.0 google.golang.org/api v0.103.0 diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index 76ae5485bf2bc3..478ef713b81ada 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -53,8 +53,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index a37908d7a6feb0..5d8bad88ca35fc 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mongodb go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 go.mongodb.org/mongo-driver v1.11.1 ) diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index 1c6a3f7ae5c644..3220d01fc3f640 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 7b6d0e39ae721a..5bd81f3baabadf 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/neo4j go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/neo4j/neo4j-go-driver/v5 v5.3.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index 63cfd71e82665e..5dbb43f53e3b01 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index 7c3b523c493029..594da2738b709b 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/postgresql go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/jackc/pgx-zerolog v0.0.0-20220923130014-7856b90a65ae github.com/jackc/pgx/v5 v5.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index 96eb7f45252759..0d094df9ddb186 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index ed154f93976bb8..fe6abeb537a129 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.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 github.com/snowflakedb/gosnowflake v1.6.16 ) diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index cd28acbc27c38b..88e7193e49f917 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -103,8 +103,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index 74c19cf4e7195f..723a861a2b2e9d 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/sqlite go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index ed6fd7f83a79cf..66e71d568b2cdc 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index e56acacc082266..46053b872cb630 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index 49fe2bc9be0e3a..8787fd966e9ece 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/alicloud/go.mod b/plugins/source/alicloud/go.mod index dfb24514a98076..756650a5ef2033 100644 --- a/plugins/source/alicloud/go.mod +++ b/plugins/source/alicloud/go.mod @@ -6,7 +6,7 @@ require ( github.com/aliyun/alibaba-cloud-sdk-go v1.62.80 github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible github.com/cloudquery/codegen v0.2.1 - github.com/cloudquery/plugin-sdk v1.25.1 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.4.4 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 @@ -43,6 +43,5 @@ require ( gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) -replace ( - github.com/cloudquery/plugin-sdk v1.25.1 => ../../../../plugin-sdk -) \ No newline at end of file + +replace github.com/cloudquery/plugin-sdk v1.25.1 => ../../../../plugin-sdk diff --git a/plugins/source/alicloud/go.sum b/plugins/source/alicloud/go.sum index 4cea6a7773324b..bc9dffc6f642a9 100644 --- a/plugins/source/alicloud/go.sum +++ b/plugins/source/alicloud/go.sum @@ -46,10 +46,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.1 h1:AWpGNKIFUyzI7vulYADXi/3SoksUaNXgTgIMuSrTHZk= github.com/cloudquery/codegen v0.2.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.25.0 h1:LnKWhX94AF8Y/GASzLCTlMF4rZX85KXcA4CjB2vERtc= -github.com/cloudquery/plugin-sdk v1.25.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= -github.com/cloudquery/plugin-sdk v1.25.1 h1:fIKQkPiZdOssAt41GrAEy1rW/4WIrsPJ8gW2JjR6izs= -github.com/cloudquery/plugin-sdk v1.25.1/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/aws/go.mod b/plugins/source/aws/go.mod index d70d3900bea0b7..d136ed493871aa 100644 --- a/plugins/source/aws/go.mod +++ b/plugins/source/aws/go.mod @@ -100,7 +100,7 @@ require ( github.com/aws/smithy-go v1.13.5 github.com/basgys/goxml2json v1.1.0 github.com/cloudquery/codegen v0.2.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gocarina/gocsv v0.0.0-20221216233619-1fea7ae8d380 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 diff --git a/plugins/source/aws/go.sum b/plugins/source/aws/go.sum index 05b8fdd3074241..1c0abf7ed2f8fb 100644 --- a/plugins/source/aws/go.sum +++ b/plugins/source/aws/go.sum @@ -274,8 +274,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.0 h1:IC+UA1LPzKbgzvKmUhnLGEibgojAH31AyXMjlJr5vmI= github.com/cloudquery/codegen v0.2.0/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azure/go.mod b/plugins/source/azure/go.mod index e1c9d4a98fcd3f..fb7a3da8c57186 100644 --- a/plugins/source/azure/go.mod +++ b/plugins/source/azure/go.mod @@ -95,7 +95,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads v0.2.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/azure/go.sum b/plugins/source/azure/go.sum index db3b432756908b..0edb4be91c3f86 100644 --- a/plugins/source/azure/go.sum +++ b/plugins/source/azure/go.sum @@ -229,8 +229,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/azuredevops/go.mod b/plugins/source/azuredevops/go.mod index 99cf2393a3767f..c8658e81589857 100644 --- a/plugins/source/azuredevops/go.mod +++ b/plugins/source/azuredevops/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/azuredevops go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/microsoft/azure-devops-go-api/azuredevops/v6 v6.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/azuredevops/go.sum b/plugins/source/azuredevops/go.sum index ef41d559900b81..da8beabb648414 100644 --- a/plugins/source/azuredevops/go.sum +++ b/plugins/source/azuredevops/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index bd5b36a6e3b4fb..16f3c28999e282 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudflare/cloudflare-go v0.57.1 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/thoas/go-funk v0.9.3 diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index e66317bdf5eff4..94e107e6f2c12c 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cloudflare-go v0.57.1 h1:c9OhL/WusagBirP+CIJeCqS7OjT9kiWjtJv4lwxp3ZM= github.com/cloudflare/cloudflare-go v0.57.1/go.mod h1:cD8AqNMMaL1A0Sj9XKo3Xu9ZVHwHqgXJofb1ya210GQ= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/crowdstrike/go.mod b/plugins/source/crowdstrike/go.mod index fe3e8ad91aba47..cc34a83bd3a1ba 100644 --- a/plugins/source/crowdstrike/go.mod +++ b/plugins/source/crowdstrike/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/crowdstrike go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/crowdstrike/gofalcon v0.2.32 github.com/go-openapi/runtime v0.25.0 github.com/golang/mock v1.6.0 diff --git a/plugins/source/crowdstrike/go.sum b/plugins/source/crowdstrike/go.sum index 1138af87a2691c..2b880ebd98d3d9 100644 --- a/plugins/source/crowdstrike/go.sum +++ b/plugins/source/crowdstrike/go.sum @@ -74,8 +74,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index 4f024e3cbbc6c5..53cd5dae8a56c5 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/DataDog/datadog-api-client-go/v2 v2.6.1 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index 05c64e113c353c..2f647324517bb5 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index 66fc2ad3820547..56e8182df99931 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.18.8 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/smithy-go v1.13.5 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/digitalocean/godo v1.93.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index bec7a5f830b1f9..c9bfa80d48092b 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -77,8 +77,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/fastly/go.mod b/plugins/source/fastly/go.mod index 2e7c0e5d105e80..4a14adc5cbd590 100644 --- a/plugins/source/fastly/go.mod +++ b/plugins/source/fastly/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/cloudquery/codegen v0.2.1 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/fastly/go-fastly/v7 v7.0.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/fastly/go.sum b/plugins/source/fastly/go.sum index 2a81e5cadd5f4c..49ccf9fc716445 100644 --- a/plugins/source/fastly/go.sum +++ b/plugins/source/fastly/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudquery/codegen v0.2.1 h1:AWpGNKIFUyzI7vulYADXi/3SoksUaNXgTgIMuSrTHZk= github.com/cloudquery/codegen v0.2.1/go.mod h1:oJxzUuOC79fP36vBPU1BJ7n+jgQemS33y/mbgNq6vfM= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gandi/go.mod b/plugins/source/gandi/go.mod index 765870a2152298..bf5fc6dc812720 100644 --- a/plugins/source/gandi/go.mod +++ b/plugins/source/gandi/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gandi go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/go-gandi/go-gandi v0.5.1-0.20221118201059-f69b292fa399 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/gandi/go.sum b/plugins/source/gandi/go.sum index 7f8502654e287d..62aa5295f19010 100644 --- a/plugins/source/gandi/go.sum +++ b/plugins/source/gandi/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gcp/client/services.go b/plugins/source/gcp/client/services.go index 9f87c7bda8f38a..a7388f1e89b4e5 100644 --- a/plugins/source/gcp/client/services.go +++ b/plugins/source/gcp/client/services.go @@ -157,6 +157,7 @@ var GcpServices = map[string]bool{ "jobs.googleapis.com": true, "keep.googleapis.com": true, "kgsearch.googleapis.com": true, + "kmsinventory.googleapis.com": true, "language.googleapis.com": true, "libraryagent.googleapis.com": true, "licensing.googleapis.com": true, diff --git a/plugins/source/gcp/go.mod b/plugins/source/gcp/go.mod index 1883ae74973eed..3e52c55c68f105 100644 --- a/plugins/source/gcp/go.mod +++ b/plugins/source/gcp/go.mod @@ -42,7 +42,7 @@ require ( cloud.google.com/go/vpcaccess v1.5.0 cloud.google.com/go/websecurityscanner v1.4.0 cloud.google.com/go/workflows v1.9.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/googleapis/gax-go/v2 v2.7.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.3 diff --git a/plugins/source/gcp/go.sum b/plugins/source/gcp/go.sum index f8db37c7786cb6..9b12f5ae464c6c 100644 --- a/plugins/source/gcp/go.sum +++ b/plugins/source/gcp/go.sum @@ -146,8 +146,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index fcc3351bd047b7..29c8c3b225cb1a 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/github go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/google/go-github/v48 v48.2.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index df2dc63b880fb1..387e385170b6fe 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index 19bd0ec5817d83..00b9bfad6f5978 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/gitlab go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/xanzy/go-gitlab v0.74.0 diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index 6bd29706dce1de..2a4c4764d4affb 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index ca8201a5a110f4..a848c61258b07d 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/hackernews go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index f1b9e5692c5065..beead3bec7e59c 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/heroku/go.mod b/plugins/source/heroku/go.mod index 4d18b3dc607239..97823215651f69 100644 --- a/plugins/source/heroku/go.mod +++ b/plugins/source/heroku/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/heroku go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/go-cmp v0.5.9 github.com/googleapis/gax-go/v2 v2.7.0 github.com/heroku/heroku-go/v5 v5.5.0 diff --git a/plugins/source/heroku/go.sum b/plugins/source/heroku/go.sum index 37e33907c5e88a..57d2d89aad6d39 100644 --- a/plugins/source/heroku/go.sum +++ b/plugins/source/heroku/go.sum @@ -49,8 +49,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index 3bbc352c2cad09..5e5eed96fa661d 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.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/google/gnostic v0.6.9 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index ad250c0b4c346d..c017371a720616 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index b9371ebb162112..daa23ccbbbc482 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/okta go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gorilla/mux v1.8.0 github.com/okta/okta-sdk-golang/v3 v3.0.1 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 20ac0c257d1c4c..f5af1a44aeaf0c 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -42,8 +42,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/oracle/go.mod b/plugins/source/oracle/go.mod index a4e5d82fbc8050..87750f3f45a105 100644 --- a/plugins/source/oracle/go.mod +++ b/plugins/source/oracle/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/oracle go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/iancoleman/strcase v0.2.0 github.com/oracle/oci-go-sdk/v65 v65.28.0 github.com/rs/zerolog v1.28.0 diff --git a/plugins/source/oracle/go.sum b/plugins/source/oracle/go.sum index 7fca16c26f6a35..08d72239091f2b 100644 --- a/plugins/source/oracle/go.sum +++ b/plugins/source/oracle/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index c373e033aad0a1..4ea0c34308aa16 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/PagerDuty/go-pagerduty v1.6.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 golang.org/x/exp v0.0.0-20221230185412-738e83a70c30 gopkg.in/yaml.v3 v3.0.1 diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 198b725409dbfa..5d118fa0267adf 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -44,8 +44,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/salesforce/go.mod b/plugins/source/salesforce/go.mod index f5150c486d0c65..d86527d618cc8b 100644 --- a/plugins/source/salesforce/go.mod +++ b/plugins/source/salesforce/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/salesforce go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/salesforce/go.sum b/plugins/source/salesforce/go.sum index ec3293360b9483..9f4259861e7ed1 100644 --- a/plugins/source/salesforce/go.sum +++ b/plugins/source/salesforce/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/shopify/go.mod b/plugins/source/shopify/go.mod index e502250d8ebf01..2373b040fb051f 100644 --- a/plugins/source/shopify/go.mod +++ b/plugins/source/shopify/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/shopify go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 golang.org/x/time v0.3.0 diff --git a/plugins/source/shopify/go.sum b/plugins/source/shopify/go.sum index 7afb803252d9ae..683ec9f19abdad 100644 --- a/plugins/source/shopify/go.sum +++ b/plugins/source/shopify/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/slack/go.mod b/plugins/source/slack/go.mod index 158aacd78fa1e4..1ff15ce9c09355 100644 --- a/plugins/source/slack/go.mod +++ b/plugins/source/slack/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/slack go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 github.com/slack-go/slack v0.12.1 diff --git a/plugins/source/slack/go.sum b/plugins/source/slack/go.sum index 3f70cabd097bcc..d50834a970c1ee 100644 --- a/plugins/source/slack/go.sum +++ b/plugins/source/slack/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/snyk/go.mod b/plugins/source/snyk/go.mod index 0fb0e0dbc67140..cc76ec4e800d53 100644 --- a/plugins/source/snyk/go.mod +++ b/plugins/source/snyk/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/snyk go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/google/uuid v1.3.0 github.com/julienschmidt/httprouter v1.3.0 github.com/pavel-snyk/snyk-sdk-go v0.4.1 diff --git a/plugins/source/snyk/go.sum b/plugins/source/snyk/go.sum index f127e3586b7974..2433fbbe9d44d7 100644 --- a/plugins/source/snyk/go.sum +++ b/plugins/source/snyk/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cloudquery/snyk-sdk-go v0.1.0 h1:lJ/3EhLwUAdcR/sukSA+EzAnRE1jRRxm8ewLESCNW5Q= github.com/cloudquery/snyk-sdk-go v0.1.0/go.mod h1:LRL1TRuuM925gnyGp54WtS9p8S4yJMd0oS4JpLg+n7Y= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= diff --git a/plugins/source/stripe/go.mod b/plugins/source/stripe/go.mod index 76bc2d2f8df966..a02b97186115db 100644 --- a/plugins/source/stripe/go.mod +++ b/plugins/source/stripe/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/stripe go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gertd/go-pluralize v0.2.1 github.com/rs/zerolog v1.28.0 github.com/stripe/stripe-go/v74 v74.4.0 diff --git a/plugins/source/stripe/go.sum b/plugins/source/stripe/go.sum index eebed903d387c6..650f754202655e 100644 --- a/plugins/source/stripe/go.sum +++ b/plugins/source/stripe/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/tailscale/go.mod b/plugins/source/tailscale/go.mod index 59add92e012c6d..24b86c9e5eece1 100644 --- a/plugins/source/tailscale/go.mod +++ b/plugins/source/tailscale/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/tailscale go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.28.0 github.com/tailscale/tailscale-client-go v1.8.0 diff --git a/plugins/source/tailscale/go.sum b/plugins/source/tailscale/go.sum index ee50c73d5aee55..b3eda9f059d49c 100644 --- a/plugins/source/tailscale/go.sum +++ b/plugins/source/tailscale/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/terraform/go.mod b/plugins/source/terraform/go.mod index c67a37b99136c1..5ba366c781ca90 100644 --- a/plugins/source/terraform/go.mod +++ b/plugins/source/terraform/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.47 github.com/aws/aws-sdk-go-v2/service/s3 v1.30.0 github.com/aws/aws-sdk-go-v2/service/sts v1.18.0 - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/terraform/go.sum b/plugins/source/terraform/go.sum index e434092ed86dcc..cfe63177691b08 100644 --- a/plugins/source/terraform/go.sum +++ b/plugins/source/terraform/go.sum @@ -78,8 +78,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index e584e9975df266..87ff3022e506d9 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/test go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index 49fe2bc9be0e3a..8787fd966e9ece 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= diff --git a/plugins/source/vercel/go.mod b/plugins/source/vercel/go.mod index 112b565ba49893..b31f82862d7247 100644 --- a/plugins/source/vercel/go.mod +++ b/plugins/source/vercel/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/vercel go 1.19 require ( - github.com/cloudquery/plugin-sdk v1.26.0 + github.com/cloudquery/plugin-sdk v1.27.0 github.com/gorilla/mux v1.8.0 github.com/rs/zerolog v1.28.0 ) diff --git a/plugins/source/vercel/go.sum b/plugins/source/vercel/go.sum index 639978e1c9da9f..143e543c2a5bac 100644 --- a/plugins/source/vercel/go.sum +++ b/plugins/source/vercel/go.sum @@ -40,8 +40,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudquery/plugin-sdk v1.26.0 h1:d1IQzVJmR37aK6E4Hsp2WY+wBhK/R3wbHVeViji0HyE= -github.com/cloudquery/plugin-sdk v1.26.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= +github.com/cloudquery/plugin-sdk v1.27.0 h1:DXuvnBt1gOB98umBZU6jltZEV6oxfsdEBIAbQXFcIx4= +github.com/cloudquery/plugin-sdk v1.27.0/go.mod h1:teMPyCON3uPdMsHvzpSiOg+IK2sOR5Tf9dYLreoURzI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= From d85dcc3789949afb557ac806ad51cd688c9f2e12 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:02:42 +0200 Subject: [PATCH 183/186] chore: Update plugin `source-oracle` version to v1.0.0 (#6859) Updates the `source-oracle` plugin latest version to v1.0.0 --- website/versions/source-oracle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/source-oracle.json b/website/versions/source-oracle.json index 76ee7cf9d382b9..8fe4d306105663 100644 --- a/website/versions/source-oracle.json +++ b/website/versions/source-oracle.json @@ -1 +1 @@ -{"latest": "plugins-source-oracle-v1.0.0" } \ No newline at end of file +{ "latest": "plugins-source-oracle-v1.0.0" } From 1f4d232d75991f9b96b3e1d17b078c1ac7144835 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:09:15 +0200 Subject: [PATCH 184/186] chore(main): Release plugins-destination-bigquery v2.1.1 (#6726) :robot: I have created a release *beep* *boop* --- ## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.1.0...plugins-destination-bigquery-v2.1.1) (2023-01-17) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) --- 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/bigquery/CHANGELOG.md | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 97020bb018f0c6..af0c9c48d7c54d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -37,7 +37,7 @@ "plugins/source/gandi+FILLER": "0.0.0", "plugins/source/datadog": "1.1.0", "plugins/source/datadog+FILLER": "0.0.0", - "plugins/destination/bigquery": "2.1.0", + "plugins/destination/bigquery": "2.1.1", "plugins/destination/bigquery+FILLER": "0.0.0", "plugins/source/tailscale": "1.2.0", "plugins/source/tailscale+FILLER": "0.0.0", diff --git a/plugins/destination/bigquery/CHANGELOG.md b/plugins/destination/bigquery/CHANGELOG.md index e351d08e209b83..48e5f7c797ada6 100644 --- a/plugins/destination/bigquery/CHANGELOG.md +++ b/plugins/destination/bigquery/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.1.0...plugins-destination-bigquery-v2.1.1) (2023-01-17) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) + ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-destination-bigquery-v2.0.4...plugins-destination-bigquery-v2.1.0) (2023-01-10) From a9561078eae6622a2db7bb11a0a72ebabef9ac77 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:10:40 +0200 Subject: [PATCH 185/186] chore(main): Release plugins-destination-mongodb v1.0.6 (#6722) :robot: I have created a release *beep* *boop* --- ## [1.0.6](https://github.com/cloudquery/cloudquery/compare/plugins-destination-mongodb-v1.0.5...plugins-destination-mongodb-v1.0.6) (2023-01-17) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) --- 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/mongodb/CHANGELOG.md | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index af0c9c48d7c54d..f89dd6f621d8cd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -49,7 +49,7 @@ "plugins/source/crowdstrike+FILLER": "0.0.0", "plugins/source/pagerduty": "1.2.0", "plugins/source/pagerduty+FILLER": "0.0.0", - "plugins/destination/mongodb": "1.0.5", + "plugins/destination/mongodb": "1.0.6", "plugins/destination/mongodb+FILLTER": "0.0.0", "plugins/source/gitlab": "2.0.0", "plugins/source/gitlab+FILLER": "0.0.0", diff --git a/plugins/destination/mongodb/CHANGELOG.md b/plugins/destination/mongodb/CHANGELOG.md index e1c1b332adb794..dc68fffad7d571 100644 --- a/plugins/destination/mongodb/CHANGELOG.md +++ b/plugins/destination/mongodb/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [1.0.6](https://github.com/cloudquery/cloudquery/compare/plugins-destination-mongodb-v1.0.5...plugins-destination-mongodb-v1.0.6) (2023-01-17) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) + ## [1.0.5](https://github.com/cloudquery/cloudquery/compare/plugins-destination-mongodb-v1.0.4...plugins-destination-mongodb-v1.0.5) (2023-01-10) From 7d0d832c7e3ada425593bb499617c7d24284ab59 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:14:10 +0200 Subject: [PATCH 186/186] chore(main): Release cli v2.1.1 (#6736) :robot: I have created a release *beep* *boop* --- ## [2.1.1](https://github.com/cloudquery/cloudquery/compare/cli-v2.1.0...cli-v2.1.1) (2023-01-17) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) * **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) --- 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 | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f89dd6f621d8cd..f831e886f1d3f2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,5 +1,5 @@ { - "cli": "2.1.0", + "cli": "2.1.1", "cli+FILLER": "0.0.0", "plugins/source/aws": "11.0.1", "plugins/source/aws+FILLER": "0.0.0", diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 305846958afae2..3c9b2e7cbf48dc 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -5,6 +5,17 @@ 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). +## [2.1.1](https://github.com/cloudquery/cloudquery/compare/cli-v2.1.0...cli-v2.1.1) (2023-01-17) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.24.2 ([#6695](https://github.com/cloudquery/cloudquery/issues/6695)) ([694ab9f](https://github.com/cloudquery/cloudquery/commit/694ab9f3e20473146e3620d7b03bb17eb259d697)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.0 ([#6745](https://github.com/cloudquery/cloudquery/issues/6745)) ([9c41854](https://github.com/cloudquery/cloudquery/commit/9c418547c3bbff97449765e337182230fb5e40d5)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1 ([#6805](https://github.com/cloudquery/cloudquery/issues/6805)) ([9da0ce2](https://github.com/cloudquery/cloudquery/commit/9da0ce283f50410eb9274375ec1d22131a80d937)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0 ([#6839](https://github.com/cloudquery/cloudquery/issues/6839)) ([6ccda8d](https://github.com/cloudquery/cloudquery/commit/6ccda8d0bc6e7ce75f4a64a18911e349ccaac277)) +* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.27.0 ([#6856](https://github.com/cloudquery/cloudquery/issues/6856)) ([545799b](https://github.com/cloudquery/cloudquery/commit/545799bb0481087e187b5f27c88f5dde9c99f2f0)) + ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/cli-v2.0.31...cli-v2.1.0) (2023-01-10)