
本記事の目的
OCIリソースの一覧を作りたいという要件があったので、実現方法を整理してみた。
実現方法
- サービス・コンソールから対象リソースの管理画面で設定情報を確認する
- OCIのリソース検索機能を利用する
1の方が取得できる情報が多いが、取得したい情報によっては2の方が便利なケースもありそう。
取得したい情報に合わせて、機能を使い分けると良い。
OCIのリソース検索機能
対応リソース一覧
⇒主要なリソースは対応している。
取得できる情報
- Resource type
- Oracle Cloud Identifier (OCID)
- Compartment
- Availability domain
- Display name
- Creation date and time
- Lifecycle state
- Tags (visible in the API only)
取得例
検索機能はサービス・コンソールからも利用できるが、CLIでの取得コマンド例をいくつか紹介。
-- 全列抽出 oci search resource structured-search --query-text 'query all resources ' --query 'data.[items[*]]' -- 特定列のみ抽出 oci search resource structured-search --query-text 'query all resources ' --query 'data.[items[*].["resource-type","display-name","time-created","lifecycle-state"]]' -- 作成日でソートして抽出 oci search resource structured-search --query-text 'query all resources sorted by timeCreated asc' --query 'data.[items[*].["resource-type","display-name","time-created","lifecycle-state"]]' -- RUNNING中ステータスのリソースのみ抽出 oci search resource structured-search --query-text 'query all resources where lifeCycleState = "RUNNING" sorted by timeCreated asc ' --query 'data.[items[*].["resource-type","display-name","time-created","lifecycle-state"]]' -- オブジェクトタイプ=dbsystemのみを抽出 oci search resource structured-search --query-text 'query dbsystem resources sorted by timeCreated asc ' --query 'data.[items[*].["resource-type","display-name","time-created","lifecycle-state"]]'
jqコマンドを利用すると、もっと加工がしやすいようだが、とりあえず。
参考情報
・[Oracle Cloud] テナント上のリソース一覧をテキストで出力してみる
・Oracle Cloud(OCI)のcliのinput/outputで使うjsonに慣れる
Leave a Reply