PYTHON-DESIGNATECLIENT(1)

πŸ“¦
version 7.0.0 Β· 4 versions
, in nixpkgs unstable

Bestie, welcome to the python-designateclient(1) manual page πŸ’… β€” this is the whole vibe for python-designateclient 7.0.0, and it's literally your guide to the Designate v2 APIs.

🌸 NAME 🌸

python-designateclient - python-designateclient 7.0.0

Okay so python-designateclient ships python bindings AND command line tools for the Designate v2 APIs. The Python API bindings (#bindings) are provided by the designateclient module. It's giving official-bindings energy, no cap. ✨

The designate plugin can be used via the openstack command line tool. More info lives on the designate command line tool page (#shell-v2).

You'll need credentials for an OpenStack cloud that implements the Designate API in order to use the client. No creds, no slay. πŸ™ˆ

✨ INSTALLATION ✨

πŸŽ€ Install the client from PyPI πŸŽ€

The python-designateclient package is published on PyPI at https://pypi.org/project/python-designateclient/ and can be installed with the pip tool, which will manage installing all python dependencies:

pip install python-designateclient
Warning, bestie: the packages on PyPI may lag behind the git repo in functionality. πŸ’€

πŸ¦‹ Setup the client from source πŸ¦‹

If you want the latest version, straight from github:

git clone git@github.com:openstack/python-designateclient.git
cd python-designateclient
virtualenv .venv
. .venv/bin/activate
pip install -r requirements.txt -r test-requirements.txt
python setup.py install

🌈 Setup the client in development mode 🌈

Installing in development mode lets you make changes to the source code & test directly without having to re-run the python setup.py install step. You can find out more about Development Mode at https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode

git clone git@github.com:openstack/python-designateclient.git
cd python-designateclient
virtualenv .venv
. .venv/bin/activate
pip install -r requirements.txt -r test-requirements.txt
python setup.py develop

πŸ‘‘ USING PYTHON-DESIGNATECLIENT πŸ‘‘

πŸ’œ Python Bindings - v2 πŸ’œ

The python-designateclient package comes with python bindings for the Designate API: v2. This can be used to interact with the Designate API from any python program. Main character energy for your scripts, fr fr. ✨

🫢 Introduction - Bindings v2 🫢

To view examples of usage please checkout the doc/examples folder, basic usage is:

#!/usr/bin/env python
from designateclient.v2 import client
from designateclient import shell

from keystoneauth1.identity import generic
from keystoneauth1 import session as keystone_session

auth = generic.Password(
 auth_url=shell.env('OS_AUTH_URL'),
 username=shell.env('OS_USERNAME'),
 password=shell.env('OS_PASSWORD'),
 project_name=shell.env('OS_PROJECT_NAME'),
 project_domain_id='default',
 user_domain_id='default')

session = keystone_session.Session(auth=auth)

client = client.Client(session=session)

zone = client.zones.create('i.io.', email='i@i.io')

rs = client.recordsets.create(zone['id'], 'www', 'A', ['10.0.0.1'])

πŸ’» OpenStack CLI πŸ’»

The python-designateclient package comes with a plugin for the openstack command line tool (installed as openstack). This can be used to access a Designate API without having to manipulate JSON by hand, it can also produce the output in a variety of formats (JSON, CSV) and allow you to select columns to be displayed. Obsessed with not hand-editing JSON? Same. 😭

⭐ Installation ⭐

Both python-openstackclient and python-designateclient must be installed:

$ pip install python-openstackclient python-designateclient

🌟 Configuration 🌟

openstack requires certain information to talk to the REST API. An in-depth explanation is covered in the OpenStack Client configuration documentation at https://docs.openstack.org/python-openstackclient/latest/configuration/index.html.

To get started, all you usually need are the following variables:

OS_AUTH_VERSION=3
OS_IDENTITY_API_VERSION=3
OS_AUTH_URL=http://127.0.0.1:5000/v3
OS_PROJECT_NAME=demo
OS_USERNAME=demo
OS_TENANT_NAME=demo
OS_PASSWORD=password

πŸ“ Using the Command Line Tool πŸ“

With enough details now in the environment, you can use openstack to create a zone and populate it with some records:

$ openstack zone create --email admin@example.com example.com.
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| action         | CREATE                               |
| created_at     | 2016-04-19T17:44:04.000000           |
| description    | None                                 |
| email          | admin@example.com                    |
| id             | 388814ef-3c5d-415e-a866-5b1d13d78dae |
| masters        |                                      |
| name           | example.com.                         |
| pool_id        | 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| project_id     | 123456                               |
| serial         | 1461087844                           |
| status         | PENDING                              |
| transferred_at | None                                 |
| ttl            | 3600                                 |
| type           | PRIMARY                              |
| updated_at     | None                                 |
| version        | 1                                    |
+----------------+--------------------------------------+

Now that the zone has been created, we can start adding records.

You'll note that the zone name (example.com) has a trailing ., as per the DNS standard, and we didn't set a TTL.

$ openstack recordset create --type A --record 192.0.2.20 example.com. www
+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| action      | CREATE                               |
| created_at  | 2016-04-19T17:51:12.000000           |
| description | None                                 |
| id          | 180d3574-3c29-4ea2-b6ff-df904bd3f126 |
| name        | www.example.com.                     |
| records     | 192.0.2.20                           |
| status      | PENDING                              |
| ttl         | None                                 |
| type        | A                                    |
| updated_at  | None                                 |
| version     | 1                                    |
| zone_id     | 388814ef-3c5d-415e-a866-5b1d13d78dae |
+-------------+--------------------------------------+

🌈 Designate-specific Subcommands 🌈

Okay bestie, real talk: besides zone create and recordset create, this right here is the entire list of subcommands that turn on Designate V2 support. Like, the whole roster. Every single one. No cap. πŸ’…

I'm gonna give you the full rundown β€” subcommand, what it does, and whether it's a "you need admin for this" situation. Pay attention to the ones marked Admin Required, because those will absolutely vibe-check you if you don't have the permissions. 🫢

  • zone create β€” Create new zone ✨
  • zone list β€” List zones
  • zone show β€” Show zone details
  • zone set β€” Set zone properties
  • zone delete β€” Delete zone
  • recordset create β€” Create new recordset
  • recordset list β€” List recordsets
  • recordset list all β€” List all recordsets in all zones
  • recordset show β€” Show recordset details
  • recordset set β€” Set recordset properties
  • recordset delete β€” Delete recordset
  • ptr record list β€” List floatingip ptr records
  • ptr record show β€” Show floatingip ptr record details
  • ptr record set β€” Set floatingip ptr record
  • ptr record unset β€” Unset floatingip ptr record
  • zone export create β€” Export a Zone
  • zone export list β€” List Zone Exports
  • zone export show β€” Show a Zone Export
  • zone export delete β€” Delete a Zone Export
  • zone export showfile β€” Show the zone file for the Zone Export
  • zone import create β€” Import a Zone from a file on the filesystem
  • zone import list β€” List Zone Imports
  • zone import show β€” Show a Zone Import
  • zone import delete β€” Delete a Zone Import
  • zone transfer request create β€” Create new zone transfer request
  • zone transfer request list β€” List Zone Transfer Requests
  • zone transfer request show β€” Show Zone Transfer Request Details
  • zone transfer request set β€” Set a Zone Transfer Request
  • zone transfer request delete β€” Delete a Zone Transfer Request
  • zone transfer accept request β€” Accept a Zone Transfer Request
  • zone transfer accept list β€” List Zone Transfer Accepts
  • zone transfer accept show β€” Show Zone Transfer Accept
  • zone abandon β€” Abandon a zone β€” Admin Required: Yes πŸ‘‘
  • zone axfr β€” AXFR a zone
  • zone blacklist β€” Create new blacklist β€” Admin Required: Yes πŸ‘‘

So yeah, that's the squad. πŸ¦‹ Notice how zone abandon and zone blacklist are the only two flexing that Admin Required: Yes energy here β€” everything else is just regular business, no special crown needed. πŸ’–

…and that table’s last wrapped bit is create β€” yep, the tail end of zone blacklist create, admin-only bestie β€” then the rest of the admin-only command squad is:

  • zone blacklist list β€” lists blacklists. Needs admin? Yes πŸ’…
  • zone blacklist show β€” shows blacklist details. Needs admin? Yes ✨
  • zone blacklist set β€” sets blacklist properties. Needs admin? Yes πŸŽ€
  • zone blacklist delete β€” deletes a blacklist. Needs admin? Yes πŸ¦‹
  • tld create β€” creates a new tld. Needs admin? Yes 🌸
  • tld list β€” lists tlds. Needs admin? Yes πŸ’–
  • tld show β€” shows tld details. Needs admin? Yes πŸ”₯
  • tld set β€” sets tld properties. Needs admin? Yes ⭐
  • tld delete β€” deletes a tld. Needs admin? Yes πŸ‘‘

🫢 Built-in Designate Documentation 🫢

You’ll find the full docs right in the shell by running:

openstack --help

And for one specific command, you can execute:

openstack subcommand help

🌈 Examples 🌈

Fair warning bestie: some examples have chunks of output snipped out bc otherwise this doc would be a whole novel. πŸ“š

🌸 Working with Zones 🌸

Create a zone with the following command:

$ openstack zone create --email admin@example.com example.com.
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| action         | CREATE                               |
| created_at     | 2016-04-19T17:44:04.000000           |
| description    | None                                 |
| email          | admin@example.com                    |
| id             | 388814ef-3c5d-415e-a866-5b1d13d78dae |
| masters        |                                      |
| name           | example.com.                         |
| pool_id        | 794ccc2c-d751-44fe-b57f-8894c9f5c842 |
| project_id     | 123456                               |
| serial         | 1461087844                           |
| status         | PENDING                              |
| transferred_at | None                                 |
| ttl            | 3600                                 |
| type           | PRIMARY                              |
| updated_at     | None                                 |
| version        | 1                                    |
+----------------+--------------------------------------+

See the new zone in your list of zones with the following command:

$ openstack zone list

Display a specific zone with either of these commands β€” most zone commands accept either the zone_id or name attribute:

$ openstack zone show example.com.
$ openstack zone show 388814ef-3c5d-415e-a866-5b1d13d78dae

Update the zone with this command:

$ openstack zone set --description "Description" example.com.

Delete the zone with this command:

$ openstack zone delete example.com.

πŸ¦‹ Working with Recordsets πŸ¦‹

Using the zone above, create a recordset with the following command:

$ openstack recordset create example.com. --type A www --record 192.0.2.20
+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| action      | CREATE                               |
| created_at  | 2016-04-19T17:51:12.000000           |
| description | None                                 |
| id          | 180d3574-3c29-4ea2-b6ff-df904bd3f126 |
| name        | www.example.com.                     |
| records     | 192.0.2.20                           |
| status      | PENDING                              |
| ttl         | None                                 |
| type        | A                                    |
| updated_at  | None                                 |
| version     | 1                                    |
| zone_id     | 388814ef-3c5d-415e-a866-5b1d13d78dae |
+-------------+--------------------------------------+

Multiple records can be provided for a specific recordset type:

$ openstack recordset create example.com. --type A www --record 192.0.2.20 --record 192.0.2.21

See the new recordset in the list of recordsets with the following command:

$ openstack recordset list example.com.

Display a specific recordset:

$ openstack recordset show example.com. www.example.com.

Update a specific recordset:

$ openstack recordset set example.com. www.example.com. --ttl 10000 --record 192.0.2.20 --record 192.0.2.21

Delete a recordset:

$ openstack recordset delete example.com. www.example.com.

πŸ’œ Working with PTR Records πŸ’œ

Reverse DNS for Neutron Floating IPs can be managed with the "ptr" subcommand.

Create a PTR record:

$ openstack ptr record set RegionOne:5c02c519-4928-4a38-bd10-c748c200912f ftp.example.com.
+-------------+------------------------------------------------+
| Field       | Value                                          |
+-------------+------------------------------------------------+
| action      | CREATE                                         |
| address     | 172.24.4.11                                    |
| description | None                                           |
| id          | RegionOne:5c02c519-4928-4a38-bd10-c748c200912f |
| ptrdname    | ftp.example.com.                               |
| status      | PENDING                                        |
| ttl         | 3600                                           |
+-------------+------------------------------------------------+

List all PTR records:

$ openstack ptr record list

Show a PTR record:

$ openstack ptr record show RegionOne:5c02c519-4928-4a38-bd10-c748c200912f

Delete a PTR record:

$ openstack ptr record delete RegionOne:5c02c519-4928-4a38-bd10-c748c200912f

πŸŽ€ Working with Zone Exports πŸŽ€

Zone exports enable you to save Designate zone information offline.

Create a zone export:

$ openstack zone export create example.com.
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| created_at | 2016-04-19T20:42:16.000000           |
| id         | 6d5acb9d-f3d6-4ed4-96e1-03bc0e405bb5 |
| location   | None                                 |
| message    | None                                 |
| project_id | 123456                               |
| status     | PENDING                              |
| updated_at | None                                 |
| version    | 1                                    |
| zone_id    | 388814ef-3c5d-415e-a866-5b1d13d78dae |
+------------+--------------------------------------+

List zone exports:

$ openstack zone export list

Show zone export:

$ openstack zone export show 6d5acb9d-f3d6-4ed4-96e1-03bc0e405bb5

Show the zone file for the Zone Export:

$ openstack zone export showfile 6d5acb9d-f3d6-4ed4-96e1-03bc0e405bb5 -f value
$ORIGIN example.com.
$TTL 3600

example.com.  IN NS ns2.exampleprovider.com.
example.com.  IN NS ns1.exampleprovider.com.
example.com.  IN SOA ns.exampleprovider.com. admin@example.com 1458678636 7200 300 604800 300

Delete zone export:

$ openstack zone export delete 6d5acb9d-f3d6-4ed4-96e1-03bc0e405bb5

🧚 Working with Zone Imports 🧚

Zone imports enable you to import a zone into Designate from a file on the filesystem.

Create a zone import from a file:

$ openstack zone import create zonefile.txt
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| created_at | 2016-04-19T20:59:38.000000           |
| id         | bab6e152-da9f-4dfc-8a59-3f9710fe4894 |
| message    | None                                 |
| project_id | 123456                               |
| status     | PENDING                              |
| updated_at | None                                 |
| version    | 1                                    |
| zone_id    | None                                 |
+------------+--------------------------------------+

List zone imports:

$ openstack zone import list

Show zone import:

$ openstack zone import show 839d8041-1960-4d74-8533-118d52218074

Delete zone import:

$ openstack zone import delete 839d8041-1960-4d74-8533-118d52218074

πŸ“ Working with Zone Blacklists πŸ“

Blacklisting zone names enables you to block any zone pattern from creation.

Create a zone blacklist

+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| created_at  | 2016-05-10 00:26:07                  |
| description | This is a blacklisted domain.        |
| id          | 308ecb82-4952-4476-88b4-9db18fc78e10 |
| pattern     | ^example.com.$                       |
| updated_at  | None                                 |
+-------------+--------------------------------------+

List zone blacklist

Bestie, just look at all of them:

$ openstack zone blacklist list

Show zone blacklist

One specific blacklist entry, served fresh πŸ’…:

$ openstack zone blacklist show 308ecb82-4952-4476-88b4-9db18fc78e10

Update zone blacklist

Changing the pattern and the description at the same time β€” multitasking icon behavior:

$ openstack zone blacklist set --pattern "^([A-Za-z0-9_\-]+\.)*example\.com\.$" --description "Updated the description" 308ecb82-4952-4476-88b4-9db18fc78e10

Delete a zone blacklist

Gone. Blocked. Uninvited from the party 🫢:

$ openstack zone blacklist delete 308ecb82-4952-4476-88b4-9db18fc78e10

🌈 Working with Zone Transfers Between Projects

Zone Transfers are literally the moment where a zone changes hands β€” you're handing ownership of a zone over to another project. It's giving "custody arrangement but for DNS" 😭

Create a Zone Transfer Request

$ openstack zone transfer request create --target-project-id 9cc52dd7649c4aa99fa9db2fb94dabb8 53cdcf82-9e32-4a00-a90d-32d6ec5db7e9
+-------------------+----------------------------------------------------------------------------------------+
| Field             | Value                                                                                  |
+-------------------+----------------------------------------------------------------------------------------+
| created_at        | 2016-05-10 01:39:00                                                                    |
| description       | None                                                                                   |
| id                | 98ba1d22-c092-4603-891f-8a0ab04f7e57                                                   |
| key               | J6JCET2C                                                                               |
| links             | {u'self':                                                                              |
|                   | u'http://192.168.11.182:9001/v2/zones/tasks/transfer_requests/98ba1d22-c092-4603-891f- |
|                   | 8a0ab04f7e57'}                                                                         |
| project_id        | 10457ad1fe074f4a89bb1e4c0cd83d40                                                       |
| status            | ACTIVE                                                                                 |
| target_project_id | 9cc52dd7649c4aa99fa9db2fb94dabb8                                                       |
| updated_at        | None                                                                                   |
| zone_id           | 53cdcf82-9e32-4a00-a90d-32d6ec5db7e9                                                   |
| zone_name         | example.com.                                                                           |
+-------------------+----------------------------------------------------------------------------------------+

List Zone Transfer Requests

$ openstack zone transfer request list

Show Zone Transfer Request Details

$ openstack zone transfer request show 98ba1d22-c092-4603-891f-8a0ab04f7e57

Update a Zone Transfer Request

$ openstack zone transfer request set 98ba1d22-c092-4603-891f-8a0ab04f7e57 --description "demo transfer"

Delete a Zone Transfer Request

$ openstack zone transfer request delete 98ba1d22-c092-4603-891f-8a0ab04f7e57

Accept a Zone Transfer Request

Ok so this is the part where the other project actually says "yes, hand it over" β€” you need the --transfer-id and the --key together, no cap πŸ”‘

$ openstack zone transfer accept request  --transfer-id 98ba1d22-c092-4603-891f-8a0ab04f7e57 --key J6JCET2C
+--------------------------+---------------------------------------------------------------------------------+
| Field                    | Value                                                                           |
+--------------------------+---------------------------------------------------------------------------------+
| created_at               | 2016-05-10 05:02:52                                                             |
| id                       | a8750f50-d7e6-403a-89d2-e209d62ef60e                                            |
| key                      | J6JCET2C                                                                        |
| links                    | {u'self':                                                                       |
|                          | u'http://192.168.11.182:9001/v2/zones/tasks/transfer_accepts/a8750f50-d7e6      |
|                          | -403a-89d2-e209d62ef60e', u'zone':                                              |
|                          | u'http://192.168.11.182:9001/v2/zones/53cdcf82-9e32-4a00-a90d-32d6ec5db7e9'}    |
| project_id               | 10457ad1fe074f4a89bb1e4c0cd83d40                                                |
| status                   | COMPLETE                                                                        |
| updated_at               | 2016-05-10 05:02:52                                                             |
| zone_id                  | 53cdcf82-9e32-4a00-a90d-32d6ec5db7e9                                            |
| zone_transfer_request_id | 98ba1d22-c092-4603-891f-8a0ab04f7e57                                            |
+--------------------------+---------------------------------------------------------------------------------+

Show Zone Transfer Accept

$ openstack zone transfer accept show a8750f50-d7e6-403a-89d2-e209d62ef60e

List Zone Transfer Accept

$ openstack zone transfer accept list

πŸ¦‹ Working with Top Level Domains

The tld commands enable you to manage top level domains. Yes, like .com. Main character domains only ✨

Create a TLD

$ openstack tld create --name com --description "demo TLD"
+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| created_at  | 2016-05-10 05:21:40                  |
| description | demo TLD                             |
| id          | a7bba387-712b-4b42-9368-4508642c6113 |
| name        | com                                  |
| updated_at  | None                                 |
+-------------+--------------------------------------+

List TLDs

$ openstack tld list

Show TLD Details

$ openstack tld show a7bba387-712b-4b42-9368-4508642c6113

Update a TLD

Glow-up incoming β€” renaming com to org and swapping the description too:

$ openstack tld set a7bba387-712b-4b42-9368-4508642c6113 --name org --description "TLD description"

Delete a TLD

$ openstack tld delete a7bba387-712b-4b42-9368-4508642c6113

πŸ‘‘ DESIGNATE OPENSTACK CLIENT COMMAND REFERENCE

This is the whole list of released CLI commands available in OpenStack client β€” like, the full menu. You can reference any of them by doing openstack help <command>. Bookmark it, honestly πŸ“Œ

πŸŽ€ Managing the DNS Service

dns limit list

List DNS limits. That's it, that's the vibe.

dns limit list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, and it defaults to table
  • -c COLUMN, --column COLUMN β€” pick which column(s) to include; you can repeat it to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin. πŸ’…

dns quota list

List quotas. Receipts, but for resource limits 🧾

dns quota list
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--project-id PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --project-id <PROJECT_ID> β€” Project ID Default: current project

This command is provided by the python-designateclient plugin. 🌸

dns quota reset

Reset quotas. Fresh start, clean slate, new semester energy ✨

dns quota reset
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--project-id PROJECT_ID]
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --project-id <PROJECT_ID> β€” Project ID
πŸ’– this one's provided by the python-designateclient plugin, bestie β€” same as always.

πŸŽ€ dns quota set πŸŽ€

Set quotas. Yes, you're literally the quota police now πŸ’…

dns quota set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--project-id PROJECT_ID]
    [--api-export-size <api-export-size>]
    [--recordset-records <recordset-records>]
    [--zone-records <zone-records>]
    [--zone-recordsets <zone-recordsets>]
    [--zones <zones>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --project-id <PROJECT_ID> β€” Project ID
  • --api-export-size <api-export-size> β€” New value for the api-export-size quota
  • --recordset-records <recordset-records> β€” New value for the recordset-records quota
  • --zone-records <zone-records> β€” New value for the zone-records quota
  • --zone-recordsets <zone-recordsets> β€” New value for the zone-recordsets quota
  • --zones <zones> β€” New value for the zones quota
🌸 This command is provided by the python-designateclient plugin.

πŸ¦‹ dns service list πŸ¦‹

List service statuses. Like a vibe check but for your services ✨

dns service list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--hostname HOSTNAME]
    [--service_name SERVICE_NAME]
    [--status STATUS]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --hostname <HOSTNAME> β€” Hostname
  • --service_name <SERVICE_NAME> β€” Service Name
  • --status <STATUS> β€” Status
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
πŸ’œ This command is provided by the python-designateclient plugin.

🫢 dns service show 🫢

Show service status details. The full tea on one specific service πŸ“

dns service show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Service Status ID
🧚 This command is provided by the python-designateclient plugin.

🌈 Pointer Records 🌈

okay this whole little family is about floating IP ptr records and honestly? iconic name, no notes πŸ‘‘


⭐ ptr record list ⭐

List floating IP ptr records. All of them. At once. Slay.

ptr record list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
πŸ’– This command is provided by the python-designateclient plugin.

πŸ”₯ ptr record set πŸ”₯

Set floating IP ptr record. This is the one where you actually do the thing, bestie πŸ’…

ptr record set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--description DESCRIPTION | --no-description]
    [--ttl TTL | --no-ttl]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    floatingip_id
    ptrdname
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” the no-description half of that pair (the docs literally give it no description, so I'm not gonna invent one πŸ™ˆ)
  • --ttl <TTL> β€” TTL
  • --no-ttl β€” the no-ttl half of that pair (again, no description supplied 🫠)
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • floatingip_id β€” Floating IP ID in format region:floatingip_id
  • ptrdname β€” PTRD Name
πŸŽ€ This command is provided by the python-designateclient plugin.

πŸ’€ ptr record show πŸ’€

Show floating IP ptr record details. Just look at it. Gorgeous. πŸ‘‘

ptr record show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    floatingip_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • floatingip_id β€” the Floating IP ID, in the format region:floatingip_id 🌍

This command is provided by the python-designateclient plugin πŸ’…


πŸŽ€ ptr record unset

Unset floating IP ptr record πŸ™ˆ like, bye-bye pointer record

ptr record unset
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    floatingip_id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • floatingip_id β€” Floating IP ID in format region:floatingip_id

This command is provided by the python-designateclient plugin πŸ’…


🌈 RECORD SETS 🌈

okay bestie this is the main character section, record sets are literally the whole point of DNS πŸŽ€

🌸 recordset create

Create new recordset ✨ fresh new records, no cap

recordset create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    --record RECORD
    --type TYPE
    [--ttl TTL]
    [--description DESCRIPTION]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
    name
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --record <RECORD> β€” RecordSet Record, repeat if necessary
  • --type <TYPE> β€” RecordSet Type
  • --ttl <TTL> β€” Time To Live (Seconds)
  • --description <DESCRIPTION> β€” Description
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • zone_id β€” Zone ID
  • name β€” RecordSet Name

This command is provided by the python-designateclient plugin πŸ’…


πŸ’€ recordset delete

Delete recordset β€” it's giving "gone, reduced to atoms" 😭

recordset delete
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--edit-managed]
    zone_id
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --edit-managed β€” Edit resources marked as managed. Default: False
  • zone_id β€” Zone ID
  • id β€” RecordSet ID

