Upgrade to Pro — share decks privately, control downloads, hide ads and more …

さくらのクラウドのAPIで名前で完全⼀致 / SAKURA cloud API exact m...

さくらのクラウドのAPIで名前で完全⼀致 / SAKURA cloud API exact match

さくらのクラウド⽤の公認CLIクライアント usacloud とさくらのクラウドのAPIで名前で完全⼀致する方法の紹介です

Hiroaki Nakamura

June 22, 2021
Tweet

Other Decks in Programming

Transcript

  1. usacloud の名前指定はデフォルトは部分一致 基本的な使い方 を見ると以下のように書かれています。 usacloud <リソース> <サブコマンド> [オプション] [対象リソースのID or

    名前(部分一致) or タグ] 対象のドメインのリソースIDを指定すれば他のドメインも含まれるのは回避可能 「でもドメイン名で完全一致が出来ると便利だよなあ」 作者のyamamoto-febcさんに相談したらサクっと対応してくださいました。 ありがとうございます! --argument-match-mode exact というオプションで出来るようになりました。 5
  2. usacloud の --query に jq の式を書く 「ついでに --query でJMESPathでなくjqのクエリ書きたいなあ」 こちらも対応してくださいました。ありがとうございます!

    --query-driver jq と書けばOKです。 github.com/itchyny/gojq が使われています。 itchyny さんありがとうございます! 6
  3. usacloud の rest サブコマンドを使用してAPIを直接呼ぶ usacloud の restコマンド でAPIを直接呼べる 今回は GET

    /commonserviceitem を使用 ドメインの名前がexample.jpに完全一致するレコード取得のコマンド実行例 usacloud rest request \ -d '{"Filter":{"Name":["example.jp"],"ServiceClass":"cloud/dns"}}' \ --query-driver jq \ --query '.CommonServiceItems[0].Settings.DNS.ResourceRecordSets' \ /commonserviceitem 10