PYTHON-DESIGNATECLIENT(1)
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 zoneszone showβ Show zone detailszone setβ Set zone propertieszone deleteβ Delete zonerecordset createβ Create new recordsetrecordset listβ List recordsetsrecordset list allβ List all recordsets in all zonesrecordset showβ Show recordset detailsrecordset setβ Set recordset propertiesrecordset deleteβ Delete recordsetptr record listβ List floatingip ptr recordsptr record showβ Show floatingip ptr record detailsptr record setβ Set floatingip ptr recordptr record unsetβ Unset floatingip ptr recordzone export createβ Export a Zonezone export listβ List Zone Exportszone export showβ Show a Zone Exportzone export deleteβ Delete a Zone Exportzone export showfileβ Show the zone file for the Zone Exportzone import createβ Import a Zone from a file on the filesystemzone import listβ List Zone Importszone import showβ Show a Zone Importzone import deleteβ Delete a Zone Importzone transfer request createβ Create new zone transfer requestzone transfer request listβ List Zone Transfer Requestszone transfer request showβ Show Zone Transfer Request Detailszone transfer request setβ Set a Zone Transfer Requestzone transfer request deleteβ Delete a Zone Transfer Requestzone transfer accept requestβ Accept a Zone Transfer Requestzone transfer accept listβ List Zone Transfer Acceptszone transfer accept showβ Show Zone Transfer Acceptzone abandonβ Abandon a zone β Admin Required: Yes πzone axfrβ AXFR a zonezone 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 theapi-export-sizequota--recordset-records <recordset-records>β New value for therecordset-recordsquota--zone-records <zone-records>β New value for thezone-recordsquota--zone-recordsets <zone-recordsets>β New value for thezone-recordsetsquota--zones <zones>β New value for thezonesquota
πΈ 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonefloatingip_idβ Floating IP ID in formatregion:floatingip_idptrdnameβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonefloatingip_idβ the Floating IP ID, in the formatregion: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:Nonefloatingip_idβ Floating IP ID in formatregion: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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_idβ Zone IDnameβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Falsezone_idβ Zone IDidβ 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 hascsvin its formatter list and a--quoteflag, the other recordset commands don't π«Ά
-f <FORMATTER>,--format <FORMATTER>β the output format, defaults totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Falsezone_idβ Zone IDidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_idβ Zone IDidβ 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 totable-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<1just turns that limit off. You can also set theCLIFF_MAX_TERM_WIDTHenvironment 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-widthis greater than 0. Wanna have it on always? SetCLIFF_FIT_WIDTH=1in 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:Noneidβ 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β max display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than 0. SetCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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>β TSIGKeyresource_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:Noneidβ 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β max display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totableβ¨-cCOLUMN,--columnCOLUMNβ 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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-cCOLUMN,--columnCOLUMNβ 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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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:Noneidβ 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:Noneidβ 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 totable-cCOLUMN,--columnCOLUMNβ 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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totableβ¨ (and yeah, this one's formatter list includescsvtoo β{csv,json,table,value,yaml})-cCOLUMN,--columnCOLUMNβ specify the column(s) to include, can be repeated to show multiple columns--quote<QUOTE_MODE> β when to include quotes, defaults tononnumeric--noindentβ whether to disable indenting the JSON--max-width<integer> β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-cCOLUMN,--columnCOLUMNβ 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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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-descriptionsituation 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:Noneidβ 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 totableβ¨-cCOLUMN,--columnCOLUMNβ 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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also set theCLIFF_MAX_TERM_WIDTHenvironment variable, but this parameter takes precedence π--fit-widthβ fits the table to your display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to always enable it--print-emptyβ prints an empty table when there's literally no data to show π--email <EMAIL>β the zone email. Required for thePRIMARYzone 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:Nonenameβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 thatidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_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:Nonezone_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 totable-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 tononnumeric(your choices areall,minimal,none,nonnumeric)--noindentβ whether to disable indenting the JSON--max-width <integer>β maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ fit the table to the display width. Implied if--max-widthis greater than0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_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 totableπ-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<1disables it entirely. you can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence (it wins, periodt)--fit-widthβ fits the table to your display width. it's implied if--max-widthis greater than 0. set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but bestie, the parameter takes precedence π«Ά--fit-widthβ fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Nonezone_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:Noneidβ 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 totable-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 tononnumeric--noindentβ whether to disable indenting the JSON--max-width <integer>β Maximum display width,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 totable-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,<1to disable. You can also use theCLIFF_MAX_TERM_WIDTHenvironment variable, but the parameter takes precedence.--fit-widthβ Fit the table to the display width. Implied if--max-widthgreater than 0. Set the environment variableCLIFF_FIT_WIDTH=1to 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:Noneidβ 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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
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 anargparse.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.
- Bases:
π§© 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
- Bases:
class designateclient.v2.base.V2Controller(client)- Bases:
Controller <#designateclient.client.Controller>
- Bases:
π€ 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)
- Bases:
π 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
- Bases:
class designateclient.v2.client.DesignateAdapter(*args, **kwargs)- Bases:
LegacyJsonAdapter - Adapter around
LegacyJsonAdapter. - The user can pass a
timeoutkeyword that will apply only to the Designate Client, in order:timeoutkeyword passed torequest()timeoutattribute on keystone session
request(*args, **kwargs)
- Bases:
π designateclient.v2.limits module
class designateclient.v2.limits.LimitController(client)- Bases:
V2Controller <#designateclient.v2.base.V2Controller> get()
- Bases:
π§ designateclient.v2.nameservers module
class designateclient.v2.nameservers.NameServerController(client)- Bases:
V2Controller <#designateclient.v2.base.V2Controller> list(zone)
- Bases:
π designateclient.v2.pools module
class designateclient.v2.pools.PoolController(client)- Bases:
V2Controller <#designateclient.v2.base.V2Controller> list()
- Bases:
π 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)
- Bases:
π 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)
- Bases:
π 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)
- Bases:
π©Ί 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)
- Bases:
π 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)
- Bases:
π 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)
- Bases:
π οΈ 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()
- Parameters
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
- Helper to get key bits of data from the
designateclient.v2.utils.resolve_by_name(func, name, *args)- Helper to resolve a
"name"a'lafoo.comto it's ID by using REST api's query support and filtering onname.
- Helper to resolve a
πΊοΈ 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)
- Bases:
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)
- Bases:
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 optionalattributesriding along πdelete(zone_import_id)β yeets the import record matchingzone_import_idget_import_record(zone_import_id)β fetches the import record forzone_import_idlist(criterion=None, marker=None, limit=None)β the classic trio, all defaulting toNoneβ¨
class designateclient.v2.zones.ZoneShareController(client) β Bases: V2Controller
create(zone, target_project_id)β spins up a share ofzoneover totarget_project_iddelete(zone, shared_zone_id)β deletes the shareshared_zone_idoff ofzoneget(zone, shared_zone_id)β grabs that one share,shared_zone_id, fromzonelist(zone, criterion=None, marker=None, limit=None)β lists the shares onzone, withcriterion,markerandlimitall defaulting toNoneπ
class designateclient.v2.zones.ZoneTransfersController(client) β Bases: V2Controller
accept_request(transfer_id, key)β accepts the transfertransfer_idusingkeycreate_request(zone, target_project_id, description=None)β creates a transfer request forzoneheaded totarget_project_id, with an optionaldescriptiondelete_request(transfer_id)β deletes the requesttransfer_idget_accept(accept_id)β fetches the accept recordaccept_idget_request(transfer_id)β fetches the requesttransfer_idlist_accepts(criterion=None, marker=None, limit=None)β lists accepts, trio defaults toNonelist_requests(criterion=None, marker=None, limit=None)β lists requests, same trio, sameNonesupdate_request(transfer_id, values)β updates requesttransfer_idwithvalues
π¦ 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, withcriterion,markerandlimitall optional (defaulting toNone)
class designateclient.client.CrudController(client) β Bases: Controller
abstractmethod create(*args, **kw)β Create a resourceabstractmethod delete(*args, **kw)β Delete a resourceabstractmethod get(*args, **kw)β Get a resourceabstractmethod list(*args, **kw)β List a resourceabstractmethod 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:RemoteErrorexception designateclient.exceptions.Base(message=None)β Bases:Exceptionexception designateclient.exceptions.Conflict(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:RemoteErrorexception designateclient.exceptions.Forbidden(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:RemoteErrorexception designateclient.exceptions.NoUniqueMatch(message=None)β Bases:Baseexception designateclient.exceptions.NotFound(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:RemoteErrorexception designateclient.exceptions.OverQuota(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:RemoteErrorexception designateclient.exceptions.RemoteError(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:Baseexception designateclient.exceptions.ResourceNotFound(message=None)β Bases:Baseexception designateclient.exceptions.Unknown(message=None, code=None, type=None, errors=None, request_id=None, **ignore)β Bases:RemoteErrorexception designateclient.exceptions.UnsupportedVersion(message=None)β Bases:Base
Notice the**ignoreon theRemoteErrorcrew β extra kwargs get swallowed, not thrown. TheBase-derived ones (NoUniqueMatch,ResourceNotFound,UnsupportedVersion) just takemessage. 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:
timeoutkeyword passed torequest()timeoutkeyword passed toAdapterWithTimeout()timeoutattribute 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 namesmixed_case_fields-- tuple of field names to preserve caseformatters-- 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 π
πΈ Copyright
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
- nixpkgs unstable: python3.13-python-designateclient 7.0.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms