LoginSignup
2
0

More than 1 year has passed since last update.

【さくらのクラウドAPI】/commonserviceitemで共通サービス(シンプル監視、ローカルルータなど)を絞ってGETする方法

Last updated at Posted at 2021-09-23

概要

さくらのクラウドAPIを叩いて共通サービス(シンプル監視、ローカルルータなど)の一覧および対象サービスに絞ってGETする方法を記載します。

必要なもの

  1. curlが実行できるターミナル
    • Windows, Mac, LinuxどのOSでもだいたい実行できると思います。できない場合は環境を用意してください。
  2. アクセストークン、アクセストークンシークレット
    • さくらのクラウドホームからAPIキーを作成し、上記の2つを控えておいてください。後ほど使用します。
    • 詳しい作成方法は下のリンクから

curlサンプルコマンド

  • サンプルに記載しているAccess Token,Token Secretはご自身のものに置き換えてください。
  • 共通サービスはさくらのクラウドの全ネットワークゾーンで共通なため、どのゾーンを指定しても同じ情報を取得できます。ただ、必ずゾーンは指定しなければアクセスできません。

1. すべてを取得する

curlコマンドサンプル
curl -u "Access Token":"Access Token Secret" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/ \
  --get

実行結果

使用しているリソースが多すぎるので実行結果を記載するのはやめておきます。

2. サービスを絞って取得する

今回はシンプル監視(simplemon)ローカルルータ(localrouter)に絞って一覧を取得してみます。

curlコマンドサンプル
curl -u "Access Token":"Access Token Secret" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/ \
  --get \
  --data-urlencode '{"Filter":{"Provider.Class":["simplemon", "localrouter"]}}'

Provider.Class

Filterオプションを使うことで欲しい共通サービスの情報に絞ることができます。
上記サンプルのようにProvider.Classというのが共通サービスごとに振られており、その値を配列に入れることで絞ることができます。

ちなみにこのProvider.Classというのがドキュメントに公開されていないため、分かる範囲でこちらに記載いたします。

サービス名 Provider.Class
エンハンスドLB proxylb
ローカルルータ localrouter
エンハンスドDB enhanceddb
コンテナレジストリ containerregistry
DNS dns
AWS接続 awsdirectconnect
GSLB gslb
二要素認証 esme
シンプル監視 simplemon
etc... 調査中

他に分かる方がいればコメントお待ちしております。

実行結果

Filterオプションで指定した通り、シンプル監視とローカルルータのみが含まれていることがわかると思います。

実行結果
{
    "From": 0,
    "Count": 2,
    "Total": 2,
    "CommonServiceItems": [
        {
            "Index": 0,
            "ID": "113300997401",
            "Name": "ローカルルータ01",
            "Description": "",
            "Settings": {
                "LocalRouter": {
                    "Switch": null,
                    "Interface": null,
                    "Peers": null,
                    "StaticRoutes": null
                }
            },
            "SettingsHash": "bcbf84351838c75bd102bf5591e7d641",
            "Status": {
                "InterfaceConnectionType": "switch",
                "SecretKeys": [
                    "fytkfwqgxzmuozjkphkabmmicsooozfh"
                ]
            },
            "ServiceClass": "cloud/localrouter/default",
            "Availability": "available",
            "CreatedAt": "2021-05-27T12:02:33+09:00",
            "ModifiedAt": "2021-05-27T12:02:33+09:00",
            "Provider": {
                "ID": 6000001,
                "Class": "localrouter",
                "Name": "localrouter1",
                "ServiceClass": "cloud/localrouter"
            },
            "Icon": null,
            "Tags": []
        },
        {
            "Index": 1,
            "ID": "113301688707",
            "Name": "hoge.hoge",
            "Description": null,
            "Settings": {
                "SimpleMonitor": {
                    "HealthCheck": {
                        "Protocol": "ping"
                    },
                    "Enabled": "True",
                    "NotifyEmail": {
                        "Enabled": "True",
                        "HTML": "False"
                    },
                    "NotifySlack": {
                        "Enabled": "False"
                    },
                    "DelayLoop": 60
                }
            },
            "SettingsHash": "395c0d4e949926ba16a89531014f3708",
            "Status": {
                "Target": "hoge.hoge"
            },
            "ServiceClass": "cloud/simplemon/charge",
            "Availability": "available",
            "CreatedAt": "2021-09-23T21:23:19+09:00",
            "ModifiedAt": "2021-09-23T21:23:19+09:00",
            "Provider": {
                "ID": 3000003,
                "Class": "simplemon",
                "Name": "simplemon03",
                "ServiceClass": "cloud/simplemon"
            },
            "Icon": null,
            "Tags": []
        }
    ],
    "is_ok": true
}

まとめ

これでさくらのクラウドで作成した共通サービスをcurlで取得することができるようになりました。
今後共通サービスが追加された場合も同様の対応で一覧が取得できると思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0