ConoHa DNS CLI
ConoHa DNSをコマンドラインから操作するためのツールです。
デフォルトでは見やすいテーブル形式で一覧表示し、--output csv オプションを指定することでCSV形式で標準出力することもできます。
$ conoha-dns -h
usage: main.py [-h]
(--auth | -l [DOMAIN] | -ad NAME EMAIL | -dd DOMAIN | -ar DOMAIN NAME TYPE DATA | -ur DOMAIN RECORD_ID | -dr DOMAIN RECORD_ID)
[-t TTL] [-o {csv}] [--new-name NEW_NAME] [--new-type NEW_TYPE]
[--priority PRIORITY] [--weight WEIGHT] [--port PORT]
[--new-data NEW_DATA] [--new-ttl NEW_TTL] [--new-priority NEW_PRIORITY]
[--new-weight NEW_WEIGHT] [--new-port NEW_PORT]
ConoHa DNS API (v1) を操作するCLIツール
options:
-h, --help show this help message and exit
--auth APIトークンを認証・取得する
-l [DOMAIN], --list [DOMAIN]
ドメイン一覧または指定ドメインのレコード一覧表示
-ad NAME EMAIL, --add-domain NAME EMAIL
ドメイン追加
-dd DOMAIN, --delete-domain DOMAIN
ドメインを名前またはIDで削除
-ar DOMAIN NAME TYPE DATA, --add-record DOMAIN NAME TYPE DATA
レコード追加
-ur DOMAIN RECORD_ID, --update-record DOMAIN RECORD_ID
レコード更新
-dr DOMAIN RECORD_ID, --delete-record DOMAIN RECORD_ID
レコード削除
-t TTL, --ttl TTL レコード追加時のTTL(秒)。デフォルト: 300
-o {csv}, --output {csv}
出力形式をCSVにします。'-l'での一覧表示時のみ有効です。
--priority PRIORITY MX/SRVレコード追加時の優先度
--weight WEIGHT SRVレコード追加時の重み
--port PORT SRVレコード追加時のポート番号
--new-name NEW_NAME 更新後のレコード名
--new-type NEW_TYPE 更新後のレコードタイプ
--new-data NEW_DATA 更新後のレコードデータ
--new-ttl NEW_TTL 更新後のTTL
--new-priority NEW_PRIORITY
更新後の優先度
--new-weight NEW_WEIGHT
更新後の重み
--new-port NEW_PORT 更新後のポート番号
使用例:
# APIトークンを認証・取得
conoha-dns --auth
# ドメイン一覧表示
conoha-dns -l
# レコード一覧をCSV形式で標準出力
conoha-dns -l example.com --output csv > records.csv
# Aレコード追加 (サブドメインtestを補完してtest.example.comを追加)
conoha-dns -ar example.com @ A 192.0.2.1
conoha-dns -ar example.com test A 192.0.2.1
conoha-dns -ar example.com mail MX mail.example.net. --priority 10
conoha-dns -ar example.com _sip._tcp SRV sip.example.net. --priority 10 --weight 20 --port 5060
# レコード更新 (レコードIDを指定し、新しいIPアドレスを設定)
conoha-dns -ur example.com <record_id> --new-data 192.0.2.2
# レコード削除 (レコードIDは -l example.com で確認)
conoha-dns -dr example.com <record_id>
インストール
はじめに、ConoHaの認証情報を記述した~/.conoha-envファイルをホームディレクトリに作成します。
APIエンドポイントはConoHaのリージョンによって異なるため、適宜変更してください。
ConoHaコントロールパネル の「API情報」から確認できます。
~/.conoha-env:
CONOHA_USER_ID="your_user_id" # API ユーザー: ユーザID
CONOHA_PASSWORD="your_password" # API ユーザー: パスワード
TENANT_ID="your_tenant_id" # テナント情報: テナントID
CONOHA_AUTH_URL="https://identity.sample.conoha.io" # エンドポイント: Identity Service URL
CONOHA_DNS_API_URL="https://dns-service.sample.conoha.io" # エンドポイント: DNS Service URL
次に、Makefileを使ってビルドとインストールを実行します。
make install
これにより、conoha-dnsコマンドがインストールされます。
使い方
このコマンドは、実行したい操作をフラグで指定します。一度に指定できる操作は1つだけです。
ドメインを指定する引数 (DOMAIN) には、ドメイン名 (example.com) またはドメインID (ba9b5b9dなど) の両方を使用できます。
一般的なコマンド
ヘルプ表示
conoha-dns -h
認証
認証情報を使って新しいAPIトークンを取得し、~/.conoha-envファイルに保存します。
なお、ConoHa APIトークンの有効期限は24時間です。
conoha-dns --auth
ドメイン・レコード管理
ドメイン一覧・レコード一覧
-l フラグを使用すると、一覧がテーブル形式で表示されます。
# ドメイン一覧
conoha-dns -l
# レコード一覧 (ドメイン名またはIDで指定)
conoha-dns -l <ドメイン名/ID>
実行例:
$ conoha-dns -l
ID Name
0e6f0695 soulminingrig.com.
4fb208de eyes4you.org.
...
CSV形式での標準出力
--output csv オプションを追加すると、一覧をCSV形式で標準出力します。リダイレクト(>)を使えばファイルに保存できます。
# ドメイン一覧をCSVで標準出力
conoha-dns -l --output csv
# レコード一覧をCSVファイルとして保存
conoha-dns -l <ドメイン名/ID> --output csv > records.csv
実行例:
$ conoha-dns -l example.com --output csv
ID,Name,Type,Data,TTL
5057adde,eye4u.org.,SOA,"a.conoha-dns.com. taro.eyes4you.org. 1757833524 3600 600 86400 3600",3600
2eff1245,eye4u.org.,NS,a.conoha-dns.com.,3600
...
ドメイン追加
conoha-dns -ad <ドメイン名> <メールアドレス>
ドメイン削除
conoha-dns -dd <ドメイン名/ID>
レコード管理
内部的に、ConoHa APIから取得したレコードIDは長いため、xxhashを用いて短いハッシュ値に変換して表示・利用しています。
レコード追加
conoha-dns -ar <ドメイン名/ID> <レコード名> <種別> <値> [--ttl <秒数>] [--priority <数値>] [--weight <数値>] [--port <数値>]
MX では --priority が必須です。SRV では --priority, --weight, --port が必須です。
レコード更新
record_id(conoha-dns -l <ドメイン名/ID>で確認可能)と、少なくとも1つの--new-*オプションを指定する必要があります。
conoha-dns -ur <ドメイン名/ID> <record_id> [--new-name <名前>] [--new-type <種別>] [--new-data <値>] [--new-ttl <TTL>] [--new-priority <数値>] [--new-weight <数値>] [--new-port <数値>]
レコード削除
conoha-dns -dr <ドメイン名/ID> <record_id>
応用例:xargsを使った一括操作
xargsと組み合わせることで、ファイルに記載されたドメインリストに対して一括で操作を実行できます。
例えば、以下のようなドメインリストが書かれたdomain-list.txtがあるとします。
domain-list.txt
example1.com
example2.com
example3.com
このファイル内の各ドメインに対して、一括でルートAレコードを追加するには、以下のコマンドを実行します。
cat domain-list.txt | xargs -I{} conoha-dns -ar {} @ A 192.0.2.1
これにより、domain-list.txtの各行が{}に代入され、ドメインごとにレコード追加コマンドが実行されます。
Metadata
Release files for conoha-dns-cli 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| conoha_dns_cli-0.1.2.tar.gz | 12.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| conoha_dns_cli-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.8 kB
Release files / conoha_dns_cli-0.1.2.tar.gz
| Download URL | conoha_dns_cli-0.1.2.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b0126e296eddda0ebe18b94bfeec416b38472b16f4f504ce32c0c88e584c6b6
|
|
BLAKE2b-256 checksum How to use checksums |
0a94c6b97c1ca70283405792208b73ec99453ddf1191d1e8de471b22581cd836
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency logRelease files / conoha_dns_cli-0.1.2-py3-none-any.whl
| Download URL | conoha_dns_cli-0.1.2-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a38e3dea72ee71a71b03eec75a76e05e1458de1588bd1a313537365cdc1d140
|
|
BLAKE2b-256 checksum How to use checksums |
0a8bf75795e16746fcdb8567617e0ca8f9caa7ce52d0c9d51edaf7723e542548
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency log