From e8f59180dded5257daf9e3ea56a890953daebb0e Mon Sep 17 00:00:00 2001 From: Ved misra <47312748+misraved@users.noreply.github.com> Date: Tue, 12 Dec 2023 02:24:03 +0530 Subject: [PATCH] Update table docs (#15) Co-authored-by: Puskar Basu --- .github/workflows/steampipe-anywhere.yml | 14 + README.md | 14 +- docs/LICENSE | 402 ++++++++++++++++++ docs/index.md | 6 +- docs/tables/aiven_account.md | 61 ++- docs/tables/aiven_account_authentication.md | 98 ++++- docs/tables/aiven_account_team.md | 100 ++++- docs/tables/aiven_billing_group.md | 63 ++- docs/tables/aiven_project.md | 81 +++- docs/tables/aiven_project_event_log.md | 77 +++- docs/tables/aiven_project_user.md | 101 ++++- docs/tables/aiven_project_vpc.md | 80 +++- docs/tables/aiven_service.md | 96 ++++- .../aiven_service_integration_endpoint.md | 82 +++- 14 files changed, 1205 insertions(+), 70 deletions(-) create mode 100644 .github/workflows/steampipe-anywhere.yml create mode 100644 docs/LICENSE diff --git a/.github/workflows/steampipe-anywhere.yml b/.github/workflows/steampipe-anywhere.yml new file mode 100644 index 0000000..17986e3 --- /dev/null +++ b/.github/workflows/steampipe-anywhere.yml @@ -0,0 +1,14 @@ +name: Release Steampipe Anywhere Components + +on: + push: + tags: + - 'v*' + + +jobs: + anywhere_publish_workflow: + uses: turbot/steampipe-workflows/.github/workflows/steampipe-anywhere.yml@main + secrets: inherit + with: + plugin: aiven diff --git a/README.md b/README.md index b46664f..244955e 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,18 @@ from +--------------+-------------+-----------------+-----------+ ``` +## Engines + +This plugin is available for the following engines: + +| Engine | Description +|---------------|------------------------------------------ +| [Steampipe](https://steampipe.io/docs) | The Steampipe CLI exposes APIs and services as a high-performance relational database, giving you the ability to write SQL-based queries to explore dynamic data. Mods extend Steampipe's capabilities with dashboards, reports, and controls built with simple HCL. The Steampipe CLI is a turnkey solution that includes its own Postgres database, plugin management, and mod support. +| [Postgres FDW](https://steampipe.io/docs/steampipe_postgres/index) | Steampipe Postgres FDWs are native Postgres Foreign Data Wrappers that translate APIs to foreign tables. Unlike Steampipe CLI, which ships with its own Postgres server instance, the Steampipe Postgres FDWs can be installed in any supported Postgres database version. +| [SQLite Extension](https://steampipe.io/docs//steampipe_sqlite/index) | Steampipe SQLite Extensions provide SQLite virtual tables that translate your queries into API calls, transparently fetching information from your API or service as you request it. +| [Export](https://steampipe.io/docs/steampipe_export/index) | Steampipe Plugin Exporters provide a flexible mechanism for exporting information from cloud services and APIs. Each exporter is a stand-alone binary that allows you to extract data using Steampipe plugins without a database. +| [Turbot Pipes](https://turbot.com/pipes/docs) | Turbot Pipes is the only intelligence, automation & security platform built specifically for DevOps. Pipes provide hosted Steampipe database instances, shared dashboards, snapshots, and more. + ## Developing Prerequisites: @@ -129,7 +141,7 @@ Further reading: ## Contributing -Please see the [contribution guidelines](https://github.com/turbot/steampipe/blob/main/CONTRIBUTING.md) and our [code of conduct](https://github.com/turbot/steampipe/blob/main/CODE_OF_CONDUCT.md). All contributions are subject to the [Apache 2.0 open source license](https://github.com/turbot/steampipe-plugin-aiven/blob/main/LICENSE). +Please see the [contribution guidelines](https://github.com/turbot/steampipe/blob/main/CONTRIBUTING.md) and our [code of conduct](https://github.com/turbot/steampipe/blob/main/CODE_OF_CONDUCT.md). Contributions to the plugin are subject to the [Apache 2.0 open source license](https://github.com/turbot/steampipe-plugin-aiven/blob/main/LICENSE). Contributions to the plugin documentation are subject to the [CC BY-NC-ND license](https://github.com/turbot/steampipe-plugin-aiven/blob/main/docs/LICENSE). `help wanted` issues: diff --git a/docs/LICENSE b/docs/LICENSE new file mode 100644 index 0000000..236ac28 --- /dev/null +++ b/docs/LICENSE @@ -0,0 +1,402 @@ +Attribution-NonCommercial-NoDerivatives 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 +International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial-NoDerivatives 4.0 International Public +License ("Public License"). To the extent this Public License may be +interpreted as a contract, You are granted the Licensed Rights in +consideration of Your acceptance of these terms and conditions, and the +Licensor grants You such rights in consideration of benefits the +Licensor receives from making the Licensed Material available under +these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + c. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + d. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + e. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + f. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + g. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + h. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce and reproduce, but not Share, Adapted Material + for NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material, You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + For the avoidance of doubt, You do not have permission under + this Public License to Share Adapted Material. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only and provided You do not Share Adapted Material; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index e5d6408..7f0b623 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,13 +8,14 @@ short_name: "aiven" description: "Steampipe plugin to query accounts, projects, teams, users and more from Aiven." og_description: "Query Aiven with SQL! Open source CLI. No DB required." og_image: "/images/plugins/turbot/aiven-social-graphic.png" +engines: ["steampipe", "sqlite", "postgres", "export"] --- # Aiven + Steampipe [Aiven](https://aiven.io) is the company that offers the best data infrastructure platform to the world. -[Steampipe](https://steampipe.io) is an open source CLI to instantly query cloud APIs using SQL. +[Steampipe](https://steampipe.io) is an open-source zero-ETL engine to instantly query cloud APIs using SQL. List your Aiven accounts: @@ -135,7 +136,4 @@ connection "aiven" { } ``` -## Get involved -- Open source: https://github.com/turbot/steampipe-plugin-aiven -- Community: [Join #steampipe on Slack →](https://turbot.com/community/join) diff --git a/docs/tables/aiven_account.md b/docs/tables/aiven_account.md index f9fec07..0cff537 100644 --- a/docs/tables/aiven_account.md +++ b/docs/tables/aiven_account.md @@ -1,12 +1,33 @@ -# Table: aiven_account +--- +title: "Steampipe Table: aiven_account - Query Aiven Accounts using SQL" +description: "Allows users to query Aiven Accounts, providing detailed information about each account including its ID, name, owner and creation time." +--- -Aiven account represents organizations and organizational units. When you sign up for Aiven, an organization is created for you. You can use that to create a hierarchical structure that fits your needs. Organizational units can be nested within an organization. This gives you greater flexibility to organize your setup to meet your specific use cases. +# Table: aiven_account - Query Aiven Accounts using SQL + +Aiven Account is a resource within Aiven's cloud-native database management system that represents the account of a user or organization. It provides a centralized way to manage and monitor the usage of various Aiven services, including databases, data pipelines, and more. Aiven Account helps users stay informed about the status and performance of their Aiven resources. + +## Table Usage Guide + +The `aiven_account` table provides insights into Aiven Accounts within Aiven's cloud-native database management system. As a database administrator or DevOps engineer, explore account-specific details through this table, including account ID, name, owner, and creation time. Utilize it to uncover information about accounts, such as their current status, usage of Aiven services, and the management of resources. ## Examples ### Basic info +Explore which Aiven accounts have billing enabled and when they were created to manage and optimize your financial resources effectively. This is useful for assessing cost efficiency and tracking the timeline of account creation. -```sql +```sql+postgres +select + id, + name, + billing_enabled, + create_time, + tenant_id +from + aiven_account; +``` + +```sql+sqlite select id, name, @@ -18,8 +39,9 @@ from ``` ### List accounts with billing enabled +Explore which accounts have billing enabled. This can be useful for financial auditing or to identify accounts that are incurring charges. -```sql +```sql+postgres select id, name, @@ -32,9 +54,23 @@ where billing_enabled; ``` +```sql+sqlite +select + id, + name, + billing_enabled, + create_time, + tenant_id +from + aiven_account +where + billing_enabled = 1; +``` + ### List projects of each account +Uncover the details of each account's projects, including their available credits, default cloud, estimated balance, and payment method. This information can be useful for financial management and resource allocation. -```sql +```sql+postgres select a.name as account_name, p.name as project_name, @@ -48,3 +84,18 @@ from where a.id = p.account_id; ``` + +```sql+sqlite +select + a.name as account_name, + p.name as project_name, + available_credits, + default_cloud, + estimated_balance, + payment_method +from + aiven_account as a, + aiven_project as p +where + a.id = p.account_id; +``` \ No newline at end of file diff --git a/docs/tables/aiven_account_authentication.md b/docs/tables/aiven_account_authentication.md index f8bf2f8..01f932a 100644 --- a/docs/tables/aiven_account_authentication.md +++ b/docs/tables/aiven_account_authentication.md @@ -1,12 +1,34 @@ -# Table: aiven_account_authentication +--- +title: "Steampipe Table: aiven_account_authentication - Query Aiven Account Authentications using SQL" +description: "Allows users to query Aiven Account Authentications, providing insights into the authentication methods used across Aiven accounts." +--- -You can authenticate directly with your email and password in the Aiven Console or use single sign-on through providers like GitHub, Google and Microsoft. You can also set up SAML authentication in Aiven with your company’s favorite authentication service. +# Table: aiven_account_authentication - Query Aiven Account Authentications using SQL + +Aiven Account Authentication is a part of Aiven's account management system that handles the verification of identities and the management of access control. The authentication process ensures that the users are who they claim to be, thus providing a secure environment for data access and manipulation. It plays a crucial role in protecting sensitive data from unauthorized access and potential security threats. + +## Table Usage Guide + +The `aiven_account_authentication` table provides insights into the authentication methods used across Aiven accounts. As a security analyst, you can explore the details of each authentication method through this table, including the type of authentication, its status, and associated metadata. Utilize it to monitor and ensure the security of your Aiven accounts by verifying the authenticity of each user and their access controls. ## Examples ### Basic info +Explore which accounts are active and when they were created to manage access to your resources more effectively. This is useful for maintaining security and ensuring only authorized users have access. -```sql +```sql+postgres +select + id, + name, + enabled, + state, + type, + create_time +from + aiven_account_authentication; +``` + +```sql+sqlite select id, name, @@ -19,8 +41,9 @@ from ``` ### List disabled authentication methods +Uncover the details of disabled authentication methods within your account. This can be useful for identifying potential security risks or areas for improvement within your authentication protocols. -```sql +```sql+postgres select id, name, @@ -34,9 +57,38 @@ where not enabled; ``` +```sql+sqlite +select + id, + name, + enabled, + state, + type, + create_time +from + aiven_account_authentication +where + enabled = 0; +``` + ### List pending authentication methods +Discover the segments that have authentication methods still in the process of being configured. This is useful to ensure all methods are set up correctly and promptly for secure access. -```sql +```sql+postgres +select + id, + name, + enabled, + state, + type, + create_time +from + aiven_account_authentication +where + state = 'pending_configuration'; +``` + +```sql+sqlite select id, name, @@ -51,8 +103,23 @@ where ``` ### List SAML authentication methods +Explore the SAML authentication methods in your Aiven account to determine which are enabled. This can be useful to identify potential security risks and maintain compliance with your organization's authentication policies. + +```sql+postgres +select + id, + name, + enabled, + state, + type, + create_time +from + aiven_account_authentication +where + type = 'saml'; +``` -```sql +```sql+sqlite select id, name, @@ -67,8 +134,9 @@ where ``` ### List expired SAML certificates +Assess the elements within your Aiven account authentication to identify expired SAML certificates. This is useful for maintaining security standards by ensuring all certificates are current and valid. -```sql +```sql+postgres select id, name, @@ -83,3 +151,19 @@ from where now() < saml_certificate_not_valid_after; ``` + +```sql+sqlite +select + id, + name, + enabled, + state, + type, + create_time, + saml_certificate_issuer, + saml_certificate_not_valid_after +from + aiven_account_authentication +where + datetime('now') < saml_certificate_not_valid_after; +``` \ No newline at end of file diff --git a/docs/tables/aiven_account_team.md b/docs/tables/aiven_account_team.md index 23d4086..9d3c168 100644 --- a/docs/tables/aiven_account_team.md +++ b/docs/tables/aiven_account_team.md @@ -1,12 +1,33 @@ -# Table: aiven_account_team +--- +title: "Steampipe Table: aiven_account_team - Query Aiven Account Teams using SQL" +description: "Allows users to query Aiven Account Teams, specifically the details regarding team members, their roles and associated projects." +--- -Teams are specific to a single organization or organizational unit and cannot be shared between them. You can also use teams within organizations or organizational units to control access to projects for a group of users instead of specifying them per project. When you create a team, you choose which projects to associate it to and define the roles. +# Table: aiven_account_team - Query Aiven Account Teams using SQL + +An Aiven Account Team is a group of users within the Aiven platform that have access to certain projects. The team structure allows for easy management of permissions and roles within the platform. Each team can have multiple users and projects associated with it. + +## Table Usage Guide + +The `aiven_account_team` table provides insights into the team structure within Aiven. As a DevOps engineer or a team lead, you can explore team-specific details through this table, including member details, their roles, and associated projects. Use this table to manage and audit team permissions, roles and project associations effectively. ## Examples ### Basic info +Explore which team was created or updated at what time within your Aiven account. This can help you track changes and manage your teams effectively. + +```sql+postgres +select + id, + name, + account_id, + create_time, + update_time +from + aiven_account_team; +``` -```sql +```sql+sqlite select id, name, @@ -18,12 +39,13 @@ from ``` ### List members of the dev team +Identify the members of your development team, including their user IDs and real names, to gain insights into team composition. This can be particularly useful in scenarios where understanding team structure and membership is important for project management or resource allocation. -```sql +```sql+postgres select m ->> 'user_id' as user_id, m ->> 'real_name' as user_name, - id as team_id, + aiven_account_team.id as team_id, name as team_name from aiven_account_team, @@ -32,9 +54,35 @@ where name = 'dev'; ``` +```sql+sqlite +select + json_extract(m.value, '$.user_id') as user_id, + json_extract(m.value, '$.real_name') as user_name, + aiven_account_team.id as team_id, + name as team_name +from + aiven_account_team, + json_each(members) as m +where + name = 'dev'; +``` + ### List teams which are not associated with any project +Determine the teams within an account that are not associated with any projects. This can be useful for identifying unused resources or potential misconfigurations. + +```sql+postgres +select + id as team_id, + name as team_name, + account_id, + create_time +from + aiven_account_team +where + projects = '[]'; +``` -```sql +```sql+sqlite select id as team_id, name as team_name, @@ -47,8 +95,9 @@ where ``` ### List the admins of each account +Discover the segments that have administrative access in each account. This could be useful for auditing purposes, ensuring that only authorized individuals have administrative privileges. -```sql +```sql+postgres select a.name as account_name, m ->> 'user_id' as user_id, @@ -64,13 +113,30 @@ where and t.id = a.owner_team_id; ``` +```sql+sqlite +select + a.name as account_name, + json_extract(m.value, '$.user_id') as user_id, + json_extract(m.value, '$.real_name') as user_name, + t.id as team_id, + t.name as team_name +from + aiven_account as a, + aiven_account_team as t, + json_each(a.members) as m +where + t.account_id = a.id + and t.id = a.owner_team_id; +``` + ### List members who have read_only access to projects +This query is useful for identifying team members who have only read access to certain projects. This can be beneficial in managing user permissions and ensuring that sensitive projects are adequately protected. -```sql +```sql+postgres select m ->> 'user_id' as user_id, m ->> 'real_name' as user_name, - id as team_id, + aiven_account_team.id as team_id, name as team_name, p ->> 'project_name' as project_name, p ->> 'team_type' as team_type @@ -81,3 +147,19 @@ from where p ->> 'team_type' = 'read_only'; ``` + +```sql+sqlite +select + json_extract(m.value, '$.user_id') as user_id, + json_extract(m.value, '$.real_name') as user_name, + aiven_account_team.id as team_id, + name as team_name, + json_extract(p.value, '$.project_name') as project_name, + json_extract(p.value, '$.team_type') as team_type +from + aiven_account_team, + json_each(members) as m, + json_each(projects) as p +where + json_extract(p.value, '$.team_type') = 'read_only'; +``` \ No newline at end of file diff --git a/docs/tables/aiven_billing_group.md b/docs/tables/aiven_billing_group.md index 6c02d96..beea73e 100644 --- a/docs/tables/aiven_billing_group.md +++ b/docs/tables/aiven_billing_group.md @@ -1,12 +1,34 @@ -# Table: aiven_billing_group +--- +title: "Steampipe Table: aiven_billing_group - Query Aiven Billing Groups using SQL" +description: "Allows users to query Billing Groups on Aiven, specifically the details of each billing group, providing insights into their configurations and usage." +--- -Billing groups let you to set up common billing profiles in an organization that can then be used for any projects within that organization. This includes projects in organizational units under that organization. So, instead of entering the payment information every time you create a project, you can use the information saved in the billing group. +# Table: aiven_billing_group - Query Aiven Billing Groups using SQL + +Aiven Billing Groups are a feature that allows users to manage their Aiven services' billing under a single entity. It enables users to group their services together for easier invoicing and cost allocation. Billing Groups can be utilized across multiple projects, providing flexibility in managing costs and resources. + +## Table Usage Guide + +The `aiven_billing_group` table provides insights into Billing Groups within Aiven. As a financial analyst or a DevOps engineer, explore details of each billing group through this table, including their configurations, associated services, and usage. Utilize it to uncover information about billing groups, such as their costs, associated projects, and the allocation of resources. ## Examples ### Basic info +Explore which billing groups are associated with specific accounts and cards. This can be useful for understanding the financial structure of your organization and managing costs effectively. + +```sql+postgres +select + id, + billing_group_name, + account_id, + card_id, + billing_currency, + city +from + aiven_billing_group; +``` -```sql +```sql+sqlite select id, billing_group_name, @@ -19,8 +41,24 @@ from ``` ### Get billing group information for each project +Explore which billing groups are associated with each project to better manage and understand your organization's financial landscape. This is useful for financial planning, cost allocation, and understanding the overall billing structure of your projects. + +```sql+postgres +select + g.id as billing_group_id, + g.billing_group_name, + p.name as project_name, + state, + card_id, + company +from + aiven_billing_group as g, + aiven_project as p +where + g.id = p.billing_group_id; +``` -```sql +```sql+sqlite select g.id as billing_group_id, g.billing_group_name, @@ -36,8 +74,9 @@ where ``` ### Get billing group information for a specific company +Analyze the billing group details for a specific company to gain insights into the billing currency and location. This can be useful for financial planning and geographical analysis. -```sql +```sql+postgres select id, billing_group_name, @@ -50,3 +89,17 @@ from where company = 'Dunder Mifflin'; ``` + +```sql+sqlite +select + id, + billing_group_name, + account_id, + card_id, + billing_currency, + city +from + aiven_billing_group +where + company = 'Dunder Mifflin'; +``` \ No newline at end of file diff --git a/docs/tables/aiven_project.md b/docs/tables/aiven_project.md index 269561a..c10e62f 100644 --- a/docs/tables/aiven_project.md +++ b/docs/tables/aiven_project.md @@ -1,12 +1,34 @@ -# Table: aiven_project +--- +title: "Steampipe Table: aiven_project - Query Aiven Projects using SQL" +description: "Allows users to query Aiven Projects, providing access to details about each project such as its ID, name, and the time it was created." +--- -Projects are collections of services and user permissions. Each project must have a unique name within an organization. You can group your services however you see fit. +# Table: aiven_project - Query Aiven Projects using SQL + +Aiven Projects encapsulate a collection of services and are the main level of separation between different environments within Aiven. They provide a way to manage access controls and billing where the cost of all services under a project are combined into a single invoice. Aiven Projects are essential for managing and organizing resources in Aiven. + +## Table Usage Guide + +The `aiven_project` table provides insights into projects within Aiven. As a cloud engineer, explore project-specific details through this table, including the project's ID, name, and creation time. Utilize it to manage and organize your resources effectively within Aiven. ## Examples ### Basic info +Explore which Aiven projects have available credits and their estimated balances. This can be useful to manage budgets, by identifying which projects are nearing their credit limit and may require additional funding or cost control measures. + +```sql+postgres +select + name, + account_id, + available_credits, + default_cloud, + estimated_balance, + payment_method +from + aiven_project; +``` -```sql +```sql+sqlite select name, account_id, @@ -19,8 +41,9 @@ from ``` ### List projects with estimated bill greater than 50 USD +Explore which projects have an estimated bill greater than 50 USD to monitor and manage your budget effectively. This allows you to assess your financial commitments and plan for future expenses. -```sql +```sql+postgres select name, account_id, @@ -34,9 +57,40 @@ where estimated_balance::float > 50; ``` +```sql+sqlite +select + name, + account_id, + available_credits, + default_cloud, + estimated_balance, + payment_method +from + aiven_project +where + CAST(estimated_balance AS REAL) > 50; +``` + ### List projects where services are not running +Explore which projects have services that are not currently operational. This can help in identifying potential issues and ensuring all services are running as expected. -```sql +```sql+postgres +select + p.name as project_name, + account_id, + available_credits, + default_cloud, + estimated_balance, + payment_method +from + aiven_project as p, + aiven_service as s +where + p.name = s.project_name + and s.state <> 'RUNNING'; +``` + +```sql+sqlite select p.name as project_name, account_id, @@ -53,8 +107,9 @@ where ``` ### List projects where default cloud provider is aws +Discover the projects that have AWS as their default cloud provider. This can be useful to assess the distribution of your projects across different cloud platforms. -```sql +```sql+postgres select name, account_id, @@ -67,3 +122,17 @@ from where default_cloud like 'aws%'; ``` + +```sql+sqlite +select + name, + account_id, + available_credits, + default_cloud, + estimated_balance, + payment_method +from + aiven_project +where + default_cloud like 'aws%'; +``` \ No newline at end of file diff --git a/docs/tables/aiven_project_event_log.md b/docs/tables/aiven_project_event_log.md index eecf217..4a3883b 100644 --- a/docs/tables/aiven_project_event_log.md +++ b/docs/tables/aiven_project_event_log.md @@ -1,12 +1,33 @@ -# Table: aiven_project_event_log +--- +title: "Steampipe Table: aiven_project_event_log - Query Aiven Project Event Logs using SQL" +description: "Allows users to query Aiven Project Event Logs, specifically the event history and related details of cloud projects, providing insights into project activities and potential issues." +--- -Information about the events that have occurred in a project. +# Table: aiven_project_event_log - Query Aiven Project Event Logs using SQL + +Aiven Project Event Log is a resource within Aiven that allows you to monitor and track the history of events related to your cloud projects. It provides a detailed log of all project activities, including changes made, errors occurred, and actions taken. Aiven Project Event Log helps you stay informed about the status and performance of your projects and take appropriate actions when required. + +## Table Usage Guide + +The `aiven_project_event_log` table provides insights into the event logs within Aiven Project. As a DevOps engineer, explore event-specific details through this table, including event type, time, and associated metadata. Utilize it to uncover information about project activities, such as the changes made, errors occurred, and actions taken, to maintain the health and performance of your projects. ## Examples ### Basic info +Explore which events occurred in your project, who performed them, and when. This allows you to track changes and maintain a comprehensive log of project activities. + +```sql+postgres +select + actor, + event_desc, + event_type, + project_name, + time +from + aiven_project_event_log; +``` -```sql +```sql+sqlite select actor, event_desc, @@ -18,8 +39,23 @@ from ``` ### Get user who deleted the service redis-turbot +Discover who was responsible for removing a specific service, in this case 'redis-turbot', by exploring the event logs. This can be particularly useful for auditing purposes or for troubleshooting when a service unexpectedly disappears. -```sql +```sql+postgres +select + actor, + event_desc, + event_type, + project_name, + time +from + aiven_project_event_log +where + service_name = 'redis-turbot' + and event_type = 'service_delete'; +``` + +```sql+sqlite select actor, event_desc, @@ -34,8 +70,9 @@ where ``` ### List users who created service integration in last 7 days +Explore which users have established a new service integration within the past week. This is particularly useful to monitor recent system changes and maintain security compliance. -```sql +```sql+postgres select actor, event_desc, @@ -49,9 +86,24 @@ where and time >= (now() - interval '7' day) ; ``` +```sql+sqlite +select + actor, + event_desc, + event_type, + project_name, + time +from + aiven_project_event_log +where + event_type = 'service_integration_create' + and time >= datetime('now', '-7 day') ; +``` + ### List users who powered down the services +Identify instances where users have powered down services, providing valuable insights into project management and service usage patterns. -```sql +```sql+postgres select actor, event_desc, @@ -63,3 +115,16 @@ from where event_type = 'service_poweroff'; ``` + +```sql+sqlite +select + actor, + event_desc, + event_type, + project_name, + time +from + aiven_project_event_log +where + event_type = 'service_poweroff'; +``` \ No newline at end of file diff --git a/docs/tables/aiven_project_user.md b/docs/tables/aiven_project_user.md index 7729ec1..3f7d532 100644 --- a/docs/tables/aiven_project_user.md +++ b/docs/tables/aiven_project_user.md @@ -1,12 +1,35 @@ -# Table: aiven_project_user +--- +title: "Steampipe Table: aiven_project_user - Query Aiven Project Users using SQL" +description: "Allows users to query Aiven Project Users, providing detailed information about each user associated with a specific project." +--- -Represents a user who has accepted membership in a project. +# Table: aiven_project_user - Query Aiven Project Users using SQL + +An Aiven Project User is a user that has been granted access to a specific project within the Aiven platform. This user has certain permissions and roles within the project, which can include managing services, viewing billing information, and modifying project settings. Each user is associated with an email address, which is used as their unique identifier within the project. + +## Table Usage Guide + +The `aiven_project_user` table provides insights into users within Aiven Projects. As a project manager or system administrator, explore user-specific details through this table, such as their email, access control rights, and associated metadata. Utilize it to uncover information about users, such as their permissions within a project, to ensure proper access control and security measures are in place. ## Examples ### Basic info +Explore which team members are associated with different projects in your organization. This can help in understanding the distribution of resources and roles within your projects. + +```sql+postgres +select + email, + real_name, + billing_contact, + member_type, + project_name, + create_time, + team_name +from + aiven_project_user; +``` -```sql +```sql+sqlite select email, real_name, @@ -20,8 +43,24 @@ from ``` ### List users of the turbot project +Explore which team members are part of the 'turbot' project. This can help in understanding the composition of the project team, including their roles and whether they are a billing contact. -```sql +```sql+postgres +select + email, + real_name, + billing_contact, + member_type, + project_name, + create_time, + team_name +from + aiven_project_user +where + project_name = 'turbot'; +``` + +```sql+sqlite select email, real_name, @@ -37,8 +76,9 @@ where ``` ### List users with admin access in projects +Discover the segments that have users with administrative access in various projects. This is beneficial for understanding project control distribution and identifying potential security risks. -```sql +```sql+postgres select email, real_name, @@ -53,9 +93,26 @@ where member_type = 'admin'; ``` +```sql+sqlite +select + email, + real_name, + billing_contact, + member_type, + project_name, + create_time, + team_name +from + aiven_project_user +where + member_type = 'admin'; +``` + + ### List users with no billing contact +Gain insights into the accounts where no billing contact has been assigned to the user. This is beneficial for identifying potential gaps in account management and ensuring all users have appropriate billing contacts. -```sql +```sql+postgres select email, real_name, @@ -70,9 +127,25 @@ where not billing_contact; ``` +```sql+sqlite +select + email, + real_name, + billing_contact, + member_type, + project_name, + create_time, + team_name +from + aiven_project_user +where + billing_contact = 0; +``` + ### List users who are not part of any team +Explore which users are not associated with any team, enabling you to identify potential areas of resource reallocation or team restructuring. This is particularly useful in assessing the overall distribution of users within your project. -```sql +```sql+postgres select email, real_name, @@ -85,3 +158,17 @@ from where team_name = ''; ``` + +```sql+sqlite +select + email, + real_name, + billing_contact, + member_type, + project_name, + create_time +from + aiven_project_user +where + team_name = ''; +``` \ No newline at end of file diff --git a/docs/tables/aiven_project_vpc.md b/docs/tables/aiven_project_vpc.md index d3dea6c..bb537ec 100644 --- a/docs/tables/aiven_project_vpc.md +++ b/docs/tables/aiven_project_vpc.md @@ -1,12 +1,33 @@ -# Table: aiven_project_vpc +--- +title: "Steampipe Table: aiven_project_vpc - Query Aiven Project VPCs using SQL" +description: "Allows users to query Aiven Project Virtual Private Clouds (VPCs), providing insights into project-specific VPCs and their configurations." +--- -Represents virtual network in Projects. +# Table: aiven_project_vpc - Query Aiven Project VPCs using SQL + +Aiven Project VPC is a resource within the Aiven platform that allows users to create and manage their own Virtual Private Clouds (VPCs) for their projects. These VPCs provide isolated network environments where users can run their Aiven services, ensuring network security and resource isolation. With Aiven Project VPCs, users have full control over their network environments, including IP range configuration, cloud region selection, and peering connections with other VPCs. + +## Table Usage Guide + +The `aiven_project_vpc` table provides insights into the Virtual Private Clouds (VPCs) within Aiven projects. As a DevOps engineer, you can explore VPC-specific details through this table, including cloud region, IP range, and peering connections. Utilize it to manage and optimize your network environments, ensuring security and resource isolation for your Aiven services. ## Examples ### Basic info +Explore which projects are active or inactive in your cloud network, and gain insights into their respective network configurations. This information can be useful to manage and optimize your network resources effectively. -```sql +```sql+postgres +select + project_vpc_id, + project_name, + state, + cloud_name, + network_cidr +from + aiven_project_vpc; +``` + +```sql+sqlite select project_vpc_id, project_name, @@ -18,8 +39,9 @@ from ``` ### List VPCs with public CIDR blocks +Discover the segments that include VPCs with public CIDR blocks. This can be useful in identifying potential security risks, as these VPCs are not within the private IP address ranges typically used for internal network traffic. -```sql +```sql+postgres select project_vpc_id, project_name, @@ -34,9 +56,27 @@ where and not network_cidr <<= '172.16.0.0/12'; ``` +```sql+sqlite +Error: SQLite does not support CIDR operations. +``` + ### List VPCs which are not active +Discover the segments that are not currently active within your Virtual Private Clouds (VPCs). This can be useful in identifying inactive resources that could be cleaned up to improve efficiency and reduce costs. -```sql +```sql+postgres +select + project_vpc_id, + project_name, + state, + cloud_name, + network_cidr +from + aiven_project_vpc +where + state <> 'ACTIVE'; +``` + +```sql+sqlite select project_vpc_id, project_name, @@ -50,8 +90,9 @@ where ``` ### List VPCs which have invalid peering connections +Explore which Virtual Private Clouds (VPCs) have invalid peering connections to identify potential network issues and ensure efficient data transfer across your projects. This is particularly useful for maintaining secure and reliable network communication within your organization. -```sql +```sql+postgres select project_vpc_id, project_name, @@ -64,9 +105,23 @@ where c ->> 'state' = 'INVALID_SPECIFICATION'; ``` +```sql+sqlite +select + project_vpc_id, + project_name, + state, + network_cidr +from + aiven_project_vpc, + json_each(peering_connections) as c +where + json_extract(c.value, '$.state') = 'INVALID_SPECIFICATION'; +``` + ### Get VPC peering connection information of each project +Discover the status and details of Virtual Private Cloud (VPC) peering connections across different projects. This information can be used to understand network configurations and ensure secure and efficient data transfer between projects. -```sql +```sql+postgres select project_vpc_id, project_name, @@ -76,3 +131,14 @@ select from aiven_project_vpc; ``` + +```sql+sqlite +select + project_vpc_id, + project_name, + state, + network_cidr, + peering_connections +from + aiven_project_vpc; +``` \ No newline at end of file diff --git a/docs/tables/aiven_service.md b/docs/tables/aiven_service.md index 8f418cb..4f4bfe5 100644 --- a/docs/tables/aiven_service.md +++ b/docs/tables/aiven_service.md @@ -1,12 +1,34 @@ -# Table: aiven_service +--- +title: "Steampipe Table: aiven_service - Query Aiven Cloud Services using SQL" +description: "Allows users to query Aiven Cloud Services, specifically the details of various services provided by Aiven, offering insights into service configurations, plan details, and status." +--- -Provides different Aiven services information. +# Table: aiven_service - Query Aiven Cloud Services using SQL + +Aiven Cloud Services is a comprehensive platform that offers managed open-source data technologies, including databases, message queues, and search engines. It allows users to deploy and manage these technologies on a variety of cloud platforms, providing flexibility and scalability. Aiven Cloud Services is designed to handle the complexity of managing and maintaining these technologies, enabling users to focus on their core business. + +## Table Usage Guide + +The `aiven_service` table provides insights into the services offered within Aiven Cloud Services. As a DevOps engineer or a cloud architect, explore service-specific details through this table, including service configurations, plan details, and current status. Utilize it to manage and monitor your Aiven services, ensuring optimal configuration and performance. ## Examples ### Basic info +Analyze the settings to understand the status and type of each project within your Aiven service. This can help you assess the overall health of your projects and plan accordingly. + +```sql+postgres +select + name, + project_name, + state, + plan, + type, + create_time +from + aiven_service; +``` -```sql +```sql+sqlite select name, project_name, @@ -19,8 +41,23 @@ from ``` ### List premium services +Explore which services are categorized as premium in your project. This can help prioritize resource allocation and understand the cost structure better. + +```sql+postgres +select + name, + project_name, + state, + plan, + type, + create_time +from + aiven_service +where + plan like 'Premium%'; +``` -```sql +```sql+sqlite select name, project_name, @@ -35,8 +72,23 @@ where ``` ### List services which are not running +Identify instances where certain services are not currently operational. This is useful in pinpointing areas for troubleshooting or optimizing system performance. + +```sql+postgres +select + name, + project_name, + state, + plan, + type, + create_time +from + aiven_service +where + state <> 'RUNNING'; +``` -```sql +```sql+sqlite select name, project_name, @@ -51,8 +103,9 @@ where ``` ### List services with termination protection disabled +Determine the areas in which services have termination protection disabled. This is useful in identifying potential vulnerabilities and ensuring all services are adequately protected. -```sql +```sql+postgres select name, project_name, @@ -66,9 +119,24 @@ where not termination_protection; ``` +```sql+sqlite +select + name, + project_name, + state, + plan, + type, + create_time +from + aiven_service +where + termination_protection = 0; +``` + ### List services with target cloud provider aws +Explore services hosted on AWS by examining their names, project affiliations, states, plans, types, and creation times. This helps in managing and monitoring services specific to AWS, aiding in efficient resource allocation and project planning. -```sql +```sql+postgres select name, project_name, @@ -81,3 +149,17 @@ from where cloud_name like 'aws%'; ``` + +```sql+sqlite +select + name, + project_name, + state, + plan, + type, + create_time +from + aiven_service +where + cloud_name like 'aws%'; +``` \ No newline at end of file diff --git a/docs/tables/aiven_service_integration_endpoint.md b/docs/tables/aiven_service_integration_endpoint.md index 55f9a1b..b13cbef 100644 --- a/docs/tables/aiven_service_integration_endpoint.md +++ b/docs/tables/aiven_service_integration_endpoint.md @@ -1,12 +1,32 @@ -# Table: aiven_service_integration_endpoint +--- +title: "Steampipe Table: aiven_service_integration_endpoint - Query Aiven Service Integration Endpoints using SQL" +description: "Allows users to query Aiven Service Integration Endpoints, specifically the details of each integration endpoint within a project." +--- -Aiven supports integrating with a number of external systems. In order to connect your Aiven service with an external system you will need to define the endpoint. +# Table: aiven_service_integration_endpoint - Query Aiven Service Integration Endpoints using SQL + +Aiven Service Integration Endpoint is a feature within Aiven that allows you to connect Aiven services with external systems. It provides a centralized way to manage and configure connections for various Aiven resources, including databases, caches, and more. Aiven Service Integration Endpoint helps you establish secure and reliable connections between Aiven services and your external systems. + +## Table Usage Guide + +The `aiven_service_integration_endpoint` table provides insights into service integration endpoints within Aiven. As a DevOps engineer, explore endpoint-specific details through this table, including endpoint configurations, related services, and associated metadata. Utilize it to uncover information about endpoints, such as their configuration details, the services they connect to, and the status of these connections. ## Examples ### Basic info +Discover the segments that are linked to different project names and endpoint types. This can be useful in managing and organizing your service integration endpoints effectively. -```sql +```sql+postgres +select + endpoint_id, + endpoint_name, + project_name, + endpoint_type +from + aiven_service_integration_endpoint; +``` + +```sql+sqlite select endpoint_id, endpoint_name, @@ -17,8 +37,21 @@ from ``` ### List external service integration endpoints +Explore which external services are integrated with your project. This helps you maintain an overview of your project's dependencies and interactions. -```sql +```sql+postgres +select + endpoint_id, + endpoint_name, + project_name, + endpoint_type +from + aiven_service_integration_endpoint +where + endpoint_type like 'external%'; +``` + +```sql+sqlite select endpoint_id, endpoint_name, @@ -31,8 +64,9 @@ where ``` ### List service integration endpoints which are not associated to any service +Discover the segments that consist of service integration endpoints which are not linked to any service. This is beneficial in identifying unused resources, thereby aiding in efficient resource management and cost optimization. -```sql +```sql+postgres select endpoint_id, endpoint_name, @@ -57,9 +91,35 @@ where ); ``` +```sql+sqlite +select + endpoint_id, + endpoint_name, + project_name, + endpoint_type +from + aiven_service_integration_endpoint +where + endpoint_id not in + ( + select + json_extract(i.value, '$.source_endpoint_id') as endpoint_id + from + aiven_service, + json_each(integrations) as i + union + select + json_extract(i.value, '$.dest_endpoint_id') as endpoint_id + from + aiven_service, + json_each(integrations) as i + ); +``` + ### List service integration endpoint settings +Explore the configuration details of service integration endpoints to understand their types and user settings. This can be useful to assess the elements within your service integration and identify potential areas for optimization or troubleshooting. -```sql +```sql+postgres select endpoint_id, endpoint_name, @@ -68,3 +128,13 @@ select from aiven_service_integration_endpoint; ``` + +```sql+sqlite +select + endpoint_id, + endpoint_name, + endpoint_type, + user_config +from + aiven_service_integration_endpoint; +``` \ No newline at end of file