This command is provided by the python-designateclient plugin πŸ’…


πŸ¦‹ recordset list

List recordsets πŸ‘‘ the "let me see what's in here" command

recordset list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name NAME]
    [--type TYPE]
    [--data DATA]
    [--ttl TTL]
    [--description DESCRIPTION]
    [--status STATUS]
    [--action ACTION]
    [--long]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
heads up: this one has csv in its formatter list and a --quote flag, the other recordset commands don't 🫢
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --name <NAME> β€” RecordSet Name
  • --type <TYPE> β€” RecordSet Type
  • --data <DATA> β€” RecordSet Record Data
  • --ttl <TTL> β€” Time To Live (Seconds)
  • --description <DESCRIPTION> β€” Description
  • --status <STATUS> β€” RecordSet Status
  • --action <ACTION> β€” RecordSet Action
  • --long β€” List additional fields in output
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • zone_id β€” Zone ID. To list all recordsets specify 'all'

This command is provided by the python-designateclient plugin πŸ’…


🧚 recordset set

Set recordset properties πŸŽ€ lil update energy

recordset set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--record RECORD]
    [--description DESCRIPTION | --no-description]
    [--ttl TTL | --no-ttl]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--edit-managed]
    zone_id
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --record <RECORD> β€” RecordSet Record, repeat if necessary
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” ngl the manpage just lists this one with no blurb, so here it is, present and accounted for 🌸
  • --ttl <TTL> β€” TTL
  • --no-ttl β€” again, no blurb in the source, but it's here bestie πŸ’œ
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --edit-managed β€” Edit resources marked as managed. Default: False
  • zone_id β€” Zone ID
  • id β€” RecordSet ID

