From e27de790d71707eaf49321a9b659fc89f3b4c533 Mon Sep 17 00:00:00 2001 From: misraved Date: Thu, 30 Nov 2023 23:41:06 +0530 Subject: [PATCH 01/10] Improve table docs --- docs/tables/godaddy_certificate.md | 18 +++- docs/tables/godaddy_dns_record.md | 21 ++++- docs/tables/godaddy_domain.md | 24 ++++- docs/tables/godaddy_order.md | 140 ++-------------------------- docs/tables/godaddy_shopper.md | 16 +++- docs/tables/godaddy_subscription.md | 26 +++++- 6 files changed, 96 insertions(+), 149 deletions(-) diff --git a/docs/tables/godaddy_certificate.md b/docs/tables/godaddy_certificate.md index 86f74cc..879fceb 100644 --- a/docs/tables/godaddy_certificate.md +++ b/docs/tables/godaddy_certificate.md @@ -1,12 +1,20 @@ -# Table: godaddy_certificate +--- +title: "Steampipe Table: godaddy_certificate - Query GoDaddy Certificates using SQL" +description: "Allows users to query GoDaddy Certificates, specifically providing information about the certificate's common name, issuer, serial number, and validity period." +--- -GoDaddy is a popular Certificate Authority (CA) that issues digital certificates for websites and other online services. These certificates provide a secure communication channel between users and websites by encrypting the data being transmitted. GoDaddy issues various types of certificates, including Domain Validated (DV), Organization Validated (OV), and Extended Validation (EV) certificates, depending on the level of validation required by the user. These certificates have varying levels of trust and security features, and they can be used for a range of purposes, including securing e-commerce transactions, protecting sensitive information, and establishing a trustworthy online presence. Overall, GoDaddy certificates play a critical role in online security, helping to safeguard sensitive data and build trust between businesses and their customers. +# Table: godaddy_certificate - Query GoDaddy Certificates using SQL -Note: To query this table you must provide a valid `certificate_id` in the `where` clause. +GoDaddy Certificate is a digital certificate used to secure websites and enable HTTPS. These certificates are issued by GoDaddy, a popular web hosting company and domain registrar. GoDaddy Certificates provide encryption, data integrity, and authentication, ensuring secure communication between a client and the server. + +## Table Usage Guide + +The `godaddy_certificate` table provides insights into GoDaddy Certificates. As a security analyst, you can leverage this table to gather detailed information about each certificate, including its common name, issuer, serial number, and validity period. This can aid in managing and monitoring the security of your web applications and services hosted on GoDaddy. ## Examples ### Basic info +Discover the segments that are related to a specific GoDaddy certificate. This query can be used to gain insights into the status, validity period, and revocation details of a certificate, which is beneficial for managing and tracking your SSL certificates. ```sql select @@ -27,6 +35,7 @@ where ``` ### List of revoked certificates +Discover the segments that contain revoked certificates to maintain the security and integrity of your network. This can be particularly useful in identifying potential vulnerabilities or malicious activities. ```sql select @@ -45,6 +54,7 @@ where ``` ### Get contact details of a specific certificate +This query is used to gather detailed contact information related to a specific certificate from GoDaddy. This can be particularly useful when you need to reach out to the certificate holder for any updates or issues. ```sql select @@ -59,4 +69,4 @@ from godaddy_certificate where certificate_id = '14a42b6a799d4985b5c5e5e5f5d4249b'; -``` +``` \ No newline at end of file diff --git a/docs/tables/godaddy_dns_record.md b/docs/tables/godaddy_dns_record.md index fd5cf9d..89f8f5b 100644 --- a/docs/tables/godaddy_dns_record.md +++ b/docs/tables/godaddy_dns_record.md @@ -1,12 +1,20 @@ -# Table: godaddy_dns_record +--- +title: "Steampipe Table: godaddy_dns_record - Query GoDaddy DNS Records using SQL" +description: "Allows users to query GoDaddy DNS Records, providing a complete overview of all the DNS records associated with the user's domain." +--- -GoDaddy is a popular web hosting and domain registrar company that offers various subscription plans for individuals and businesses. A DNS record in GoDaddy specifies the mapping between a domain name and an IP address or other information. DNS records are used to translate human-friendly domain names, such as example.com, into machine-readable IP addresses, such as 192.0.2.1, that are used to route traffic over the internet. Different types of DNS records serve different purposes, such as mapping a domain name to an IP address (A record), specifying a mail server for the domain (MX record), or defining aliases for the domain (CNAME record). +# Table: godaddy_dns_record - Query GoDaddy DNS Records using SQL -**Note**: To filter the resource using `name`; you must set `type` in the where clause. +GoDaddy DNS Records are a critical part of the GoDaddy domain hosting service. They allow users to control the domain's email settings, website location, and other important aspects of their internet presence. By managing DNS records, users can direct web traffic to their desired location, configure email routing, and ensure secure and reliable operation of their domain. + +## Table Usage Guide + +The `godaddy_dns_record` table provides insights into DNS records within GoDaddy's domain hosting service. As a network administrator or website owner, explore specific details through this table, including record type, name, and data. Utilize it to manage and monitor your DNS records, ensuring your domain's web traffic and email routing are correctly configured and operating as intended. ## Examples ### Basic info +Explore which domain names are associated with your GoDaddy DNS records. This query can help you gain insights into your DNS configuration, including the protocol and type of each record, which could be beneficial for managing and troubleshooting your network. ```sql select @@ -21,6 +29,7 @@ from ``` ### List all DNS records for a specific domain name +Explore all DNS records associated with a specific domain name. This can be useful for understanding and managing the various services and protocols tied to your domain. ```sql select @@ -37,6 +46,7 @@ where ``` ### List all DNS records of a specific type for a specific domain name +Determine the specific DNS records associated with a particular domain name. This query can be used to gain insights into the configuration and settings of a domain, which can be beneficial for troubleshooting or optimization purposes. ```sql select @@ -54,6 +64,7 @@ where ``` ### List all DNS records with a TTL less than or equal to a certain value +Explore DNS records that have a time-to-live (TTL) value of 3600 seconds or less. This can be useful for identifying domains that may require frequent updates or are more susceptible to potential caching issues. ```sql select @@ -71,6 +82,7 @@ where ``` ### List all DNS records with a specific data value +Explore DNS records that are associated with a specific IP address. This is useful for identifying potential anomalies or inconsistencies in your DNS configuration. ```sql select @@ -88,6 +100,7 @@ where ``` ### List all DNS records with a specific priority value +Determine the areas in which DNS records have been assigned a specific priority value. This is useful for assessing the configuration of your domain names and ensuring that the most important records have the correct priority level. ```sql select @@ -102,4 +115,4 @@ from godaddy_dns_record where priority = '10'; -``` +``` \ No newline at end of file diff --git a/docs/tables/godaddy_domain.md b/docs/tables/godaddy_domain.md index 68aa0f3..e807423 100644 --- a/docs/tables/godaddy_domain.md +++ b/docs/tables/godaddy_domain.md @@ -1,10 +1,20 @@ -# Table: godaddy_domain +--- +title: "Steampipe Table: godaddy_domain - Query GoDaddy Domains using SQL" +description: "Allows users to query Domains in GoDaddy, specifically the domain name, status, and expiration date, providing insights into domain management and potential renewals." +--- -GoDaddy is a popular domain name registrar and web hosting company that allows individuals and businesses to register domain names for their websites. A domain name is an address that people use to access your website on the internet, and GoDaddy offers a wide variety of domain extensions to choose from, such as .com, .org, .net, and many others in addition to domain registration. +# Table: godaddy_domain - Query GoDaddy Domains using SQL + +GoDaddy is a popular web hosting and domain registrar company. Domains in GoDaddy represent the unique web addresses or URLs purchased by users. These domains are essential for establishing an online presence, and their management includes details such as domain name, status, and expiration date. + +## Table Usage Guide + +The `godaddy_domain` table provides insights into Domains within GoDaddy. As a Web Administrator, explore domain-specific details through this table, including domain name, status, and expiration date. Use it to manage your domains effectively, such as those nearing expiration, and to stay ahead of domain renewals. ## Examples ### Basic info +Gain insights into the creation, deletion, and expiration timelines of domains. This can be useful for managing domain lifecycles and identifying when domains are eligible for transfer. ```sql select @@ -19,6 +29,7 @@ from ``` ### List domains that have privacy protection enabled +Determine the areas in which domains have privacy protection enabled. This can be useful for assessing the security measures in place and ensuring the safeguarding of sensitive information. ```sql select @@ -34,6 +45,7 @@ where ``` ### List domains that are locked +Identify domains that have been locked, which can be useful for maintaining security and control over domain ownership and transfers. ```sql select @@ -48,6 +60,7 @@ where ``` ### List renewable domains +Explore which domains are renewable to manage and maintain your online presence efficiently. This is beneficial for planning renewals in advance and avoiding unexpected expiration of important domains. ```sql select @@ -62,6 +75,7 @@ where ``` ### List inactive domains +Discover the segments that consist of inactive domains, which can help in identifying those that are not currently in use or have expired. This information can be beneficial for domain management, enabling you to assess the status of your domains and take necessary actions such as renewals or transfers. ```sql select @@ -77,6 +91,7 @@ where ``` ### List domains that are eligible for transfer at the moment +Explore domains that are currently eligible for transfer. This query can be used to assess which domains can be moved away from their current registrar, providing insights for strategic domain management. ```sql select @@ -92,6 +107,7 @@ where ``` ### List domains that will expire after a particular date +Discover the segments that have domain registrations set to expire after a specific date. This is useful for planning renewals and preventing accidental domain loss. ```sql select @@ -107,6 +123,7 @@ where ``` ### List domains created in the last 30 days +Explore which domains have been established in the recent month. This can be useful for monitoring the creation of new domains and ensuring they are properly protected and registered. ```sql select @@ -123,6 +140,7 @@ where ``` ### Get nameservers of each domain +Discover the nameservers associated with each domain to better understand your domain's configuration and manage DNS settings more effectively. This can be particularly useful in identifying potential issues or inconsistencies in your DNS setup. ```sql select @@ -135,6 +153,7 @@ from ``` ### Get domain admin contact details of each domain +Discover the contact details for the administrators of each domain, including their job title, name, organization, and mailing address. This information is useful for direct communication with the domain admin or for auditing purposes. ```sql select @@ -153,6 +172,7 @@ from ``` ### Get verification details of each domain +Explore the verification status of each domain to understand which domains have completed the verification process and which are still pending. This can be useful in maintaining domain authenticity and ensuring all domains are verified as per the requirements. ```sql select diff --git a/docs/tables/godaddy_order.md b/docs/tables/godaddy_order.md index d2969dd..14ab36e 100644 --- a/docs/tables/godaddy_order.md +++ b/docs/tables/godaddy_order.md @@ -1,136 +1,12 @@ -# Table: godaddy_order +--- +title: "Steampipe Table: godaddy_order - Query GoDaddy Orders using SQL" +description: "Allows users to query GoDaddy Orders, providing comprehensive details about each order placed." +--- -The Order feature of GoDaddy is an API that allows developers to programmatically manage domain name orders and other related products. +# Table: godaddy_order - Query GoDaddy Orders using SQL -### Basic info +GoDaddy is a widely used domain registrar and web hosting company. It offers a variety of services including domain registration, website hosting, and email hosting. An order in GoDaddy represents a transaction for purchasing one or more of these services. -```sql -select - order_id, - currency, - created_at, - domain_name, - parent_order_id -from - godaddy_order; -``` +## Table Usage Guide -### Get the total amount paid for all orders - -```sql -select - order_id, - SUM((pricing ->> 'Total')::numeric) as total_paid -from - godaddy_order -group by - order_id; -``` - -### Count the number of orders created per month - -```sql -select - order_id, - date_trunc('month', created_at) as month, - count(*) as num_orders -from - godaddy_order -group by - order_id, - created_at; -``` - -### List orders by parent order ID - -```sql -select - order_id, - parent_order_id, - domain_name -from - godaddy_order -where - parent_order_id = '12345'; -``` - -### Get line item details of each order - -```sql -select - order_id, - i -> 'Domains' as domains, - i -> 'Period' as period, - i ->> 'PeriodUnit' as period_unit, - i -> 'Pfid' as pfid, - i -> 'Quantity' as quantity, - i -> 'TaxCollector' ->> 'TaxCollectorID' as tax_collector_id -from - godaddy_order, - jsonb_array_elements(items) as i; -``` - -### Get pricing details of an order - -```sql -select - order_id, - domain_name, - pricing ->> 'Discount' as discount, - pricing -> 'Fees' as fees, - pricing ->> 'ID' as pricing_id, - pricing ->> 'List' as pricing_list, - pricing ->> 'Savings' as savings, - pricing ->> 'Subtotal' as subtotal, - pricing ->> 'Taxes' as taxes, - pricing -> 'TaxDetails' as tax_details, - pricing ->> 'Total' as total -from - godaddy_order -where - order_id = '123456'; -``` - -### Get domain details for each order - -```sql -select - o.order_id, - o.created_at, - o.domain_name, - d.domain_id, - d.created_at as domain_created_at, - d.expires as domain_expires -from - godaddy_order as o, - godaddy_domain as d -where - o.domain_name = d.domain; -``` - -### List the top 5 orders with the highest total amount paid - -```sql -select - order_id, - ( - pricing ->> 'Total' - ) - ::numeric as total_paid -from - godaddy_order -order by - total_paid desc limit 5; -``` - -### Count orders per domain - -```sql -select - domain_name, - count(*) as num_orders -from - godaddy_order -group by - domain_name; -``` +The `godaddy_order` table provides insights into orders placed within GoDaddy. As a DevOps engineer, explore order-specific details through this table, including currency, items ordered, and status of the order. Utilize it to track and manage orders, such as those pending, completed, or cancelled. \ No newline at end of file diff --git a/docs/tables/godaddy_shopper.md b/docs/tables/godaddy_shopper.md index 30d1ed8..d2d87ad 100644 --- a/docs/tables/godaddy_shopper.md +++ b/docs/tables/godaddy_shopper.md @@ -1,12 +1,20 @@ -# Table: godaddy_shopper +--- +title: "Steampipe Table: godaddy_shopper - Query GoDaddy Shoppers using SQL" +description: "Allows users to query GoDaddy Shoppers, returning detailed information about the registered shoppers on GoDaddy." +--- -GoDaddy Shopper feature allows customers to create a centralized account to manage all of their GoDaddy products and services in one place. +# Table: godaddy_shopper - Query GoDaddy Shoppers using SQL -Note: To query this table you must provide a valid `shopper_id` in the `where` clause. +GoDaddy is a widely-used domain registrar and web hosting company. The 'Shopper' is a resource in GoDaddy that represents a registered user who has the ability to purchase and manage domains. It provides details about the shopper's profile, including their shopper ID, name, and email. + +## Table Usage Guide + +The `godaddy_shopper` table provides insights into registered shoppers within GoDaddy. As a system administrator or a DevOps engineer, you can explore shopper-specific details through this table, including shopper ID, name, and email. Utilize it to uncover information about shoppers, such as their contact details and the status of their accounts. ## Examples ### Basic info +Discover the segments that include specific customer data to understand their market affiliation and contact details. This can be useful to gain insights into individual customer profiles for personalized marketing or customer service efforts. ```sql select @@ -20,4 +28,4 @@ from godaddy_shopper where shopper_id ='568421234'; -``` +``` \ No newline at end of file diff --git a/docs/tables/godaddy_subscription.md b/docs/tables/godaddy_subscription.md index 3fab692..822e3eb 100644 --- a/docs/tables/godaddy_subscription.md +++ b/docs/tables/godaddy_subscription.md @@ -1,10 +1,20 @@ -# Table: godaddy_subscription +--- +title: "Steampipe Table: godaddy_subscription - Query GoDaddy Subscriptions using SQL" +description: "Allows users to query GoDaddy Subscriptions, specifically their details and statuses, providing insights into subscription patterns and potential anomalies." +--- -GoDaddy is a popular web hosting and domain registrar company that offers various subscription plans for individuals and businesses. Their subscriptions typically include web hosting services, a domain name registration, email hosting, website building tools, and marketing tools. The specific features and pricing of the subscription plans vary depending on the type of subscription and the length of the subscription term. Subscribers can choose from a range of options that cater to their specific needs and budget +# Table: godaddy_subscription - Query GoDaddy Subscriptions using SQL + +A GoDaddy Subscription is a service that allows users to avail various GoDaddy services on a recurring basis. It provides a centralized way to manage and maintain subscriptions for various GoDaddy resources, including domains, hosting, and more. GoDaddy Subscription helps you stay informed about the status and details of your GoDaddy resources and take appropriate actions when renewal or cancellation is required. + +## Table Usage Guide + +The `godaddy_subscription` table provides insights into subscriptions within GoDaddy. As a DevOps engineer or a domain manager, explore subscription-specific details through this table, including renewal status, expiration dates, and associated metadata. Utilize it to uncover information about subscriptions, such as those nearing expiration, the renewal status of subscriptions, and verification of subscription details. ## Examples ### Basic info +Explore which GoDaddy subscriptions are cancelable and when they are due to expire. This is useful for assessing potential changes in your domain portfolio costs and planning ahead. ```sql select @@ -21,6 +31,7 @@ from ``` ### List subscriptions with price locked enabled +Analyze your GoDaddy subscriptions to identify which ones have a locked price. This can be useful to understand your financial commitments and plan for future costs. ```sql select @@ -36,6 +47,7 @@ where ``` ### Count subscriptions by product key +Analyze your product subscriptions to understand their distribution. This is useful in identifying the most subscribed products, aiding in decision-making for marketing strategies or product development. ```sql select @@ -48,6 +60,7 @@ group by ``` ### Get subscription details that have addons +Explore which subscription details include addons to understand the pricing and cancellation options. This can be useful for assessing the costs and flexibility of different subscriptions. ```sql select @@ -62,6 +75,7 @@ where ``` ### List non-cancelable subscriptions +Determine the areas in which you have non-cancelable subscriptions. This can be beneficial for understanding your ongoing commitments and potential liabilities. ```sql select @@ -75,6 +89,7 @@ where ``` ### List subscriptions that were created between two specific dates +Explore which subscriptions were initiated within a particular year to gain insights into customer engagement and subscription trends during that period. This can assist in understanding the effectiveness of marketing strategies implemented within that timeframe. ```sql select @@ -89,6 +104,7 @@ where ``` ### List subscriptions that have auto-renew enabled +Explore which subscriptions have the auto-renew feature enabled. This is useful for understanding which customers will automatically renew their subscriptions, aiding in revenue forecasting and customer retention strategies. ```sql select @@ -105,6 +121,7 @@ where ``` ### List active subscriptions +Explore which subscriptions are currently active to manage and monitor your GoDaddy account effectively. This helps in assessing the status of your subscriptions, allowing for better resource allocation and planning. ```sql select @@ -118,6 +135,7 @@ where ``` ### List subscriptions that will expire within the next 10 days +Discover the segments that are due for renewal in the coming days. This helps in proactive renewal management and avoids service disruption due to expired subscriptions. ```sql select @@ -132,6 +150,7 @@ where ``` ### Get product details of each subscription +Explore the specific details of each subscription, such as product label, namespace, renewal period, and billing information. This can help in understanding the subscription structure, tracking renewals, and managing billing cycles. ```sql select @@ -149,6 +168,7 @@ from ``` ### Get the billing details of each subscription +Discover the billing status and renewal date of each subscription to understand their commitment and potential past due issues. This can be used to manage financial aspects and ensure timely renewals. ```sql select @@ -159,4 +179,4 @@ select billing ->> 'PastDueTypes' as billing_past_due_types from godaddy_subscription; -``` +``` \ No newline at end of file From 3f3078d1c81883ef49ea99dddaa840b30a54bebe Mon Sep 17 00:00:00 2001 From: misraved Date: Tue, 5 Dec 2023 14:45:03 +0530 Subject: [PATCH 02/10] update docs --- README.md | 2 +- docs/LICENSE | 402 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 403 insertions(+), 1 deletion(-) create mode 100644 docs/LICENSE diff --git a/README.md b/README.md index 2a3b34e..d05fb10 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,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-godaddy/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-godaddy/blob/main/LICENSE). Contributions to the plugin documentation are subject to the [CC BY-NC-ND license](https://github.com/turbot/steampipe-plugin-godaddy/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 From 9c4dd496658ae0714279c8e4d552b43f7979e76d Mon Sep 17 00:00:00 2001 From: Madhushree Ray Date: Wed, 6 Dec 2023 20:57:20 +0530 Subject: [PATCH 03/10] Update table docs --- docs/tables/godaddy_certificate.md | 3 +++ docs/tables/godaddy_dns_record.md | 3 +++ docs/tables/godaddy_shopper.md | 3 +++ 3 files changed, 9 insertions(+) diff --git a/docs/tables/godaddy_certificate.md b/docs/tables/godaddy_certificate.md index 879fceb..4f3cfb3 100644 --- a/docs/tables/godaddy_certificate.md +++ b/docs/tables/godaddy_certificate.md @@ -11,6 +11,9 @@ GoDaddy Certificate is a digital certificate used to secure websites and enable The `godaddy_certificate` table provides insights into GoDaddy Certificates. As a security analyst, you can leverage this table to gather detailed information about each certificate, including its common name, issuer, serial number, and validity period. This can aid in managing and monitoring the security of your web applications and services hosted on GoDaddy. +**Important Notes** +- You must specify the `certificate_id` in the `where` clause to query this table. + ## Examples ### Basic info diff --git a/docs/tables/godaddy_dns_record.md b/docs/tables/godaddy_dns_record.md index 89f8f5b..db33b62 100644 --- a/docs/tables/godaddy_dns_record.md +++ b/docs/tables/godaddy_dns_record.md @@ -11,6 +11,9 @@ GoDaddy DNS Records are a critical part of the GoDaddy domain hosting service. T The `godaddy_dns_record` table provides insights into DNS records within GoDaddy's domain hosting service. As a network administrator or website owner, explore specific details through this table, including record type, name, and data. Utilize it to manage and monitor your DNS records, ensuring your domain's web traffic and email routing are correctly configured and operating as intended. +**Important Notes** +- To filter the resource using `name`, you must set `type` in the where clause. + ## Examples ### Basic info diff --git a/docs/tables/godaddy_shopper.md b/docs/tables/godaddy_shopper.md index d2d87ad..218405c 100644 --- a/docs/tables/godaddy_shopper.md +++ b/docs/tables/godaddy_shopper.md @@ -11,6 +11,9 @@ GoDaddy is a widely-used domain registrar and web hosting company. The 'Shopper' The `godaddy_shopper` table provides insights into registered shoppers within GoDaddy. As a system administrator or a DevOps engineer, you can explore shopper-specific details through this table, including shopper ID, name, and email. Utilize it to uncover information about shoppers, such as their contact details and the status of their accounts. +**Important Notes** +- You must specify the `shopper_id` in the `where` clause to query this table. + ## Examples ### Basic info From 59a1a56e677f143203aadd4550b251e973176f90 Mon Sep 17 00:00:00 2001 From: misraved Date: Fri, 8 Dec 2023 09:31:26 +0530 Subject: [PATCH 04/10] Update docs --- docs/tables/godaddy_certificate.md | 55 +++++- docs/tables/godaddy_dns_record.md | 98 ++++++++++- docs/tables/godaddy_domain.md | 161 +++++++++++++++-- docs/tables/godaddy_order.md | 258 +++++++++++++++++++++++++++- docs/tables/godaddy_shopper.md | 16 +- docs/tables/godaddy_subscription.md | 157 +++++++++++++++-- 6 files changed, 712 insertions(+), 33 deletions(-) diff --git a/docs/tables/godaddy_certificate.md b/docs/tables/godaddy_certificate.md index 4f3cfb3..b8a903f 100644 --- a/docs/tables/godaddy_certificate.md +++ b/docs/tables/godaddy_certificate.md @@ -19,7 +19,25 @@ The `godaddy_certificate` table provides insights into GoDaddy Certificates. As ### Basic info Discover the segments that are related to a specific GoDaddy certificate. This query can be used to gain insights into the status, validity period, and revocation details of a certificate, which is beneficial for managing and tracking your SSL certificates. -```sql +```sql+postgres +select + common_name, + status, + certificate_id, + serial_number, + created_at, + organization, + root_type, + valid_start, + valid_end, + revoked_at +from + godaddy_certificate +where + certificate_id ='14a42b6a799d4985b5c5e5e5f5d4249b'; +``` + +```sql+sqlite select common_name, status, @@ -40,7 +58,23 @@ where ### List of revoked certificates Discover the segments that contain revoked certificates to maintain the security and integrity of your network. This can be particularly useful in identifying potential vulnerabilities or malicious activities. -```sql +```sql+postgres +select + common_name, + status, + certificate_id, + serial_number, + created_at, + valid_start, + valid_end +from + godaddy_certificate +where + certificate_id in ('14a42b6a799d4985b5c5e5e5f5d4249b','14a42b6a799d4985b5c5e5e5f5d4249f') + and status = 'REVOKED'; +``` + +```sql+sqlite select common_name, status, @@ -59,7 +93,7 @@ where ### Get contact details of a specific certificate This query is used to gather detailed contact information related to a specific certificate from GoDaddy. This can be particularly useful when you need to reach out to the certificate holder for any updates or issues. -```sql +```sql+postgres select common_name, contact ->> 'Email' as contact_email, @@ -72,4 +106,19 @@ from godaddy_certificate where certificate_id = '14a42b6a799d4985b5c5e5e5f5d4249b'; +``` + +```sql+sqlite +select + common_name, + json_extract(contact, '$.Email') as contact_email, + json_extract(contact, '$.Fax') as contact_fax, + json_extract(contact, '$.NameFirst') as contact_first_name, + json_extract(contact, '$.NameLast') as contact_last_name, + json_extract(contact, '$.Organization') as contact_organization, + json_extract(contact, '$.Phone') as contact_phone +from + godaddy_certificate +where + certificate_id = '14a42b6a799d4985b5c5e5e5f5d4249b'; ``` \ No newline at end of file diff --git a/docs/tables/godaddy_dns_record.md b/docs/tables/godaddy_dns_record.md index db33b62..921eaa3 100644 --- a/docs/tables/godaddy_dns_record.md +++ b/docs/tables/godaddy_dns_record.md @@ -19,7 +19,19 @@ The `godaddy_dns_record` table provides insights into DNS records within GoDaddy ### Basic info Explore which domain names are associated with your GoDaddy DNS records. This query can help you gain insights into your DNS configuration, including the protocol and type of each record, which could be beneficial for managing and troubleshooting your network. -```sql +```sql+postgres +select + name, + domain_name, + data, + protocol, + type, + ttl +from + godaddy_dns_record; +``` + +```sql+sqlite select name, domain_name, @@ -34,7 +46,21 @@ from ### List all DNS records for a specific domain name Explore all DNS records associated with a specific domain name. This can be useful for understanding and managing the various services and protocols tied to your domain. -```sql +```sql+postgres +select + name, + data, + protocol, + type, + service, + ttl +from + godaddy_dns_record +where + domain_name = 'example.com'; +``` + +```sql+sqlite select name, data, @@ -51,7 +77,22 @@ where ### List all DNS records of a specific type for a specific domain name Determine the specific DNS records associated with a particular domain name. This query can be used to gain insights into the configuration and settings of a domain, which can be beneficial for troubleshooting or optimization purposes. -```sql +```sql+postgres +select + name, + data, + protocol, + type, + service, + ttl +from + godaddy_dns_record +where + domain_name = 'example.com' + and type = 'A'; +``` + +```sql+sqlite select name, data, @@ -69,7 +110,7 @@ where ### List all DNS records with a TTL less than or equal to a certain value Explore DNS records that have a time-to-live (TTL) value of 3600 seconds or less. This can be useful for identifying domains that may require frequent updates or are more susceptible to potential caching issues. -```sql +```sql+postgres select name, domain_name, @@ -84,10 +125,40 @@ where ttl <= '3600'; ``` +```sql+sqlite +select + name, + domain_name, + data, + protocol, + type, + service, + ttl +from + godaddy_dns_record +where + ttl <= 3600; +``` + ### List all DNS records with a specific data value Explore DNS records that are associated with a specific IP address. This is useful for identifying potential anomalies or inconsistencies in your DNS configuration. -```sql +```sql+postgres +select + name, + domain_name, + data, + protocol, + type, + service, + ttl +from + godaddy_dns_record +where + data = '192.168.1.1'; +``` + +```sql+sqlite select name, domain_name, @@ -105,7 +176,22 @@ where ### List all DNS records with a specific priority value Determine the areas in which DNS records have been assigned a specific priority value. This is useful for assessing the configuration of your domain names and ensuring that the most important records have the correct priority level. -```sql +```sql+postgres +select + name, + domain_name, + data, + protocol, + type, + service, + ttl +from + godaddy_dns_record +where + priority = '10'; +``` + +```sql+sqlite select name, domain_name, diff --git a/docs/tables/godaddy_domain.md b/docs/tables/godaddy_domain.md index e807423..cefb716 100644 --- a/docs/tables/godaddy_domain.md +++ b/docs/tables/godaddy_domain.md @@ -16,7 +16,19 @@ The `godaddy_domain` table provides insights into Domains within GoDaddy. As a W ### Basic info Gain insights into the creation, deletion, and expiration timelines of domains. This can be useful for managing domain lifecycles and identifying when domains are eligible for transfer. -```sql +```sql+postgres +select + domain, + domain_id, + created_at, + deleted_at, + transfer_away_eligibile_at, + expires +from + godaddy_domain; +``` + +```sql+sqlite select domain, domain_id, @@ -31,7 +43,7 @@ from ### List domains that have privacy protection enabled Determine the areas in which domains have privacy protection enabled. This can be useful for assessing the security measures in place and ensuring the safeguarding of sensitive information. -```sql +```sql+postgres select domain, domain_id, @@ -44,10 +56,23 @@ where privacy; ``` +```sql+sqlite +select + domain, + domain_id, + created_at, + expiration_protected, + privacy +from + godaddy_domain +where + privacy = 1; +``` + ### List domains that are locked Identify domains that have been locked, which can be useful for maintaining security and control over domain ownership and transfers. -```sql +```sql+postgres select domain, expiration_protected, @@ -59,10 +84,22 @@ where locked; ``` +```sql+sqlite +select + domain, + expiration_protected, + hold_registrar, + locked +from + godaddy_domain +where + locked = 1; +``` + ### List renewable domains Explore which domains are renewable to manage and maintain your online presence efficiently. This is beneficial for planning renewals in advance and avoiding unexpected expiration of important domains. -```sql +```sql+postgres select domain, domain_id, @@ -74,10 +111,35 @@ where renewable; ``` +```sql+sqlite +select + domain, + domain_id, + status, + created_at +from + godaddy_domain +where + renewable = 1; +``` + ### List inactive domains Discover the segments that consist of inactive domains, which can help in identifying those that are not currently in use or have expired. This information can be beneficial for domain management, enabling you to assess the status of your domains and take necessary actions such as renewals or transfers. -```sql +```sql+postgres +select + domain, + auth_code, + transfer_away_eligibile_at, + expires, + status +from + godaddy_domain +where + status <> 'ACTIVE'; +``` + +```sql+sqlite select domain, auth_code, @@ -93,7 +155,7 @@ where ### List domains that are eligible for transfer at the moment Explore domains that are currently eligible for transfer. This query can be used to assess which domains can be moved away from their current registrar, providing insights for strategic domain management. -```sql +```sql+postgres select domain, domain_id, @@ -106,10 +168,36 @@ where transfer_away_eligibile_at < now(); ``` +```sql+sqlite +select + domain, + domain_id, + created_at, + transfer_away_eligibile_at, + renew_auto +from + godaddy_domain +where + transfer_away_eligibile_at < datetime('now'); +``` + ### List domains that will expire after a particular date Discover the segments that have domain registrations set to expire after a specific date. This is useful for planning renewals and preventing accidental domain loss. -```sql +```sql+postgres +select + domain, + transfer_protected, + renew_deadline, + renew_auto, + expires +from + godaddy_domain +where + expires > '2023-12-31'; +``` + +```sql+sqlite select domain, transfer_protected, @@ -125,7 +213,7 @@ where ### List domains created in the last 30 days Explore which domains have been established in the recent month. This can be useful for monitoring the creation of new domains and ensuring they are properly protected and registered. -```sql +```sql+postgres select domain, domain_id, @@ -139,10 +227,24 @@ where created_at >= now() - interval '30' day; ``` +```sql+sqlite +select + domain, + domain_id, + created_at, + expiration_protected, + hold_registrar, + subaccount_id +from + godaddy_domain +where + created_at >= datetime('now', '-30 day'); +``` + ### Get nameservers of each domain Discover the nameservers associated with each domain to better understand your domain's configuration and manage DNS settings more effectively. This can be particularly useful in identifying potential issues or inconsistencies in your DNS setup. -```sql +```sql+postgres select domain, domain_id, @@ -152,10 +254,20 @@ from jsonb_array_elements_text(nameservers) as n; ``` +```sql+sqlite +select + domain, + domain_id, + n.value as nameserver +from + godaddy_domain, + json_each(nameservers) as n; +``` + ### Get domain admin contact details of each domain Discover the contact details for the administrators of each domain, including their job title, name, organization, and mailing address. This information is useful for direct communication with the domain admin or for auditing purposes. -```sql +```sql+postgres select domain, domain_contacts_admin ->> 'Fax' as domain_contacts_admin_fax, @@ -171,10 +283,26 @@ from godaddy_domain; ``` +```sql+sqlite +select + domain, + json_extract(domain_contacts_admin, '$.Fax') as domain_contacts_admin_fax, + json_extract(domain_contacts_admin, '$.Email') as domain_contacts_admin_email, + json_extract(domain_contacts_admin, '$.Phone') as domain_contacts_admin_phone, + json_extract(domain_contacts_admin, '$.JobTitle') as domain_contacts_admin_job_title, + json_extract(domain_contacts_admin, '$.NameLast') as domain_contacts_admin_name_last, + json_extract(domain_contacts_admin, '$.NameFirst') as domain_contacts_admin_name_first, + json_extract(domain_contacts_admin, '$.NameMiddle') as domain_contacts_admin_name_middle, + json_extract(domain_contacts_admin, '$.Organization') as domain_contacts_admin_Organization, + json_extract(domain_contacts_admin, '$.AddressMailing') as domain_contacts_admin_address_mailing +from + godaddy_domain; +``` + ### Get verification details of each domain Explore the verification status of each domain to understand which domains have completed the verification process and which are still pending. This can be useful in maintaining domain authenticity and ensuring all domains are verified as per the requirements. -```sql +```sql+postgres select domain, domain_id, @@ -183,4 +311,15 @@ select verifications -> 'RealName' ->> 'Status' as verfivication_real_name from godaddy_domain; +``` + +```sql+sqlite +select + domain, + domain_id, + created_at, + json_extract(verifications, '$.DomainName.Status') as verfivication_domain_name, + json_extract(verifications, '$.RealName.Status') as verfivication_real_name +from + godaddy_domain; ``` \ No newline at end of file diff --git a/docs/tables/godaddy_order.md b/docs/tables/godaddy_order.md index 14ab36e..f62de82 100644 --- a/docs/tables/godaddy_order.md +++ b/docs/tables/godaddy_order.md @@ -9,4 +9,260 @@ GoDaddy is a widely used domain registrar and web hosting company. It offers a v ## Table Usage Guide -The `godaddy_order` table provides insights into orders placed within GoDaddy. As a DevOps engineer, explore order-specific details through this table, including currency, items ordered, and status of the order. Utilize it to track and manage orders, such as those pending, completed, or cancelled. \ No newline at end of file +The `godaddy_order` table provides insights into orders placed within GoDaddy. As a DevOps engineer, explore order-specific details through this table, including currency, items ordered, and status of the order. Utilize it to track and manage orders, such as those pending, completed, or cancelled. + +## Examples + +### Basic info +Determine the areas in which specific orders were placed, including the currency used and the date of order placement. This can be useful for understanding your customer base and tracking order trends. + +```sql+postgres +select + order_id, + currency, + created_at, + domain_name, + parent_order_id +from + godaddy_order; +``` + +```sql+sqlite +select + order_id, + currency, + created_at, + domain_name, + parent_order_id +from + godaddy_order; +``` + +### Get the total amount paid for all orders +Determine the total payment made for each order. This can be used to monitor financial transactions and ensure accurate tracking of payments. + +```sql+postgres +select + order_id, + SUM((pricing ->> 'Total')::numeric) as total_paid +from + godaddy_order +group by + order_id; +``` + +```sql+sqlite +select + order_id, + SUM(CAST(json_extract(pricing, '$.Total') AS REAL)) as total_paid +from + godaddy_order +group by + order_id; +``` + +### Count the number of orders created per month +Determine the frequency of orders on a monthly basis to understand the sales trend and identify peak periods. This can aid in planning inventory and sales strategies accordingly. + +```sql+postgres +select + order_id, + date_trunc('month', created_at) as month, + count(*) as num_orders +from + godaddy_order +group by + order_id, + created_at; +``` + +```sql+sqlite +select + order_id, + strftime('%Y-%m', created_at) as month, + count(*) as num_orders +from + godaddy_order +group by + order_id, + strftime('%Y-%m', created_at); +``` + +### List orders by parent order ID +Explore which orders are related to a specific parent order, helping to track and manage grouped transactions in a more organized manner. This is particularly useful in scenarios where you need to understand the relationship between different orders for better order management. + +```sql+postgres +select + order_id, + parent_order_id, + domain_name +from + godaddy_order +where + parent_order_id = '12345'; +``` + +```sql+sqlite +select + order_id, + parent_order_id, + domain_name +from + godaddy_order +where + parent_order_id = '12345'; +``` + +### Get line item details of each order +Uncover the details of each order line item to gain insights into various aspects like the domains involved, the duration of the order, the quantity of items, and the tax collector's details. This can be useful for auditing purposes, inventory management, or financial analysis. + +```sql+postgres +select + order_id, + i -> 'Domains' as domains, + i -> 'Period' as period, + i ->> 'PeriodUnit' as period_unit, + i -> 'Pfid' as pfid, + i -> 'Quantity' as quantity, + i -> 'TaxCollector' ->> 'TaxCollectorID' as tax_collector_id +from + godaddy_order, + jsonb_array_elements(items) as i; +``` + +```sql+sqlite +select + order_id, + json_extract(i.value, '$.Domains') as domains, + json_extract(i.value, '$.Period') as period, + json_extract(i.value, '$.PeriodUnit') as period_unit, + json_extract(i.value, '$.Pfid') as pfid, + json_extract(i.value, '$.Quantity') as quantity, + json_extract(json_extract(i.value, '$.TaxCollector'), '$.TaxCollectorID') as tax_collector_id +from + godaddy_order, + json_each(items) as i; +``` + +### Get pricing details of an order +Determine the financial aspects of a specific order, including discounts, fees, savings, and taxes. This is useful for a comprehensive review of an order's cost breakdown and can assist in financial planning and budgeting. + +```sql+postgres +select + order_id, + domain_name, + pricing ->> 'Discount' as discount, + pricing -> 'Fees' as fees, + pricing ->> 'ID' as pricing_id, + pricing ->> 'List' as pricing_list, + pricing ->> 'Savings' as savings, + pricing ->> 'Subtotal' as subtotal, + pricing ->> 'Taxes' as taxes, + pricing -> 'TaxDetails' as tax_details, + pricing ->> 'Total' as total +from + godaddy_order +where + order_id = '123456'; +``` + +```sql+sqlite +select + order_id, + domain_name, + json_extract(pricing, '$.Discount') as discount, + pricing as fees, + json_extract(pricing, '$.ID') as pricing_id, + json_extract(pricing, '$.List') as pricing_list, + json_extract(pricing, '$.Savings') as savings, + json_extract(pricing, '$.Subtotal') as subtotal, + json_extract(pricing, '$.Taxes') as taxes, + pricing as tax_details, + json_extract(pricing, '$.Total') as total +from + godaddy_order +where + order_id = '123456'; +``` + +### Get domain details for each order +Determine the chronological relationship between order creation and domain registration, and assess when the domain will expire. This is useful for understanding the lifecycle of an order and its associated domain. + +```sql+postgres +select + o.order_id, + o.created_at, + o.domain_name, + d.domain_id, + d.created_at as domain_created_at, + d.expires as domain_expires +from + godaddy_order as o, + godaddy_domain as d +where + o.domain_name = d.domain; +``` + +```sql+sqlite +select + o.order_id, + o.created_at, + o.domain_name, + d.domain_id, + d.created_at as domain_created_at, + d.expires as domain_expires +from + godaddy_order as o, + godaddy_domain as d +where + o.domain_name = d.domain; +``` + +### List the top 5 orders with the highest total amount paid +Discover the segments that have the highest total payments to prioritize customer follow-ups or assess the performance of top-selling products. This query helps in financial analysis and strategic planning by identifying the top 5 orders with the highest total amount paid. + +```sql+postgres +select + order_id, + ( + pricing ->> 'Total' + ) + ::numeric as total_paid +from + godaddy_order +order by + total_paid desc limit 5; +``` + +```sql+sqlite +select + order_id, + cast(json_extract(pricing, '$.Total') as real) as total_paid +from + godaddy_order +order by + total_paid desc limit 5; +``` + +### Count orders per domain +Determine the areas in which your domains have the most orders to gain insights into your most popular domains. + +```sql+postgres +select + domain_name, + count(*) as num_orders +from + godaddy_order +group by + domain_name; +``` + +```sql+sqlite +select + domain_name, + count(*) as num_orders +from + godaddy_order +group by + domain_name; +``` \ No newline at end of file diff --git a/docs/tables/godaddy_shopper.md b/docs/tables/godaddy_shopper.md index 218405c..f3fac8a 100644 --- a/docs/tables/godaddy_shopper.md +++ b/docs/tables/godaddy_shopper.md @@ -19,7 +19,21 @@ The `godaddy_shopper` table provides insights into registered shoppers within Go ### Basic info Discover the segments that include specific customer data to understand their market affiliation and contact details. This can be useful to gain insights into individual customer profiles for personalized marketing or customer service efforts. -```sql +```sql+postgres +select + customer_id, + market_id, + name_first, + name_last, + email, + external_id +from + godaddy_shopper +where + shopper_id ='568421234'; +``` + +```sql+sqlite select customer_id, market_id, diff --git a/docs/tables/godaddy_subscription.md b/docs/tables/godaddy_subscription.md index 822e3eb..f59c2e0 100644 --- a/docs/tables/godaddy_subscription.md +++ b/docs/tables/godaddy_subscription.md @@ -16,7 +16,21 @@ The `godaddy_subscription` table provides insights into subscriptions within GoD ### Basic info Explore which GoDaddy subscriptions are cancelable and when they are due to expire. This is useful for assessing potential changes in your domain portfolio costs and planning ahead. -```sql +```sql+postgres +select + subscription_id, + created_at, + cancelable, + label, + launch_url, + payment_profile_id, + price_locked, + expires_at +from + godaddy_subscription; +``` + +```sql+sqlite select subscription_id, created_at, @@ -33,7 +47,7 @@ from ### List subscriptions with price locked enabled Analyze your GoDaddy subscriptions to identify which ones have a locked price. This can be useful to understand your financial commitments and plan for future costs. -```sql +```sql+postgres select subscription_id, created_at, @@ -46,10 +60,33 @@ where price_locked; ``` +```sql+sqlite +select + subscription_id, + created_at, + cancelable, + price_locked, + expires_at +from + godaddy_subscription +where + price_locked = 1; +``` + ### Count subscriptions by product key Analyze your product subscriptions to understand their distribution. This is useful in identifying the most subscribed products, aiding in decision-making for marketing strategies or product development. -```sql +```sql+postgres +select + product_group_key, + count(*) as subscription_count +from + godaddy_subscription +group by + product_group_key; +``` + +```sql+sqlite select product_group_key, count(*) as subscription_count @@ -62,7 +99,19 @@ group by ### Get subscription details that have addons Explore which subscription details include addons to understand the pricing and cancellation options. This can be useful for assessing the costs and flexibility of different subscriptions. -```sql +```sql+postgres +select + subscription_id, + created_at, + cancelable, + price_locked +from + godaddy_subscription +where + addons is not null; +``` + +```sql+sqlite select subscription_id, created_at, @@ -77,7 +126,7 @@ where ### List non-cancelable subscriptions Determine the areas in which you have non-cancelable subscriptions. This can be beneficial for understanding your ongoing commitments and potential liabilities. -```sql +```sql+postgres select subscription_id, created_at, @@ -88,10 +137,33 @@ where not cancelable; ``` +```sql+sqlite +select + subscription_id, + created_at, + cancelable +from + godaddy_subscription +where + cancelable = 0; +``` + ### List subscriptions that were created between two specific dates Explore which subscriptions were initiated within a particular year to gain insights into customer engagement and subscription trends during that period. This can assist in understanding the effectiveness of marketing strategies implemented within that timeframe. -```sql +```sql+postgres +select + subscription_id, + created_at, + expires_at, + renew_auto +from + godaddy_subscription +where + created_at between '2022-01-01' and '2022-12-31'; +``` + +```sql+sqlite select subscription_id, created_at, @@ -106,7 +178,7 @@ where ### List subscriptions that have auto-renew enabled Explore which subscriptions have the auto-renew feature enabled. This is useful for understanding which customers will automatically renew their subscriptions, aiding in revenue forecasting and customer retention strategies. -```sql +```sql+postgres select subscription_id, created_at, @@ -120,10 +192,35 @@ where renew_auto; ``` +```sql+sqlite +select + subscription_id, + created_at, + product_renewal_period, + product_renewal_period_unit, + status, + upgradable +from + godaddy_subscription +where + renew_auto = 1; +``` + ### List active subscriptions Explore which subscriptions are currently active to manage and monitor your GoDaddy account effectively. This helps in assessing the status of your subscriptions, allowing for better resource allocation and planning. -```sql +```sql+postgres +select + subscription_id, + status, + created_at +from + godaddy_subscription +where + status = 'ACTIVE'; +``` + +```sql+sqlite select subscription_id, status, @@ -137,7 +234,7 @@ where ### List subscriptions that will expire within the next 10 days Discover the segments that are due for renewal in the coming days. This helps in proactive renewal management and avoids service disruption due to expired subscriptions. -```sql +```sql+postgres select subscription_id, status, @@ -149,10 +246,22 @@ where expires_at <= now() + interval '10' day; ``` +```sql+sqlite +select + subscription_id, + status, + created_at, + expires_at +from + godaddy_subscription +where + expires_at <= datetime('now', '+10 day'); +``` + ### Get product details of each subscription Explore the specific details of each subscription, such as product label, namespace, renewal period, and billing information. This can help in understanding the subscription structure, tracking renewals, and managing billing cycles. -```sql +```sql+postgres select subscription_id, product -> 'PfID' as pf_id, @@ -167,10 +276,25 @@ from godaddy_subscription; ``` +```sql+sqlite +select + subscription_id, + json_extract(product, '$.PfID') as pf_id, + json_extract(product, '$.Label') as product_label, + json_extract(product, '$.Namespace') as product_namespace, + json_extract(product, '$.RenewalPfID') as product_renewal_pf_id, + json_extract(product, '$.PRenewalPeriodfID') as product_renewal_period, + json_extract(product, '$.SupportBillOn') as product_support_bill_on, + json_extract(product, '$.ProductGroupKey') as product_group_key, + json_extract(product, '$.RenewalPeriodUnit') as product_renewal_period_unit +from + godaddy_subscription; +``` + ### Get the billing details of each subscription Discover the billing status and renewal date of each subscription to understand their commitment and potential past due issues. This can be used to manage financial aspects and ensure timely renewals. -```sql +```sql+postgres select subscription_id, billing ->> 'Status' as billing_status, @@ -179,4 +303,15 @@ select billing ->> 'PastDueTypes' as billing_past_due_types from godaddy_subscription; +``` + +```sql+sqlite +select + subscription_id, + json_extract(billing, '$.Status') as billing_status, + json_extract(billing, '$.RenewAt') as billing_renew_at, + json_extract(billing, '$.Commitment') as billing_commitment, + json_extract(billing, '$.PastDueTypes') as billing_past_due_types +from + godaddy_subscription; ``` \ No newline at end of file From b2386e950ff8701dbee46c6a36b399313d03dcdf Mon Sep 17 00:00:00 2001 From: misraved Date: Mon, 11 Dec 2023 11:46:24 +0530 Subject: [PATCH 05/10] Add engine information to README --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index d05fb10..fe9adb1 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,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: From eaafda43aa30aad51bc9e0a3ff80049a532ac030 Mon Sep 17 00:00:00 2001 From: misraved Date: Mon, 11 Dec 2023 17:43:01 +0530 Subject: [PATCH 06/10] Update plugin's front matter to include engines --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index e3be74a..5ebf493 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,6 +8,7 @@ short_name: "godaddy" description: "Steampipe plugin to query domains, orders, certificates and more from GoDaddy." og_description: "Query GoDaddy with SQL! Open source CLI. No DB required." og_image: "/images/plugins/turbot/godaddy-social-graphic.png" +engines: ["steampipe", "sqlite", "postgres", "export"] --- # GoDaddy + Steampipe From f8e964b2f787a96398beef4cf288d8a2cc24aa58 Mon Sep 17 00:00:00 2001 From: misraved Date: Mon, 11 Dec 2023 23:27:43 +0530 Subject: [PATCH 07/10] Remove the Get Involved Section from docs/index.md --- docs/index.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/index.md b/docs/index.md index 5ebf493..7ba9e30 100644 --- a/docs/index.md +++ b/docs/index.md @@ -91,7 +91,4 @@ export GODADDY_API_SECRET=DjfrsqEBA4vVjsdsdsdieDShdjs export GODADDY_ENVIRONMENT=DEV ``` -## Get involved -- Open source: https://github.com/turbot/steampipe-plugin-godaddy -- Community: [Join #steampipe on Slack →](https://turbot.com/community/join) From cd5d01609caeacc60ece1f3aee90a8d4102026fe Mon Sep 17 00:00:00 2001 From: misraved Date: Tue, 12 Dec 2023 12:28:12 +0530 Subject: [PATCH 08/10] Update the contributing section of the README --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fe9adb1..d9ce8f4 100644 --- a/README.md +++ b/README.md @@ -119,11 +119,17 @@ Further reading: - [Writing plugins](https://steampipe.io/docs/develop/writing-plugins) - [Writing your first table](https://steampipe.io/docs/develop/writing-your-first-table) -## Contributing +## Open Source & 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). Contributions to the plugin are subject to the [Apache 2.0 open source license](https://github.com/turbot/steampipe-plugin-godaddy/blob/main/LICENSE). Contributions to the plugin documentation are subject to the [CC BY-NC-ND license](https://github.com/turbot/steampipe-plugin-godaddy/blob/main/docs/LICENSE). +This repository is published under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) (source code) and [CC BY-NC-ND](https://creativecommons.org/licenses/by-nc-nd/2.0/) (docs) licenses. Please see our [code of conduct](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md). We look forward to collaborating with you! -`help wanted` issues: +[Steampipe](https://steampipe.io) is a product produced from this open source software, exclusively by [Turbot HQ, Inc](https://turbot.com). It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our [Open Source FAQ](https://turbot.com/open-source). + +## Get Involved + +**[Join #steampipe on Slack →](https://turbot.com/community/join)** + +Want to help but don't know where to start? Pick up one of the `help wanted` issues: - [Steampipe](https://github.com/turbot/steampipe/labels/help%20wanted) - [GoDaddy Plugin](https://github.com/turbot/steampipe-plugin-godaddy/labels/help%20wanted) From df08c05e8c2ca13fb876f1c7edaaf621c2ae4aa7 Mon Sep 17 00:00:00 2001 From: misraved Date: Tue, 12 Dec 2023 12:28:16 +0530 Subject: [PATCH 09/10] Add the Release Steampipe Anywhere Components workflow --- .github/workflows/steampipe-anywhere.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/steampipe-anywhere.yml diff --git a/.github/workflows/steampipe-anywhere.yml b/.github/workflows/steampipe-anywhere.yml new file mode 100644 index 0000000..05092d6 --- /dev/null +++ b/.github/workflows/steampipe-anywhere.yml @@ -0,0 +1,12 @@ +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 From 8bef7520d97996c377af5f99c519a2c0c4d2a888 Mon Sep 17 00:00:00 2001 From: misraved Date: Tue, 12 Dec 2023 13:42:31 +0530 Subject: [PATCH 10/10] Update Steampipe definition in docs/index.md file --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 7ba9e30..461b958 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,7 +15,7 @@ engines: ["steampipe", "sqlite", "postgres", "export"] [GoDaddy](https://godaddy.com) is a publicly traded internet domain registrar and web hosting company. It provides services such as domain registration, website hosting, website building, and email hosting for individuals and businesses. -[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 GoDaddy domains: