Back to plugin list
gandi
Official
Premium

Gandi

The CloudQuery Gandi plugin pulls configuration out of Gandi resources and loads it into any supported CloudQuery destination

Publisher

cloudquery

Latest version

v3.3.1

Type

Source

Platforms
Date Published

Nov 8, 2023

Price per 1M rows

$100

free quota

1M rows

Set up process


brew install cloudquery/tap/cloudquery

1. Download CLI and login

See installation options

2. Create source and destination configs

Plugin configuration

cloudquery sync gandi.yml postgresql.yml

3. Run the sync

CloudQuery sync

Overview

The CloudQuery Gandi plugin pulls configuration out of Gandi resources and loads it into any supported CloudQuery destination (e.g. PostgreSQL, BigQuery, Snowflake, and more).
kind: source
spec:
  name: gandi
  path: cloudquery/gandi
  registry: cloudquery
  version: "v3.2.1"
  tables: ["*"]
  destinations: ["postgresql"]

  spec:
    api_key: "your_api_key" # required
    # concurrency: 1000

Authentication

In order to fetch information from Gandi, cloudquery needs to be authenticated. An API key is required for authentication. Get your API key from Gandi's Account Settings Page.
Once you have your API key, you can store it as an environment variable:
export GANDI_API_KEY=<your_api_key>
(MacOS / Linux) or
set GANDI_API_KEY=<your_api_key>
(Windows)

Configuration

This is the (nested) spec used by the Gandi source plugin.
  • api_key (string) (required)
    An API key to access Gandi resources. This can be generated from Gandi's Account Settings Page.
  • sharing_id (string) (optional)
    This is your Gandi Organization ID if you wish to limit the queries to a specific Gandi org.
  • gandi_debug (bool) (optional) (default: false)
    Enables verbose logging of HTTP calls made by the underlying library.
  • endpoint_url (string, optional. Default: https://api.gandi.net):
    Endpoint URL to make the API requests to. To use the Gandi Sandbox API endpoint, set this to https://api.sandbox.gandi.net/.
  • timeout_secs (integer as seconds) (optional) (default: 300)
    Default timeout for each API request. Defaults to 5 minutes.
  • concurrency (integer) (optional) (default: 1000)
    Number of resources to sync in parallel.

Query Examples

Detect domain registrations that will expire soon

select fqdn, dates->>'registry_ends_at' as registry_ends_at, date_trunc('day', (dates->>'registry_ends_at')::timestamp - current_timestamp) as days_left from gandi_domains where ((dates->>'registry_ends_at')::timestamp - interval '90 day') < current_timestamp order by 1;

Get domains in Gandi LiveDNS

select fqdn, current, nameservers from gandi_domain_live_dns order by 1;

Get a list of glue records

select fqdn, name, ips from gandi_domain_glue_records order by 1, 2;

Get list of LiveDNS domains which don't have automatic snapshots enabled

select d.fqdn from gandi_livedns_domains d left join gandi_livedns_snapshots s on s.fqdn=d.fqdn and s.automatic where s.fqdn is null;

Inspect LiveDNS snapshots for a given domain

select count(1) as number_of_snapshots, max(created_at) as last_snapshot_at from gandi_livedns_snapshots where fqdn = 'yourdomain.com';


Subscribe to product updates

Be the first to know about new features.