This command is provided by the python-designateclient plugin πŸ’…


πŸ“ recordset show

Show recordset details πŸ” the full ✨receipts✨

recordset show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • zone_id β€” Zone ID
  • id β€” RecordSet ID

This command is provided by the python-designateclient plugin πŸ’…


πŸ‘‘ TOP LEVEL DOMAINS πŸ‘‘

the .com .org .net girlies, we love them πŸ’–

🌟 tld create

Create new tld ✨ brand new top level domain, slay

tld create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    --name NAME
    [--description DESCRIPTION]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” max display width, bb. Anything <1 just turns that limit off. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but lowkey the parameter wins β€” it takes precedence πŸ’…
  • --fit-width β€” squishes the table to fit your display width. It's implied automatically if --max-width is greater than 0. Wanna have it on always? Set CLIFF_FIT_WIDTH=1 in your environment ✨
  • --print-empty β€” prints an empty table when there's literally no data to show. No ghosting you with a blank screen 🫢
  • --name <NAME> β€” the TLD Name
  • --description <DESCRIPTION> β€” the Description
  • --all-projects β€” shows results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


πŸ’… tld delete β€” delete tld

Bestie this one is exactly what it says. It deletes the tld. Gone. Periodt.

tld delete [--all-projects] [--sudo-project-id SUDO_PROJECT_ID] id
  • --all-projects β€” shows results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the Project ID to impersonate for this command. Default: None
  • id β€” TLD name or ID

This command is provided by the python-designateclient plugin.


πŸ¦‹ tld list β€” list tlds

tld list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name NAME]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include. Can be repeated to show multiple columns πŸ‘‘
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have priority, non-existing columns are just ignored, no drama). Column names are case-insensitive and accept underscores for spaces, and yeah it can be repeated ✨
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --name <NAME> β€” TLD NAME
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


πŸŽ€ tld set β€” set tld properties

tld set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name NAME]
    [--description DESCRIPTION | --no-description]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” adds a prefix to all variable names
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --name <NAME> β€” TLD Name
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” the counterpart flag, no description attached
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” TLD name or ID

This command is provided by the python-designateclient plugin.


🌈 tld show β€” show tld details

tld show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” adds a prefix to all variable names
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there is no data to show.
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” TLD name or ID

This command is provided by the python-designateclient plugin.


πŸ” Transaction Signature Keys πŸ”

Okay bestie, this is the TSIG key corner of the world. Keys. Secrets. The whole vibe. Let's get into it πŸ‘‘

🧚 tsigkey create β€” create new tsigkey

tsigkey create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    --name NAME
    --algorithm ALGORITHM
    --secret SECRET
    --scope SCOPE
    --resource-id RESOURCE_ID
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]

Note how --name, --algorithm, --secret, --scope and --resource-id are not in brackets β€” they're required, bestie. No vibes-only creation here 😀

  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” adds a prefix to all variable names
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there is no data to show.
  • --name <NAME> β€” TSIGKey Name
  • --algorithm <ALGORITHM> β€” TSIGKey algorithm
  • --secret <SECRET> β€” TSIGKey secret
  • --scope <SCOPE> β€” TSIGKey scope
  • --resource-id <RESOURCE_ID> β€” TSIGKey resource_id
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


πŸ’€ tsigkey delete β€” delete tsigkey

tsigkey delete [--all-projects] [--sudo-project-id SUDO_PROJECT_ID] id
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” TSIGKey ID

This command is provided by the python-designateclient plugin.


🌸 tsigkey list β€” list tsigkeys

tsigkey list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name NAME]
    [--algorithm ALGORITHM]
    [--scope SCOPE]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --name <NAME> β€” TSIGKey NAME
  • --algorithm <ALGORITHM> β€” TSIGKey algorithm
  • --scope <SCOPE> β€” TSIGKey scope
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


πŸ“ tsigkey set β€” set tsigkey properties

(hold that thought, bestie β€” the details for this one are coming right up πŸ’–)

tsigkey set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name NAME]
    [--algorithm ALGORITHM]
    [--secret SECRET]
    [--scope SCOPE]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id

okay so here's the rest of the tsigkey set glow-up, bestie β€” every knob you can turn πŸ‘‘

  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table ✨
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns πŸŽ€
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names πŸ’–
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --name <NAME> β€” TSIGKey Name
  • --algorithm <ALGORITHM> β€” TSIGKey algorithm
  • --secret <SECRET> β€” TSIGKey secret 🀫
  • --scope <SCOPE> β€” TSIGKey scope
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” TSIGKey ID

This command is provided by the python-designateclient plugin.


tsigkey show πŸ‘€

Show tsigkey details β€” like a lil spotlight moment for your TSIG key ✨

tsigkey show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns 🌸
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” TSIGKey ID

This command is provided by the python-designateclient plugin.


Managing Zones 🌈

zones!! the whole main-character arc of designate, honestly. here's everything you can do to them πŸ¦‹

zone abandon

Abandon a zone β€” yes it's exactly as dramatic as it sounds, you're leaving it behind 😭

zone abandon [--all-projects] [--sudo-project-id SUDO_PROJECT_ID] id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone ID

This command is provided by the python-designateclient plugin.

zone axfr

AXFR a zone β€” the classic zone-transfer flex πŸ’…

zone axfr [--all-projects] [--sudo-project-id SUDO_PROJECT_ID] id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone ID

This command is provided by the python-designateclient plugin.

zone blacklist create

Create new blacklist β€” building the naughty list, but make it DNS 🚫✨

zone blacklist create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    --pattern PATTERN
    [--description DESCRIPTION]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns πŸŽ€
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --pattern <PATTERN> β€” Blacklist pattern πŸ”₯
  • --description <DESCRIPTION> β€” Description
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
heads up bestie: --pattern PATTERN is required here, no skipping it πŸ’€

This command is provided by the python-designateclient plugin.

zone blacklist delete

Delete blacklist β€” bye bye, blocked pattern 🫢

zone blacklist delete
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Blacklist ID

This command is provided by the python-designateclient plugin.

zone blacklist list

List blacklists β€” the full roster, sorted however you like πŸ“‹

zone blacklist list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--pattern PATTERN]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table ✨ (and yeah, this one's formatter list includes csv too β€” {csv,json,table,value,yaml})
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column <SORT_COLUMN> β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated πŸ”€
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --pattern <PATTERN> β€” Blacklist Pattern
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.

zone blacklist set

Set blacklist properties β€” little tweak here, little tweak there πŸ’…

zone blacklist set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--pattern PATTERN]
    [--description DESCRIPTION | --no-description]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns 🌸
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --pattern <PATTERN> β€” Blacklist pattern
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” (the other half of that --description DESCRIPTION | --no-description situation up there β€” pick one, not both)
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Blacklist ID

This command is provided by the python-designateclient plugin.

zone blacklist show

Show blacklist details β€” zoom in on one blocked pattern πŸ”

zone blacklist show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table ✨
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names πŸŽ€
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None 🫢
  • id β€” the Blacklist ID πŸ’…

This command is provided by the python-designateclient plugin.


🌈 zone create

Create a whole new zone, brand new, fresh out the box ✨

zone create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--email EMAIL]
    [--type {PRIMARY,SECONDARY}]
    [--ttl TTL]
    [--description DESCRIPTION]
    [--masters MASTERS [MASTERS ...]]
    [--attributes ATTRIBUTES [ATTRIBUTES ...]]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    name
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” pick the column(s) you want in the output, and yeah you can repeat it to show multiple columns πŸ’–
  • --noindent β€” turns off indenting the JSON
  • --prefix <PREFIX> β€” slaps a prefix on all the variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but this parameter takes precedence πŸ‘‘
  • --fit-width β€” fits the table to your display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable it
  • --print-empty β€” prints an empty table when there's literally no data to show πŸ™ˆ
  • --email <EMAIL> β€” the zone email. Required for the PRIMARY zone type ⚠️
  • --type <TYPE> β€” the zone type
  • --ttl <TTL> β€” Time To Live, in seconds ⏱️
  • --description <DESCRIPTION> β€” a description
  • --masters <MASTERS> β€” the zone masters
  • --attributes <ATTRIBUTES> β€” the zone attributes
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • name β€” the Zone Name πŸŽ€

This command is provided by the python-designateclient plugin.


πŸ’€ zone delete

Delete a zone. Gone. Poof. Bestie, be so sure about this one 😭

zone delete
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--delete-shares]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    [--hard-delete]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, repeatable so you can stack multiple columns πŸ’–
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show πŸ™ˆ
  • --delete-shares β€” delete the existing zone shares
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • --hard-delete β€” delete the zone along with the backend zone resources (i.e. files). Default: False ⚠️ yeah, files, so clock that
  • id β€” the Zone ID

This command is provided by the python-designateclient plugin.


πŸ¦‹ zone export create

Export a zone, like a little souvenir of it πŸŽ€

zone export create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • zone_id β€” the Zone ID πŸ’œ

This command is provided by the python-designateclient plugin.


πŸ“ zone export delete

Delete a zone export. Bye bestie πŸ‘‹

zone export delete
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_export_id
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • zone_export_id β€” the Zone Export ID

This command is provided by the python-designateclient plugin.


🌸 zone export list

List all the zone exports β€” the way this one actually gives you sorting options, we love a functional icon πŸ‘‘

zone export list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--status STATUS]
    [--zone-id ZONE_ID]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric (your choices are all, minimal, none, nonnumeric)
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by. Columns listed first get priority, non-existing columns are just ignored, column names are case-insensitive and accept underscores in place of spaces, and yes it can be repeated ✨
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --status <STATUS> β€” the Zone Export Status
  • --zone-id <ZONE_ID> β€” the Zone ID
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


🧚 zone export show

Show a zone export β€” the details reveal, the main character moment πŸ’…

zone export show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_export_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • zone_export_id β€” the Zone Export ID

This command is provided by the python-designateclient plugin.


πŸŽ€ zone export showfile

Show the actual zone file for the Zone Export β€” the receipts, fr fr πŸ“„

zone export showfile
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_export_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” the project ID to impersonate for this command. Default: None
  • zone_export_id β€” the Zone Export ID

This command is provided by the python-designateclient plugin.


🌈 zone import create

Import a Zone from a file on the filesystem πŸ“ lowkey iconic, it's giving "bring your own zone"

zone import create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--attributes ATTRIBUTES [ATTRIBUTES ...]]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_file_path
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format bestie, and it defaults to table πŸ’…
  • -c COLUMN, --column COLUMN β€” pick the column(s) you wanna see. repeat it as many times as you want for multiple columns ✨
  • --noindent β€” turns off the indenting on the JSON. yes there's a switch for that πŸŽ€
  • --prefix <PREFIX> β€” slaps a prefix onto all the variable names
  • --max-width <integer> β€” max display width, and <1 disables it entirely. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence (it wins, periodt)
  • --fit-width β€” fits the table to your display width. it's implied if --max-width is greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable it πŸ¦‹
  • --print-empty β€” prints an empty table if there's literally no data to show
  • --attributes <ATTRIBUTES> β€” Zone Attributes
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone_file_path β€” Path to a zone file πŸ—‚οΈ

This command is provided by the python-designateclient plugin.


πŸ—‘οΈ zone import delete

Delete a Zone Import. bye bye import ✨

zone import delete
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_import_id
  • --all-projects β€” show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone_import_id β€” Zone Import ID

This command is provided by the python-designateclient plugin.


πŸ“‹ zone import list

List Zone Imports β€” the whole lineup, no cap πŸ‘‘

zone import list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--status STATUS]
    [--zone-id ZONE_ID]
    [--message MESSAGE]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --status <STATUS> β€” Zone Import Status
  • --zone-id <ZONE_ID> β€” Zone ID
  • --message <MESSAGE> β€” Zone Import Message
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


πŸ” zone import show

Show a Zone Import β€” peek at one single import, main character energy πŸ’…

zone import show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_import_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone_import_id β€” Zone Import ID

This command is provided by the python-designateclient plugin.


🌈 zone list

List zones β€” like, all of them. your whole zone era ✨

zone list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name NAME]
    [--email EMAIL]
    [--type {PRIMARY,SECONDARY}]
    [--ttl TTL]
    [--description DESCRIPTION]
    [--status STATUS]
    [--long]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --name <NAME> β€” Zone Name
  • --email <EMAIL> β€” Zone Email
  • --type <TYPE> β€” Zone Type
  • --ttl <TTL> β€” Time To Live (Seconds)
  • --description <DESCRIPTION> β€” Description
  • --status <STATUS> β€” Zone Status
  • --long β€” List additional fields in output πŸ‘€
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

This command is provided by the python-designateclient plugin.


🚚 zone move

Move a zone to another pool. we're relocating bestie πŸ’«

zone move
    [--pool-id POOL_ID]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
  • --pool-id <POOL_ID> β€” Pool ID
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone_id β€” Zone ID

This command is provided by the python-designateclient plugin.


🧚 zone nameservers list

List Zone Nameservers β€” the little squad that answers for your zone 🩷

zone nameservers list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

id β€” Zone ID or Name

This command is provided by the python-designateclient plugin.


πŸŽ€ zone set

Set zone properties

     zone set
         [-f {json,shell,table,value,yaml}]
         [-c COLUMN]
         [--noindent]
         [--prefix PREFIX]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--email EMAIL]
         [--ttl TTL]
         [--description DESCRIPTION | --no-description]
         [--masters MASTERS [MASTERS ...]]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         id

okay so zone set is the glow-up command β€” you're editing an existing zone and passing in only the bits you wanna change ✨

  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” which column(s) to include; repeat it as many times as you want multiple columns πŸ’…
  • --noindent β€” turns off indenting for the JSON (yes, it's literally just about the indentation)
  • --prefix <PREFIX> β€” slaps a prefix onto all variable names
  • --max-width <integer> β€” max display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but bestie, the parameter takes precedence 🫢
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --email <EMAIL> β€” Zone Email
  • --ttl <TTL> β€” Time To Live (Seconds)
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” the other half of that | in the synopsis; you give description or you say nope, no description
  • --masters <MASTERS> β€” Zone Masters. Takes one or more: MASTERS [MASTERS ...]
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

id β€” Zone ID

This command is provided by the python-designateclient plugin.


zone share create

Share a Zone β€” literally what it says, you're handing somebody access πŸŽ€

     zone share create
         [-f {json,shell,table,value,yaml}]
         [-c COLUMN]
         [--noindent]
         [--prefix PREFIX]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         zone
         target_project_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone β€” The zone name or ID to share.

target_project_id β€” Target project ID to share the zone with.

This command is provided by the python-designateclient plugin.


zone share delete

Delete a Zone Share β€” un-sharing, the breakup arc πŸ’”

     zone share delete
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         zone
         shared_zone_id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone β€” The zone name or ID to share.

shared_zone_id β€” The zone share ID to delete.

This command is provided by the python-designateclient plugin.


zone share list

List Zone Shares β€” the full roster of who's sharing what πŸ‘‘

     zone share list
         [-f {csv,json,table,value,yaml}]
         [-c COLUMN]
         [--quote {all,minimal,none,nonnumeric}]
         [--noindent]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--sort-column SORT_COLUMN]
         [--sort-ascending | --sort-descending]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         [--target-project-id TARGET_PROJECT_ID]
         zone
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • --target-project-id <TARGET_PROJECT_ID> β€” The target project ID to filter on.

zone β€” The zone name or ID to share.

This command is provided by the python-designateclient plugin.


zone share show

Show Zone Share Details β€” the receipts for one specific share πŸ”

     zone share show
         [-f {json,shell,table,value,yaml}]
         [-c COLUMN]
         [--noindent]
         [--prefix PREFIX]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         zone
         shared_zone_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

zone β€” The zone name or ID to share.

shared_zone_id β€” The zone share ID to show.

This command is provided by the python-designateclient plugin.


zone show

Show zone details β€” one zone, all the tea β˜•

     zone show
         [-f {json,shell,table,value,yaml}]
         [-c COLUMN]
         [--noindent]
         [--prefix PREFIX]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
         id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

id β€” Zone ID

This command is provided by the python-designateclient plugin.


zone transfer accept list

List Zone Transfer Accepts β€” every "yes, I'll take it" on record πŸ¦‹

     zone transfer accept list
         [-f {csv,json,table,value,yaml}]
         [-c COLUMN]
         [--quote {all,minimal,none,nonnumeric}]
         [--noindent]
         [--max-width <integer>]
         [--fit-width]
         [--print-empty]
         [--sort-column SORT_COLUMN]
         [--sort-ascending | --sort-descending]
         [--status STATUS]
         [--all-projects]
         [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --status <STATUS> β€” Zone Transfer Accept Status
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

πŸ’… This command is provided by the python-designateclient plugin.

zone transfer accept request πŸŽ€

Accept a Zone Transfer Request β€” okay bestie, this is the exact shape of the command. ✨

zone transfer accept request
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    --transfer-id TRANSFER_ID
    --key KEY
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --transfer-id <TRANSFER_ID> β€” Transfer ID
  • --key <KEY> β€” Transfer Key
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

🫢 This command is provided by the python-designateclient plugin.

zone transfer accept show 🌸

Show Zone Transfer Accept β€” the vibe check for one accept record. πŸ’…

zone transfer accept show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone Tranfer Accept ID

✨ This command is provided by the python-designateclient plugin.

zone transfer request create πŸ¦‹

Create new zone transfer request β€” new request, who dis? πŸ’–

zone transfer request create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--target-project-id TARGET_PROJECT_ID]
    [--description DESCRIPTION]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    zone_id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --target-project-id <TARGET_PROJECT_ID> β€” Target Project ID to transfer to.
  • --description <DESCRIPTION> β€” Description
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • zone_id β€” Zone ID to transfer.

πŸŽ€ This command is provided by the python-designateclient plugin.

zone transfer request delete πŸ’€

Delete a Zone Transfer Request β€” bye bestie, it's giving cleanup era. 🧹

zone transfer request delete
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone Transfer Request ID

πŸ”₯ This command is provided by the python-designateclient plugin.

zone transfer request list 🌈

List Zone Transfer Requests β€” line 'em up and let the table slay. ✨

zone transfer request list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--status STATUS]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --status <STATUS> β€” Zone Transfer Request Status
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None

⭐ This command is provided by the python-designateclient plugin.

zone transfer request set πŸŽ€

Set a Zone Transfer Request β€” tweak the details, keep the main character energy. πŸ‘‘

zone transfer request set
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--description DESCRIPTION | --no-description]
    [--target-project-id TARGET_PROJECT_ID]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --description <DESCRIPTION> β€” Description
  • --no-description β€” no description text appears in the source for this flag, bestie; it's just listed 😭
  • --target-project-id <TARGET_PROJECT_ID> β€” Target Project ID to transfer to.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone Transfer Request ID

πŸ’– This command is provided by the python-designateclient plugin.

zone transfer request show 🌸

Show Zone Transfer Request Details β€” all the deets, no gatekeeping. 🫢

zone transfer request show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--all-projects]
    [--sudo-project-id SUDO_PROJECT_ID]
    id
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --all-projects β€” Show results from all projects. Default: False
  • --sudo-project-id <SUDO_PROJECT_ID> β€” Project ID to impersonate for this command. Default: None
  • id β€” Zone Tranfer Request ID

πŸ¦‹ This command is provided by the python-designateclient plugin.

πŸ’– CONTRIBUTORS GUIDE πŸ’–

✨ Contributing ✨

Okay so first things first β€” you wanna help build this thing? Iconic. The code literally lives on GitHub at https://github.com/openstack/python-designateclient. If you find a bug, drop it in the Designate Client project on Launchpad at https://launchpad.net/python-designateclient. And if you've got actual code to submit? That goes to the openstack/python-designateclient project using Gerrit, over at https://docs.openstack.org/infra/manual/developers.html#development-workflow. The whole workflow is explained there, iykyk.

Here's the quick-and-dirty summary, bestie:

Step one, install the git-review package because it makes your life so much easier:

pip install git-review

Step two, branch, work, and submit β€” the holy trinity:

# cut a new branch, tracking master
git checkout --track -b bug/id origin/master
# work work work
git add stuff
git commit
# rebase/squash to a single commit before submitting
git rebase -i
# submit
git-review
🫢 Note the git rebase -i in there β€” squash everything into one commit before you submit, or the reviewers will be in your mentions. Periodt.

πŸ§ͺ Functional Tests πŸ§ͺ

The functional tests literally invoke the client executable to check that it actually works against a running Designate. That's the whole vibe.

WARNING: these tests will create and delete zones, recordsets, and other resources in Designate. Like, for real. Don't point them at anything precious. 😭

🌸 Installation 🌸

cd python-designateclient
pip install python-openstackclient
pip install -r requirements.txt -r test-requirements.txt
pip install -e .

πŸŽ€ Configuration πŸŽ€

The functional tests go looking for a variable named TEMPEST_CONFIG, which points at the config file for the test. Set it like this:

export TEMPEST_CONFIG=tempest.conf

The tests will use Keystone to grab the Designate endpoint they're gonna test against. For all the tests to run, they need at least three users: two regular users and one admin. No cap. Here's what that looks like:

[identity]
uri = http://localhost:5000/v2.0
uri_v3 = http://localhost:5000/v3
auth_version = v2
region = RegionOne

username = demo
tenant_name = demo
password = password
domain_name = Default

alt_username = alt_demo
alt_tenant_name = alt_demo
alt_password = password
alt_domain_name = Default

admin_username = admin
admin_tenant_name = admin
admin_password = password
admin_domain_name = Default

[designateclient]
# the directory containing the openstack executable
directory=/root/python-designateclient/.venv/bin

πŸ”₯ Running the tests πŸ”₯

The functional tests get run with tox (which you install with pip install tox, obviously):

tox -e functional

πŸ‘‘ PYTHON-DESIGNATECLIENT PACKAGE REFERENCE πŸ‘‘

πŸ’… designateclient πŸ’…

designateclient package

Subpackages

🌈 designateclient.osc package 🌈

Submodules

⭐ designateclient.osc.plugin module ⭐

OpenStackClient plugin for DNS service. That's the whole assignment. πŸ’

  • designateclient.osc.plugin.build_option_parser(parser) β€” hook to add global options.
  • designateclient.osc.plugin.make_client(instance) β€” makes the client. That's it, that's the function.

Module contents

πŸ¦‹ designateclient.v2 package πŸ¦‹

Subpackages

πŸ’œ designateclient.v2.cli package πŸ’œ

Submodules

πŸ“ designateclient.v2.cli.blacklists module πŸ“

  • class designateclient.v2.cli.blacklists.CreateBlacklistCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Creates a new blacklist, bestie. ✨
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.blacklists.CreateBlacklistCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.blacklists.DeleteBlacklistCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: Command. Deletes a blacklist. πŸ’€
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.blacklists.DeleteBlacklistCommand (WARNING)>
    • take_action(parsed_args) β€” override to do something useful. The returned value will be returned by the program.
  • class designateclient.v2.cli.blacklists.ListBlacklistsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: Lister. Lists blacklists.
    • columns = ['id', 'pattern', 'description']
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.blacklists.ListBlacklistsCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.blacklists.SetBlacklistCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Sets blacklist properties. πŸŽ€
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.blacklists.SetBlacklistCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.blacklists.ShowBlacklistCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Shows blacklist details. πŸ”
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.blacklists.ShowBlacklistCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.

🧚 designateclient.v2.cli.common module 🧚

Little helper functions that do the shared heavy lifting β€” no classes here, just good vibes:

  • designateclient.v2.cli.common.add_all_common_options(parser)
  • designateclient.v2.cli.common.add_all_projects_option(parser)
  • designateclient.v2.cli.common.add_edit_managed_option(parser)
  • designateclient.v2.cli.common.add_hard_delete_option(parser)
  • designateclient.v2.cli.common.add_sudo_project_id_option(parser)
  • designateclient.v2.cli.common.set_all_common_headers(client, parsed_args)
  • designateclient.v2.cli.common.set_all_projects(client, value)
  • designateclient.v2.cli.common.set_edit_managed(client, value)
  • designateclient.v2.cli.common.set_hard_delete(client, value)
  • designateclient.v2.cli.common.set_sudo_project_id(client, value)

🌸 designateclient.v2.cli.limits module 🌸

  • class designateclient.v2.cli.limits.ListLimitsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: Lister. Lists DNS limits, lowkey essential.
    • columns = ['Limit', 'Value']
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.limits.ListLimitsCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.

πŸŽ€ designateclient.v2.cli.quotas module πŸŽ€

  • class designateclient.v2.cli.quotas.ListQuotasCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Lists quotas. πŸ“‹
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.quotas.ResetQuotasCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: Command. Resets quotas β€” back to factory settings, we love a fresh start. πŸ”„
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • take_action(parsed_args) β€” override to do something useful. The returned value will be returned by the program.
  • class designateclient.v2.cli.quotas.SetQuotasCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Sets quotas.
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.

πŸ¦‹ designateclient.v2.cli.recordsets module πŸ¦‹

Okay bestie, this is the big one β€” all the recordset commands. Main character energy fr fr. πŸ‘‘

  • class designateclient.v2.cli.recordsets.CreateRecordSetCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Creates a new recordset. ✨
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.recordsets.CreateRecordSetCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.recordsets.DeleteRecordSetCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Deletes a recordset. Gone. Poof. πŸ’€
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.recordsets.DeleteRecordSetCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.recordsets.ListRecordSetsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: Lister. Lists recordsets, obviously.
    • columns = ['id', 'name', 'type', 'records', 'status', 'action']
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.recordsets.ListRecordSetsCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.recordsets.SetRecordSetCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne. Sets recordset properties.
    • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.recordsets.SetRecordSetCommand (WARNING)>
    • take_action(parsed_args) β€” run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.recordsets.ShowRecordSetCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None) β€” Bases: ShowOne.

...and the class finishes with Show recordset details πŸ’… that's literally the whole point of it β€” you're here to see the recordset, details included. Then its bits and pieces:

  • get_parser(prog_name) β€” hands back an argparse.ArgumentParser. That's it, that's the job πŸŽ€
  • log β€” <Logger designateclient.v2.cli.recordsets.ShowRecordSetCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command. Returns a tuple with the column names plus an iterable holding the data to be listed. Bestie it literally tells you what to print, iconic behavior ✨

πŸ¦‹ designateclient.v2.cli.reverse module

class designateclient.v2.cli.reverse.ListFloatingIPCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister β€” and it does exactly one thing: List floating IP ptr records πŸ“‹ lowkey my fave kind of command, no drama.

columns = ['id', 'ptrdname', 'description', 'ttl']

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.reverse.ListFloatingIPCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.reverse.SetFloatingIPCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Set floating IP ptr record, so you're out here writing, not just looking πŸ‘‘

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.reverse.SetFloatingIPCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.reverse.ShowFloatingIPCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Show floating IP ptr record details, the receipts version of the last one πŸ”

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.reverse.ShowFloatingIPCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.reverse.UnsetFloatingIPCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command β€” Unset floating IP ptr record, the "nvm bestie" of the group πŸ’€ note the _app.App in the signature, that's the Command-based flavor.

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.reverse.UnsetFloatingIPCommand (WARNING)>
  • take_action(parsed_args) β€” Override to do something useful. The returned value will be returned by the program.

🌸 designateclient.v2.cli.service_statuses module

class designateclient.v2.cli.service_statuses.ListServiceStatusesCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister β€” List service statuses, the vibe check for your services ✨

columns = ['id', 'hostname', 'service_name', 'status', 'stats', 'capabilities']

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.service_statuses.ListServiceStatusesCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.service_statuses.ShowServiceStatusCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Show service status details, zooming in on one service's whole situation πŸ”

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.service_statuses.ShowServiceStatusCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

πŸŽ€ designateclient.v2.cli.tlds module

class designateclient.v2.cli.tlds.CreateTLDCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Create new tld, birth of a brand new top-level domain 🌱

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tlds.CreateTLDCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tlds.DeleteTLDCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command β€” Delete tld, bye bye πŸ’€

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tlds.DeleteTLDCommand (WARNING)>
  • take_action(parsed_args) β€” Override to do something useful. The returned value will be returned by the program.

class designateclient.v2.cli.tlds.ListTLDsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister β€” List tlds, the full lineup πŸ“‹

columns = ['id', 'name', 'description']

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tlds.ListTLDsCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tlds.SetTLDCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Set tld properties, glow-up time for your TLD πŸ‘‘

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tlds.SetTLDCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tlds.ShowTLDCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Show tld details, all the deets on one TLD πŸ”

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tlds.ShowTLDCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

🌈 designateclient.v2.cli.tsigkeys module

class designateclient.v2.cli.tsigkeys.CreateTSIGKeyCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Create new tsigkey, new key just dropped πŸ”‘

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tsigkeys.CreateTSIGKeyCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tsigkeys.DeleteTSIGKeyCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command β€” Delete tsigkey, yeeting the key πŸ’€

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tsigkeys.DeleteTSIGKeyCommand (WARNING)>
  • take_action(parsed_args) β€” Override to do something useful. The returned value will be returned by the program.

class designateclient.v2.cli.tsigkeys.ListTSIGKeysCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister β€” List tsigkeys, all the keys, all lined up ✨

columns = ['id', 'name', 'algorithm', 'secret', 'scope', 'resource_id']

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tsigkeys.ListTSIGKeysCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tsigkeys.SetTSIGKeyCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Set tsigkey properties, tweaking the key's settings πŸŽ€

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tsigkeys.SetTSIGKeyCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

class designateclient.v2.cli.tsigkeys.ShowTSIGKeyCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne β€” Show tsigkey details, one key, full lore πŸ”

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.tsigkeys.ShowTSIGKeyCommand (WARNING)>
  • take_action(parsed_args) β€” Run command. Return a tuple containing the column names and an iterable containing the data to be listed.

πŸ’œ designateclient.v2.cli.zones module

class designateclient.v2.cli.zones.AXFRZoneCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command β€” AXFR a zone, transferring the whole zone, main character energy fr fr πŸ”₯

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.zones.AXFRZoneCommand (WARNING)>
  • take_action(parsed_args) β€” Override to do something useful. The returned value will be returned by the program.

class designateclient.v2.cli.zones.AbandonZoneCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command β€” Abandon a zone. Yep. Abandon. The zone is on its own now, ngl 😭

  • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
  • log β€” <Logger designateclient.v2.cli.zones.AbandonZoneCommand (WARNING)>
  • take_action(parsed_args) β€” Override to do something useful. The returned value will be returned by the program.

🌸 designateclient.v2.cli.zones.AcceptTransferRequestCommand

class designateclient.v2.cli.zones.AcceptTransferRequestCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Accept a Zone Transfer Request</p> β€” bestie says yes to the transfer, iconic behavior only πŸ’…

  • get_parser(prog_name) β€” hands you back an argparse.ArgumentParser, no cap.
  • log β€” literally this logger and nothing else:
<Logger designateclient.v2.cli.zones.AcceptTransferRequestCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command. Returns a tuple holding the column names plus an iterable with all the data to be listed ✨

πŸ¦‹ designateclient.v2.cli.zones.CreateTransferRequestCommand

class designateclient.v2.cli.zones.CreateTransferRequestCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Create new zone transfer request</p> β€” manifesting a transfer request into existence πŸŽ€

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.CreateTransferRequestCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns the tuple of column names + the iterable of data to be listed πŸ’–

πŸ‘‘ designateclient.v2.cli.zones.CreateZoneCommand

class designateclient.v2.cli.zones.CreateZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Create new zone</p> β€” new zone just dropped, main character energy fr fr ⭐

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.CreateZoneCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data for the listing 🫢

πŸ’€ designateclient.v2.cli.zones.DeleteSharedZoneCommand

class designateclient.v2.cli.zones.DeleteSharedZoneCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command

Delete a Zone Share</p> β€” not the App, the _app.App, don't come for me πŸ™ˆ

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.DeleteSharedZoneCommand (WARNING)>
  • take_action(parsed_args) β€” the base class says "Override to do something useful," and whatever this returns is what the program returns. Periodt.

🧚 designateclient.v2.cli.zones.DeleteTransferRequestCommand

class designateclient.v2.cli.zones.DeleteTransferRequestCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command

Delete a Zone Transfer Request</p> β€” yeah we're deleting that request, bye bestie πŸ¦‹

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.DeleteTransferRequestCommand (WARNING)>
  • take_action(parsed_args) β€” "Override to do something useful," and the returned value is what the program hands back πŸ’…

πŸ“ designateclient.v2.cli.zones.DeleteZoneCommand

class designateclient.v2.cli.zones.DeleteZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Delete zone</p> β€” the zone is gone, gone, gone 😭

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.DeleteZoneCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + the iterable of listing data πŸ’œ

🌈 designateclient.v2.cli.zones.DeleteZoneExportCommand

class designateclient.v2.cli.zones.DeleteZoneExportCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command

Delete a Zone Export</p> β€” that export? deleted. no notes. ✨

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.DeleteZoneExportCommand (WARNING)>
  • take_action(parsed_args) β€” the classic "Override to do something useful" situation, and the return value goes straight back out to the program 🫢

πŸŽ€ designateclient.v2.cli.zones.DeleteZoneImportCommand

class designateclient.v2.cli.zones.DeleteZoneImportCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command

Delete a Zone Import</p> β€” import? deleted. we simply don't know her anymore πŸ’€

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.DeleteZoneImportCommand (WARNING)>
  • take_action(parsed_args) β€” "Override to do something useful," and whatever comes back is what the program returns 🌸

⭐ designateclient.v2.cli.zones.ExportZoneCommand

class designateclient.v2.cli.zones.ExportZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Export a Zone</p> β€” take that zone and ship it out, she's traveling πŸ”₯

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ExportZoneCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed 🌈

🧚 designateclient.v2.cli.zones.ImportZoneCommand

class designateclient.v2.cli.zones.ImportZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Import a Zone from a file on the filesystem</p> β€” yes, a real file, on the real filesystem, iykyk πŸ“

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ImportZoneCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + the iterable of listing data πŸ‘‘

πŸ’– designateclient.v2.cli.zones.ListSharedZonesCommand

class designateclient.v2.cli.zones.ListSharedZonesCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Shares</p> β€” and here's the column lineup, exact:

columns = ['id', 'zone_id', 'target_project_id']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListSharedZonesCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed ✨

🌸 designateclient.v2.cli.zones.ListTransferAcceptsCommand

class designateclient.v2.cli.zones.ListTransferAcceptsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Transfer Accepts</p> β€” the whole squad of columns:

columns = ['id', 'zone_id', 'project_id', 'zone_transfer_request_id', 'status', 'key']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListTransferAcceptsCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data for the listing 🫢

πŸ¦‹ designateclient.v2.cli.zones.ListTransferRequestsCommand

class designateclient.v2.cli.zones.ListTransferRequestsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Transfer Requests</p> β€” look at this lineup, lowkey beautiful:

columns = ['id', 'zone_id', 'zone_name', 'project_id', 'target_project_id', 'status', 'key']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListTransferRequestsCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed πŸ’œ

πŸŽ€ designateclient.v2.cli.zones.ListZoneExportsCommand

class designateclient.v2.cli.zones.ListZoneExportsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Exports</p> β€” columns check, all four of them:

columns = ['id', 'zone_id', 'created_at', 'status']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListZoneExportsCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed ⭐

πŸ“ designateclient.v2.cli.zones.ListZoneImportsCommand

class designateclient.v2.cli.zones.ListZoneImportsCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Imports</p> β€” five columns, and message is invited too:

columns = ['id', 'zone_id', 'created_at', 'status', 'message']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListZoneImportsCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data for the listing 🧚

🌈 designateclient.v2.cli.zones.ListZoneNameserversCommand

class designateclient.v2.cli.zones.ListZoneNameserversCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List Zone Nameservers</p> β€” just two columns, minimal and chic πŸŽ€

columns = ['hostname', 'priority']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListZoneNameserversCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed πŸ’–

πŸ‘‘ designateclient.v2.cli.zones.ListZonesCommand

class designateclient.v2.cli.zones.ListZonesCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Lister

List zones</p> β€” the six-column serve, no crumbs:

columns = ['id', 'name', 'type', 'serial', 'status', 'action']
  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.ListZonesCommand (WARNING)>
  • take_action(parsed_args) β€” runs the command, returns column names + iterable of data to be listed 🌸

πŸ’… designateclient.v2.cli.zones.PoolMoveZoneCommand

class designateclient.v2.cli.zones.PoolMoveZoneCommand(app: _app.App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: Command

Move a zone to another pool</p> β€” relocation era, and yes it's _app.App again, keep up bestie πŸ¦‹

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.PoolMoveZoneCommand (WARNING)>
  • take_action(parsed_args) β€” "Override to do something useful," and the returned value is what the program returns, fr fr πŸ’œ

✨ designateclient.v2.cli.zones.SetTransferRequestCommand

class designateclient.v2.cli.zones.SetTransferRequestCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)

Bases: ShowOne

Set a Zone Transfer Request</p> β€” setting it, adjusting it, making it hers πŸ’…

  • get_parser(prog_name) β€” returns an argparse.ArgumentParser.
  • log β€”
<Logger designateclient.v2.cli.zones.SetTransferRequestCommand (WARNING)>
  • take_action(parsed_args) β€” Run command.

Returns a tuple containing the column names and an iterable containing the data to be listed. (yes, bestie, every single one of these returns that same tuple β€” it's giving copy-paste energy but we're keeping it fr fr πŸ’…)


  • class designateclient.v2.cli.zones.SetZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Set zone properties
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.SetZoneCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShareZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Share a Zone
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShareZoneCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowSharedZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show Zone Share Details
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowSharedZoneCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowTransferAcceptCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show Zone Transfer Accept
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowTransferAcceptCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowTransferRequestCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show Zone Transfer Request Details
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowTransferRequestCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowZoneCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show zone details
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowZoneCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowZoneExportCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show a Zone Export
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowZoneExportCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowZoneExportFileCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show the zone file for the Zone Export
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowZoneExportFileCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.
  • class designateclient.v2.cli.zones.ShowZoneImportCommand(app: App, app_args: Namespace | None, cmd_name: str | None = None)
    • Bases: ShowOne
    • Show a Zone Import
    • get_parser(prog_name) β€” Return an argparse.ArgumentParser.
    • log = <Logger designateclient.v2.cli.zones.ShowZoneImportCommand (WARNING)>
    • take_action(parsed_args) β€” Run command. Returns a tuple containing the column names and an iterable containing the data to be listed.

🧩 Module contents

Lowkey the most fun part, ngl β€” this is where all the actual machinery lives πŸ’–

πŸ“¦ Submodules

🌱 designateclient.v2.base module

  • class designateclient.v2.base.DesignateList(iterable=(), /)
    • Bases: list
    • next_link_criterion = {}
    • next_page = False
  • class designateclient.v2.base.V2Controller(client)
    • Bases: Controller <#designateclient.client.Controller>

πŸ–€ designateclient.v2.blacklists module

  • class designateclient.v2.blacklists.BlacklistController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • create(pattern, description=None)
    • delete(blacklist_id)
    • get(blacklist_id)
    • list(criterion=None, marker=None, limit=None)
    • update(blacklist_id, values)

πŸ”Œ designateclient.v2.client module

  • class designateclient.v2.client.Client(region_name=None, endpoint_type='publicURL', extensions=None, service_type='dns', service_name=None, http_log_debug=False, session=None, auth=None, timeout=None, endpoint_override=None, all_projects=False, edit_managed=False, hard_delete=False, sudo_project_id=None)
    • Bases: object
  • class designateclient.v2.client.DesignateAdapter(*args, **kwargs)
    • Bases: LegacyJsonAdapter
    • Adapter around LegacyJsonAdapter.
    • The user can pass a timeout keyword that will apply only to the Designate Client, in order:
      • timeout keyword passed to request()
      • timeout attribute on keystone session
    • request(*args, **kwargs)

πŸ“ designateclient.v2.limits module

  • class designateclient.v2.limits.LimitController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • get()

🧭 designateclient.v2.nameservers module

  • class designateclient.v2.nameservers.NameServerController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • list(zone)

🏊 designateclient.v2.pools module

  • class designateclient.v2.pools.PoolController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • list()

πŸ“Š designateclient.v2.quotas module

  • class designateclient.v2.quotas.QuotasController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • list(project_id=None)
    • reset(project_id)
    • update(project_id, values)

πŸ“ designateclient.v2.recordsets module

  • class designateclient.v2.recordsets.RecordSetController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • create(zone, name, type_, records, description=None, ttl=None)
    • delete(zone, recordset)
    • get(zone, recordset)
    • list(zone, criterion=None, marker=None, limit=None)
    • list_all_zones(criterion=None, marker=None, limit=None)
    • update(zone, recordset, values)

πŸ”„ designateclient.v2.reverse module

  • class designateclient.v2.reverse.FloatingIPController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • get(floatingip_id)
    • list(criterion=None)
    • set(floatingip_id, ptrdname, description=None, ttl=None)
    • unset(floatingip_id)

🩺 designateclient.v2.service_statuses module

  • class designateclient.v2.service_statuses.ServiceStatusesController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • get(service_status_id)
    • list(criterion=None, marker=None, limit=None)

🌐 designateclient.v2.tlds module

  • class designateclient.v2.tlds.TLDController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • create(name, description=None)
    • delete(tld)
    • get(tld)
    • list(criterion=None, marker=None, limit=None)
    • update(tld, values)

πŸ”‘ designateclient.v2.tsigkeys module

  • class designateclient.v2.tsigkeys.TSIGKeysController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • create(name, algorithm, secret, scope, resource_id)
    • delete(tsigkey)
    • get(tsigkey)
    • list(criterion=None, marker=None, limit=None)
    • update(tsigkey, values)

πŸ› οΈ designateclient.v2.utils module

  • designateclient.v2.utils.get_all(function, criterion=None, args=None)
    • Parameters
      • function β€” Function to be called to get data
      • criterion β€” dict of filters to be applied
      • args β€” arguments to be given to the function
    • Returns DesignateList()
  • designateclient.v2.utils.parse_query_from_url(url)
    • Helper to get key bits of data from the "next" url returned from the API on collections :param url: :return: dict
  • designateclient.v2.utils.resolve_by_name(func, name, *args)
    • Helper to resolve a "name" a'la foo.com to it's ID by using REST api's query support and filtering on name.

πŸ—ΊοΈ designateclient.v2.zones module

  • class designateclient.v2.zones.ZoneController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • abandon(zone)
    • axfr(zone)
    • create(name, type_=None, email=None, description=None, ttl=None, masters=None, attributes=None)
    • delete(zone, delete_shares=False)
    • get(zone)
    • list(criterion=None, marker=None, limit=None)
    • nameservers(zone)
    • pool_move(zone, values)
    • update(zone, values)
  • class designateclient.v2.zones.ZoneExportsController(client)
    • Bases: V2Controller <#designateclient.v2.base.V2Controller>
    • create(zone)
    • delete(zone_export_id)
    • get_export(zone_export_id)
    • get_export_record(zone_export_id)
    • list(criterion=None, marker=None, limit=None)

class designateclient.v2.zones.ZoneImportsController(client) β€” Bases: V2Controller

  • create(zone_file_contents, attributes=None) β€” makes a new zone import out of the zone file contents you pass in, with optional attributes riding along πŸŽ€
  • delete(zone_import_id) β€” yeets the import record matching zone_import_id
  • get_import_record(zone_import_id) β€” fetches the import record for zone_import_id
  • list(criterion=None, marker=None, limit=None) β€” the classic trio, all defaulting to None ✨

class designateclient.v2.zones.ZoneShareController(client) β€” Bases: V2Controller

  • create(zone, target_project_id) β€” spins up a share of zone over to target_project_id
  • delete(zone, shared_zone_id) β€” deletes the share shared_zone_id off of zone
  • get(zone, shared_zone_id) β€” grabs that one share, shared_zone_id, from zone
  • list(zone, criterion=None, marker=None, limit=None) β€” lists the shares on zone, with criterion, marker and limit all defaulting to None πŸ’…

class designateclient.v2.zones.ZoneTransfersController(client) β€” Bases: V2Controller

  • accept_request(transfer_id, key) β€” accepts the transfer transfer_id using key
  • create_request(zone, target_project_id, description=None) β€” creates a transfer request for zone headed to target_project_id, with an optional description
  • delete_request(transfer_id) β€” deletes the request transfer_id
  • get_accept(accept_id) β€” fetches the accept record accept_id
  • get_request(transfer_id) β€” fetches the request transfer_id
  • list_accepts(criterion=None, marker=None, limit=None) β€” lists accepts, trio defaults to None
  • list_requests(criterion=None, marker=None, limit=None) β€” lists requests, same trio, same Nones
  • update_request(transfer_id, values) β€” updates request transfer_id with values

πŸ“¦ Module contents, the grand finale

Ok bestie we're in the home stretch β€” this is the part where the docs just start listing everything in the package. Buckle up πŸ¦‹

Submodules

🧚 designateclient.client module

designateclient.client.Client(version, *args, **kwargs) β€” the big one, takes a version plus whatever else you throw at it.

class designateclient.client.Controller(client) β€” Bases: object

  • build_url(url, criterion=None, marker=None, limit=None) β€” builds the URL, with criterion, marker and limit all optional (defaulting to None)

class designateclient.client.CrudController(client) β€” Bases: Controller

  • abstractmethod create(*args, **kw) β€” Create a resource
  • abstractmethod delete(*args, **kw) β€” Delete a resource
  • abstractmethod get(*args, **kw) β€” Get a resource
  • abstractmethod list(*args, **kw) β€” List a resource
  • abstractmethod update(*args, **kw) β€” Update a resource
These five are all abstract, so no cap, you literally cannot instantiate this bad boy and expect it to do the work for you β€” you have to subclass and fill in the blanks πŸ™ˆ

designateclient.client.get_versions() β€” gets you the versions. slay.

πŸ’€ designateclient.exceptions module

Look at this whole little family of errors, we stan a well-organised crisis 😭

  • exception designateclient.exceptions.BadRequest(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.Base(message=None) β€” Bases: Exception
  • exception designateclient.exceptions.Conflict(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.Forbidden(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.NoUniqueMatch(message=None) β€” Bases: Base
  • exception designateclient.exceptions.NotFound(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.OverQuota(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.RemoteError(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: Base
  • exception designateclient.exceptions.ResourceNotFound(message=None) β€” Bases: Base
  • exception designateclient.exceptions.Unknown(message=None, code=None, type=None, errors=None, request_id=None, **ignore) β€” Bases: RemoteError
  • exception designateclient.exceptions.UnsupportedVersion(message=None) β€” Bases: Base
Notice the **ignore on the RemoteError crew β€” extra kwargs get swallowed, not thrown. The Base-derived ones (NoUniqueMatch, ResourceNotFound, UnsupportedVersion) just take message. Periodt. ✨

πŸ“ designateclient.utils module

class designateclient.utils.AdapterWithTimeout(*args, **kw) β€” Bases: Adapter

So adapter.Adapter wraps around a Session. And the user can pass a timeout keyword that will apply only to the Designate Client. The order it checks goes like this, in order:

  • timeout keyword passed to request()
  • timeout keyword passed to AdapterWithTimeout()
  • timeout attribute on keystone session

request(*args, **kwargs) β€” yeah, it requests πŸ’…

designateclient.utils.find_resourceid_by_name_or_id(resource_client, name_or_id) β€” Find resource id from its id or name. Iconic, does exactly what it says on the tin.

designateclient.utils.get_columns(data) β€” Some row's might have variable count of columns, ensure that we have the same. (Yes, that apostrophe is the original's, we're preserving it with love 🫢)

Parameters:

  • data -- Results in [{}, {}]

designateclient.utils.get_item_properties(item, fields, mixed_case_fields=(), formatters=None) β€” Return a tuple containing the item properties.

Parameters:

  • item -- a single item resource (e.g. Server, Tenant, etc)
  • fields -- tuple of strings with the desired field names
  • mixed_case_fields -- tuple of field names to preserve case
  • formatters -- dictionary mapping field names to callables to format the values

🌈 designateclient.version module

That's it. That's the module. No contents listed, no drama, just vibes πŸ’œ


πŸ”₯ Module contents (again, but the meta one)

Indices and tables

  • Index
  • Module Index
  • Search Page

πŸ‘‘ Author

Author name not set

honestly relatable, anonymous icon behaviour πŸŽ€

2012, Managed I.T. 2013-2014, Hewlett-Packard Development Company, L.P.


And that's the whole page, bestie β€” you made it to the end of all 17 parts, I'm genuinely obsessed πŸ˜­πŸ’– This edition is version 7.0.0, dated Jan 02, 1980 (yes, that date, don't ask, it's giving time-traveller energy πŸ’€), and it's the PYTHON-DESIGNATECLIENT(1) page. Go forth and designate some clients fr fr πŸ¦‹βœ¨

πŸ“¦ where this page comes from