IBM Cloud Schematics CLI
これらのコマンドを実行して、 IBM Cloud Schematics ワークスペース、アクション、プロビジョニングされたリソースを操作し、 Schematics を設定します。
Schematics CLIコマンドは地域固有である。 これらは、 IBM Cloud CLIが動作するように設定されている地域/ロケーションでのみ動作する。 CLI location および url エンドポイントが、ワークスペースおよびアクションを作成または更新するリージョンを指していることを確認します。 ロケーションとエンドポイントの詳細については、「 私の情報はどこに保存されていますか?
Schematics コマンドを実行するには、 ibmcloud schematics または ibmcloud sch を使用する。
開始前に
- CLI をセットアップします。
- Schematics プラグインをインストールします。
現在リリースされているコマンドとそのオプションを使用できるように、CLIを常に最新の状態にしておいてください。 現在のコマンドライン版リリースに関する詳細情報については、 コマンドライン版の履歴 をご覧ください。
アクション・コマンド
Schematics アクションの作成、更新、一覧表示、削除、および操作のコマンドを確認します。
ibmcloud schematics action create
単一のターゲットホストまたはターゲットホストグループに対して Ansible playbook を実行するアクションを作成します。 クラウド操作の実行や、クラウド・リソースへのソフトウェアのインストールは、Ansible Playbook を使用して行います。 この機能を試したり、始めるには、 IBM- Ansible プレイブックを提供 のいずれかを使用してください。 ペイロード・ファイルまたはコマンドの対話モードを使用して、アクションを作成することができます。
ワークスペースとアクションを作成または更新する際に、 location と url のエンドポイントが同じリージョンを指していることを確認する。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
構文
ibmcloud schematics action create --name ACTION_NAME [--description DESCRIPTION] --location GEOGRAPHY --resource-group RESOURCE_GROUP [--template GIT_TEMPLATE_REPO] [--playbook-name PLAYBOOK_NAME] [--credential CREDENTIAL_FILE] [--credential-json CREDENTIAL_JSON_FILE] [--bastion BASTION_HOST_IP_ADDRESS] [--bastion-credential-json BASTION_CREDENTIAL_JSON_FILE] [--inventory INVENTORY_ID] [—-inventory-connection-type INVENTORY_CONNECTION_TYPE] [--input INPUT_VARIABLES_LIST] [--input-file INPUT_VARIABLES_FILE_PATH] [--env ENV_VARIABLES_LIST] [--env-file ENV_VARIABLES_FILE_PATH] [--github-token GITHUB_ACCESS_TOKEN] [--output OUTPUT] [--file FILE_NAME ] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--nameまたは-n |
必須 | アクションの固有名。 |
--descriptionまたは-d |
オプション | アクションの簡略説明。 |
--locationまたは-l |
必須 | us-south, us-east, eu-de, eu-gb, ca-tor, ca-mon のように、アクションを作成したい地理または場所。 この地域またはロケーションに基づいて、アクションが実行される場所とアクション・データが保管される場所が決まります。 詳しくは、個人の情報はどこに保管されますか? を参照してください。 アクションの作成後はロケーションを変更できないため、このロケーションにデータを保管できることを確認してください。 |
--resource-groupまたは-r |
必須 | アクションを作成するリソース・グループの名前。 |
--templateまたは-tr |
オプション | Ansible Playbook が保管されている Git リポジトリーの URL。 |
--playbook-nameまたは--pn |
オプション | Ansible Playbook の名前。 |
--credentialsまたは-C |
オプション | ターゲット・ホストへのアクセスに使用する SSH 秘密鍵のファイル・パス (~/.ssh/id_rsa など)。 コマンド・ラインまたは API 呼び出しの場合、SSH 鍵には、鍵の詳細の末尾に が含まれている必要があります。 |
--credential-jsonまたは--cj |
オプション | ターゲット・ホストにアクセスするための資格情報 JSON ペイロードを含む JSON ファイルのパスを指定します。 |
--bastionまたは-b |
オプション | 要塞ホストの IP アドレス。 |
--bastion-credential-jsonまたは--bj |
オプション | 要塞ホストにアクセスするための要塞資格情報 JSON ペイロードを含む JSON ファイルのパスを指定します。 |
--inventoryまたは-y |
オプション | アクションで使用するリソース・インベントリーの ID。 既存のインベントリーをリストするには、ibmcloud schematics inventory list を実行します。 |
--inventory-connection-typeまたは--it |
オプション | インベントリー接続のタイプ。 サポート対象の値は、ssh または winrm です。 デフォルトは SSH。 現在、 WinRM は、パブリック IPs を持つ Windows システムのみをサポートしており、Bastion ホストはサポートしていません。 |
--inputまたは--in |
オプション | アクションの入力変数。 入力変数は、キーと値のペアとして入力する必要があります (--input mykey=myvalue など)。 複数の入力変数を指定するには、コマンド内で複数の --input フラグを使用します。 入力変数をファイルに保管し、--input-file コマンド・オプションを使用してこのファイルを参照することもできます。 |
--input-fileまたは--if |
オプション | すべての入力変数を指定したファイルへのパス。 入力変数は、JSON 形式のキーと値のペアとして指定する必要があります。 |
--envまたは-e |
オプション | アクションの環境変数。 環境変数は、キーと値のペアとして入力する必要があります (--env mykey=myvalue など)。 複数の環境変数を指定するには、コマンド内で複数の --env フラグを使用します。 |
--env-fileまたは-E |
オプション | アクションのすべての環境変数を指定したファイルへのパス。 環境変数は、JSON 形式のキーと値のペアとして指定する必要があります。 |
--github-tokenまたは-g |
オプション | プライベート GitHub リポジトリーに接続するために使用する、GitHub 内のパーソナル・アクセス・トークン。 Git リポジトリーから複製する場合は、複製で許可されるファイル拡張子とブロックされるファイル拡張子を参照してください。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--fileまたは-f |
オプション | 作成するアクションの定義が含まれる JSON ペイロード・ファイルのパス。 詳しくは、ペイロード・ファイルの使用を参照してください。 |
--no-prompt |
オプション | 対話モードを使用しないでコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics action create --name start-vsi --location us-south --resource-group default --template https://github.com/Cloud-Schematics/ansible-is-instance-actions --playbook-name stop-vsi-playbook.yml --input instance_ip=172.4.5.0
ペイロード・ファイルの使用
作成するアクションの詳細 (ID、名前、説明など) を含む JSON ファイルを作成します。 次に、--file コマンド・オプションを使用して、ペイロード・ファイルからアクションを作成します。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<ACTION_NAME>" を "testaction"とします。
構文
{
"name": "<ACTION_NAME>",
"description": "<DESCRIPTION>",
"location": "<LOCATION>",
"resource_group": "<RESOURCE_GROUP>",
"bastion_connection_type": "ssh",
"inventory_connection_type": "winrm",
"source": {
"source_type" : "git",
"git" : {
"git_repo_url": "<YOUR_REPOSITORY>"
}
},
"command_parameter": "<PLAYBOOK_NAME>",
"bastion": {},
"bastion_credentials": {
"metadata": {}
},
"tags": [
"<ACTION_TAGS>"
],
"source_readme_url": "stringtype",
"source_type": "GitHub"
}
ibmcloud schematics action create --file <FILE_NAME>
例
ibmcloud schematics action create --file sample.json
対話モードの使用
コマンド・オプションを入力したりペイロード・ファイルを使用したりする代わりに、コマンドの対話モードを使用してアクションを作成することができます。 デフォルトでは、最小限のユーザー入力でアクションが作成されます。 アクションにさらに情報を追加するために、後でアクションを更新できます。
- コマンド・オプションを指定しないでコマンドを実行することにより、対話モードを開始します。
ibmcloud schematics action create - アクションの名前を入力し、Enter キーを押します。
- アクションを作成するリソース・グループを入力して、Return キーを押します。
- アクションを作成するロケーション (
us-south、us-east、eu-de、eu-gbなど) を入力します。 続いて、Enter キーを押します。 このロケーションに基づいて、アクションが実行される場所とアクション・データが保管される場所が決まります。 詳しくは、個人の情報はどこに保管されますか? を参照してください。 アクションの作成後はロケーションを変更できないため、このロケーションにデータを保管できることを確認してください。 - Ansible Playbook が格納されている GitHub リポジトリーの URL を入力します。 続いて、Enter キーを押します。
- 該当する場合は、GitHub リポジトリーへのアクセスに使用するパーソナル・アクセス・トークンを入力します。 続いて、Enter キーを押します。 Git リポジトリーから複製する場合は、複製で許可されるファイル拡張子とブロックされるファイル拡張子を参照してください。
- 実行する Ansible Playbook の名前を入力し、Enter キーを押します。
- 作成されたアクションの詳細を確認します。
ibmcloud schematics action update
action_id を使用して、既存のアクションの情報を更新します。 CLI location および url エンドポイントが、ワークスペースおよびアクションを作成または更新するリージョンを指していることを確認します。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
構文
ibmcloud schematics action update --id ACTION_ID --name ACTION_NAME [--description DESCRIPTION] --location GEOGRAPHY --resource-group RESOURCE_GROUP [--template GIT_TEMPLATE_REPO] [--playbook-name PLAYBOOK_NAME] [--github-token GITHUB_ACCESS_TOKEN] [--credential CREDENTIAL_FILE] [--credential-json CREDENTIAL_JSON_FILE] [--bastion BASTION_HOST_IP_ADDRESS] [--bastion-credential-json BASTION_CREDENTIAL_JSON_FILE] [--inventory INVENTORY_ID] [--inventory-connection-type INVENTORY_CONNECTION_TYPE] [--input INPUT_VARIABLES_LIST] [--input-file INPUT_VARIABLES_FILE_PATH] [--env ENV_VARIABLES_LIST] [--env-file ENV_VARIABLES_FILE_PATH] [--file FILE_NAME] [--no-prompt] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 更新するアクションの ID。 |
--nameまたは-n |
オプション | アクションの新しい固有名。 |
--descriptionまたは-d |
オプション | アクションの簡略説明。 |
--locationまたは-l |
必須 | us-south、 us-east、 eu-de、 eu-gb、 ca-tor、 ca-mon のような IBM Cloud Schematics サービスがサポートする地理的位置。 |
--resource-groupまたは-r |
必須 | アクションのリソース・グループ名。 |
--templateまたは-tr |
オプション | Ansible Playbook が保管されている Git リポジトリーの URL。 |
--playbook-nameまたは--pn |
オプション | プレイブックの名前。 |
--github-tokenまたは-g |
オプション | プライベート GitHub リポジトリーに接続するために使用する、GitHub 内のパーソナル・アクセス・トークン。 Git リポジトリーから複製する場合は、複製で許可されるファイル拡張子とブロックされるファイル拡張子を参照してください。 |
--credentialsまたは-C |
オプション | ターゲット・ホストへのアクセスに使用する SSH 秘密鍵のファイル・パス (~/.ssh/id_rsa など)。 コマンド・ラインまたは API 呼び出しの場合、SSH 鍵には、鍵の詳細の末尾に が含まれている必要があります。 |
--credential-jsonまたは--cj |
オプション | ターゲット・ホストにアクセスするための資格情報 JSON ペイロードを含む JSON ファイルのパスを指定します。 |
--bastionまたは-b |
オプション | 要塞ホストの IP アドレス。 |
--bastion-credential-jsonまたは--bj |
オプション | 要塞ホストにアクセスするための要塞資格情報 JSON ペイロードを含む JSON ファイルのパスを指定します。 |
--inventoryまたは-y |
オプション | アクションで使用するリソース・インベントリーの ID。 既存のインベントリーをリストするには、ibmcloud schematics inventory list を実行します。 |
--inventory-connection-typeまたは--it |
オプション | インベントリー接続のタイプ。 サポート対象の値は、ssh または winrm です。 デフォルトは SSH。 現在、 WinRM は、パブリック IPs を持つ Windows システムのみをサポートしており、Bastion ホストはサポートしていません。 |
--inputまたは--in |
オプション | アクションの入力変数。 入力変数は、キーと値のペアとして入力する必要があります (--input mykey=myvalue など)。 複数の入力変数を指定するには、コマンド内で複数の --input フラグを使用します。 入力変数をファイルに保管し、--input-file コマンド・オプション内でこのファイルを参照することもできます。 |
--input-fileまたは--if |
オプション | すべての入力変数を指定したファイルへのパス。 入力変数は、JSON 形式のキーと値のペアとして指定する必要があります。 |
--envまたは-e |
オプション | アクションの環境変数。 環境変数は、キーと値のペアとして入力する必要があります (--env mykey=myvalue など)。 複数の環境変数を指定するには、コマンド内で複数の --env フラグを使用します。 |
--env-fileまたは-E |
オプション | アクションのすべての環境変数を指定したファイルへのパス。 環境変数は、JSON 形式のキーと値のペアとして指定する必要があります。 |
--fileまたは-f |
オプション | 更新するアクションの定義を指定する JSON ペイロード・ファイルのパス。 詳しくは、 ペイロード・ファイルの使用 を参照してください。 ロケーションやリソース・グループなどのパラメーターは、アクションの作成後は更新できないことに注意してください。 |
--no-prompt |
オプション | ユーザー・プロンプトを出さずにコマンドを実行するには、このフラグを設定します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics action update --id us-south.workspace.101010101 --description "This is my description"
ibmcloud schematics action get
アクション ID、Name、Status、Creation Time、Encryption Status、 Encryption CRN など、既存の Schematics アクションの詳細を取得する。
構文
ibmcloud schematics action get --id ACTION_ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 取得するアクションの ID。 |
--profileまたは-p |
オプション | 取得する情報の詳細度。 サポートされる値は、detailed および summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--no-prompt |
オプション | 対話モードを使用しないでコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics action get --id us-south.workspace.101010101 -p summary
ibmcloud schematics action list
アカウント現在の IBM Cloud 地域で定義されているすべてのアクションのリストを取得します。
構文
ibmcloud schematics action list [--limit LIMIT] [--offset OFFSET] [--profile PROFILE] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--limitまたは-l |
オプション | リストするアクションの最大数。 この数は 1 から 200 までの正整数でなければなりません。 デフォルト値は -1です。 |
--offsetまたは-m |
オプション | アクションのリスト表示の開始点にするアクションの、アクションのリスト内での位置。 例えば、 アカウント地域に3つのアクションがある場合、コマンドはこれらのアクションを3つの要素を持つリストとして返します。 すべてのアクションを取得するには、位置番号 0 を入力する必要があります。 アクション番号 2 および 3 を取得し、このリストのアクション番号 1 を除外するには、位置番号 1 を入力する必要があります。 位置番号 1 は、アクション・リストの 2 番目の位置を表します。 負数はサポートされないので、無視されます。 |
--profileまたは-p |
オプション | 戻される情報の詳細度。 サポートされる値は、ids、および summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics action list --profile ids
ibmcloud schematics action delete
Schematics アクションを削除します。
構文
ibmcloud schematics action delete --id ACTION_ID [--force][--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除するアクションの ID。 |
--forceまたは-f |
オプション | ユーザーの確認なしで強制的に削除します。 |
--no-prompt |
オプション | ユーザー・プロンプトを出さずにコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics action delete --id us-south.workspace.101010101
ibmcloud schematics action upload
ローカル・ファイル・システムから IBM Cloud Schematics アクションに、テープ・アーカイブ・ファイル (.tar) をアップロードすることもできます。 .tar ファイルを格納するローカル・マシン上の絶対ファイル・パスを入力します。 tar -cvf mytestactionupload.tar $TEMPLATE_REPO_FOLDER コマンドに付与された TAR コマンドを使用して、テンプレート・リポジトリーの .tar ファイルを作成します。
構文
ibmcloud schematics action upload --id ACTION_ID --file FILE_NAME [--no-prompt] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | アップロードするアクションの ID。 |
--fileまたは-f |
必須 | アクション用にアップロードする TAR ファイルのパス。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを停止するには、このフラグを設定します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics action upload --id us.ACTION.testphase1.2eddf83a --file <FILE_PATH>/mytestactionupload.tar
アクション・ジョブ・コマンド
Schematics アクションで作業する際に、 Schematics ジョブを作成、更新、リスト、および削除するコマンドを確認してください。
ibmcloud schematics job run
Schematics アクションで指定した Ansible プレイブックを実行するジョブを IBM Cloud Schematics に作成します。 ペイロード・ファイルまたはコマンドの対話モードを使用して、ジョブを作成することができます。
構文
ibmcloud schematics job run --command-object COMMAND_OBJECT_TYPE --command-object-id COMMAND_OBJECT_ID --command-name COMMAND_NAME [--playbook-name PLAYBOOK_NAME] [--command-options COMMAND_OPTIONS] [--input INPUT_VARIABLES_LIST] [--input-file INPUT_VARIABLES_FILE_PATH] [--env ENV_VARIABLES_LIST] [--env-file ENV_VARIABLES_FILE_PATH] [--output OUTPUT] [--file FILE_NAME ] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--command-objectまたは-c |
必須 | Schematics 自動化リソースの名前。 現在は、action のみがサポートされています。 |
--command-object-idまたは-cid |
必須 | ジョブを実行したい Schematics アクションの ID。 |
--command-name,または-n |
必須 | アクション用に実行するコマンド。 サポートされる値は、ansible_playbook_check、および ansible_playbook_run です。 |
--playbook-nameまたは-pn |
オプション | 実行する Ansible Playbookの名前。 |
--command-optionsまたは-co |
オプション | コマンドのコマンド・ライン・オプション。 |
--inputまたは--in |
オプション | アクションの入力変数。 このフラグは複数回設定でき、 --inputs test=testvalue の形式でなければならない。 |
--input-fileまたは--if |
オプション | アクションの入力変数。 入力変数を含む JSON ファイル・パスを指定してください。 |
--envまたは-e |
オプション | アクションの環境変数。 このフラグは複数回設定でき、 --env-variables test=testvalue の形式でなければならない。 |
--env-fileまたは-E |
オプション | アクションの環境変数。 環境変数を含む JSON ファイル・パスを指定してください。 |
--result-formatまたは-f |
オプション | 結果としての JSON 形式の応答出力。 |
--fileまたは-f |
オプション | 新しいジョブの定義を含む JSON ファイルへのパス。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
アクションにプレイブック名が含まれている場合は、プレイブック名を追加して、アクションのプレイブック名が優先されるようにする必要があります。 ジョブを使用して Playbook 名をオーバーライドする必要がある場合は、新しい Playbook 名を使用してアクションを作成する必要があります。
ペイロード・ファイルの使用
ペイロード・ファイルを準備することによって、job run コマンドの特定のパラメーターを指定することができます。 次に、--file コマンド・オプションを使用して、コマンドにファイル名を渡します。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<COMMAND_OBJECT>" を「action」として指定します。
構文
{
"command_object": "<COMMAND_OBJECT>",
"command_object_id": "<COMMAND_OBJECT_ID>",
"command_name": "<COMMAND_NAME>",
"command_parameter": "<PLAYBOOK_NAME>"
}
例
{
"command_object": "action",
"command_object_id": "us-east.ACTION.Example-11110000011",
"command_name": "ansible_playbook_check",
"command_parameter": "site.yml"
}
ibmcloud schematics job run --file sample.json
対話モードの使用
コマンド・オプションやペイロード・ファイルを使用してジョブの詳細を入力する代わりに、コマンドの対話モードを使用することができます。 このモードでは、Schematics でジョブを作成するために必要な値の入力を求めるプロンプトが出されます。
- コマンド・オプションを指定せずにジョブを作成するコマンドを入力します。
ibmcloud schematics job run Enter command-object>というプロンプトが出されたら、actionと入力して、Return キーを押します。Enter command-object-id>というプロンプトが出されたら、アクション ID の詳細を入力して、Return キーを押します。Enter command-name>というプロンプトが出されたら、ansible_playbook_runまたはansible_playbook_checkと入力して、Return キーを押します。- 作成されたジョブの CLI 出力を確認します。
ibmcloud schematics job update
既存のジョブの設定をコピーしてジョブを作成し、そのジョブを IBM Cloud Schematics で実行します。
構文
ibmcloud schematics job update --id JOB_ID [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | コピーして再実行する既存のジョブの ID。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでジョブを作成するには、このフラグを設定します。 |
例
ibmcloud schematics job update --id us-east.JOB.yourjob_ID_1231
ibmcloud schematics job get
ジョブIDを使用してアクション・ジョブの詳細を取得する。
構文
ibmcloud schematics job get --id JOB_ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 取得するジョブ ID の ID。 |
--profileまたは-p |
オプション | 取得する情報の詳細度。 サポートされる値は、detailed および summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでジョブの詳細を取得するには、このフラグを設定します。 |
例
ibmcloud schematics job get --id us-east.JOB.yourjob_ID_1231 --profile detailed
ibmcloud schematics job list
Schematics アクションに対して実行されたすべての Schematics ジョブのリストを取得します。 このコマンドは、ステータスが in_progress、 success、または failed のジョブのリストを表示します。
構文
ibmcloud schematics job list --resource-type RESOURCE_TYPE --id RESOURCE_ID [--limit LIMIT] [--offset OFFSET] [--profile PROFILE] [--output OUTPUT] [--all] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--resource-typeまたは-rt |
必須 | Schematics リソースの名前。 action のみがサポートされています。 |
--idまたは-i |
必須 | ジョブの一覧を表示したい Schematics アクションの ID。 |
--limitまたは-l |
オプション | リストするワークスペースの最大数。 この数は 1 から 200 までの正整数でなければなりません。 デフォルト値は -1です。 |
--offsetまたは-m |
オプション | ジョブのリスト表示の開始点にするジョブの、ジョブのリスト内での位置。 例えば、アカウントに 3 つのジョブがある場合、このコマンドは 3 つの要素を含むリストとしてそれらのジョブを戻します。 すべてのジョブを取得するには、位置番号 0 を入力する必要があります。 ジョブ番号 2 および 3 を取得し、このリストのジョブ番号 1 を除外するためには、位置番号 1 を入力しなければなりません。 位置番号 1 は、ジョブ・リストの 2 番目の位置を表します。 負数はサポートされないので、無視されます。 |
--profileまたは-p |
オプション | 戻される情報の詳細度。 サポートされる値は、ids または summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--allまたは-A |
オプション | Schematics 内部ジョブを含むすべてのジョブをリストします。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでジョブを作成するには、このフラグを設定します。 |
例
ibmcloud schematics job list --resource-type action --id us-south.ACTION.interactive.aaa1a111 --profile ids --output json
ibmcloud schematics job logs
Schematics アクションジョブのログを取得する。 ジョブログの表示についての詳細は、 Schematics ジョブの詳細を確認するを 参照してください。
構文
ibmcloud schematics job logs --id JOB_ID [log-prefix] [log-header] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 詳細ログを取得する対象のジョブの ID。 |
--log-prefixまたは--lp |
オプション | ジョブ・ログで実行されたコマンドの接頭部を追加します。 |
--log-headerまたは--lh |
オプション | ジョブ・ログのコマンド・ヘッダーを Schematics フォーマットで変換するために使用されます。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics job logs --id us-east.JOB.yourjob_ID_1231
ibmcloud schematics job delete
Schematics アクションのジョブを削除します。
実行中のジョブは、削除したり停止したりすることができません。 ジョブを削除するには、ジョブが完了するまで待つ必要があります。
構文
ibmcloud schematics job delete --id JOB_ID [--force] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除するジョブの ID。 |
--forceまたは-f |
オプション | ユーザーの確認なしで強制的に削除します。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics job delete --id us-east.JOB.yourjob_ID_1231
エージェント・コマンド
ibmcloud schematics agent create
現在選択されている Schematics 地域にエージェント登録を作成する。 エージェントは、インフラ上でTerraformや Ansible のジョブを実行するのに役立ちます。 create コマンドを使用する手順について詳しくは、 エージェントのデプロイ を参照してください。
構文
ibmcloud schematics agent create --name AGENT_NAME --location LOCATION --agent-location AGENT_LOCATION --cluster-id CLUSTER_ID --cluster-resource-group CLUSTER_RESOURCE_GROUP --cos-instance-name COS_INSTANCE_NAME --cos-bucket COS_BUCKET --cos-location COS_LOCATION --resource-group RESOURCE_GROUP [--version VERSION] [--infra-type INFRA_TYPE] [--description DESCRIPTION] [--tags TAGS] [--metadata AGENT_METADATA] [--validate] [--deploy] [--file FILE] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--nameまたは-n |
必須 | エージェントの固有名。 エージェントの役割、ロケーション、および使用法を記述する必要があります。 |
--locationまたは-l |
必須 | Schematics エージェントが定義されている場所、 us-south、 us-east、 eu-de、 eu-gb、 ca-tor、または ca-mon。 ジョブはこの場所からピックアップされ、実行される。 |
--agent-locationまたは--al |
必須 | エージェントがユーザー環境内のどこにデプロイされているかを識別するための記述的なユーザー定義ラベル。 これは、クラウド・リージョンまたはユーザー・データ・センターの場合があります。 例えば、London MZR です。 |
--cluster-idまたは-c |
必須 | エージェントをデプロイする Kubernetes クラスタの ID。 |
--cluster-resource-groupまたは--cg |
必須 | クラスタのリソース・グループ名。 |
--cos-instance-nameまたは--on |
必須 | COSインスタンスの名前。 |
--cos-bucketまたは-b |
必須 | COSバケットのIDまたは名前。 |
--cos-locationまたは--ol |
必須 | COS バケットのロケーション。 サポートされる形式は、 eu-gb、 us-south などです。 |
--resource-groupまたは-g |
必須 | エージェントが関連付けられているリソース・グループの名前または ID。 |
--versionまたは-v |
必須 | エージェントのバージョンを指定するユーザー定義ラベル。 例 v1.0.0 |
--infra-typeまたは-i |
必須 | ターゲット・エージェント・インフラのタイプを指定する。 サポートされる値は、 ibm-kubernetes、 ibm-openshift、または ibm-satellite です。 |
--descriptionまたは-d |
オプション | エージェントの使用状況、およびエージェントがアクセスできるネットワーク・ゾーンとリソースを識別する説明。 |
--tagsまたは-t |
オプション | エージェント・タグ。 このフラグは複数回繰り返すことができます。 タグを使用すると、エージェント関連リソースを素早く簡単に検索できます。 |
--metadataまたは--md |
オプション | エージェントのメタデータ。 このフラグは複数回使用できます。 例えば、 git:private-git.github.com または git:gitlab.com などです。 設定されていない場合、デフォルトは git:github.com。 |
--validate |
オプション | エージェントの作成後に検証を実行します。 |
--deploy |
オプション | エージェントの作成後に、検証せずにデプロイを実行します。 |
--fileまたはf |
オプション | エージェントの定義を含む JSON ファイルへのパス。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent create --name agenttestcli10jan --location us-east --agent-location us-east --version 1.0.0-prega --infra-type ibm_kubernetes --cluster-id clbjrdml00cgremot1k0 --cluster-resource-group Default --cos-instance-name agent-test-cos-standard --cos-bucket agent-test-bucket --cos-location us-east --resource-group Default --description "This agent is created to test for the prod release and COS"
ibmcloud schematics agent delete
エージェントをアンインストールします。 削除コマンドを使用する手順について詳しくは、 エージェントの削除 を参照してください。
構文
ibmcloud schematics agent delete --id AGENT_ID [--force]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--forceまたは-f |
オプション | 確認なしのフォースアクション。 --force パラメーターを true に設定すると、すべてのエージェント・フローが削除され、ワークスペースの破棄フローと並行して破棄されます。 デフォルトでは、このパラメータは falseに設定されている。 |
例
ibmcloud schematics agent delete --id <AGENT_ID>
ibmcloud schematics agent deploy
強制デプロイするエージェントをデプロイまたはアップグレードします。 デプロイ・コマンドを使用する手順について詳しくは、 エージェントのデプロイ を参照してください。
構文
ibmcloud schematics agent deploy --id AGENT_ID [--force-redploy] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--force-redeployまたは-fd |
オプション | エージェントを強制的に再デプロイします。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent deploy --id <AGENT_ID>
ibmcloud schematics agent destroy
エージェントを削除すると、 Schematics エージェントの展開に関連付けられたクラウドリソースが削除されます。
構文
ibmcloud schematics agent destroy --id AGENT_ID [--force]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--forceまたは-f |
オプション | 確認なしのフォースアクション。 |
例
ibmcloud schematics agent destroy --id <AGENT_ID>
ibmcloud schematics agent get
既存のエージェントの詳細(エージェントID、名前、ステータス、バージョン、作成日時、暗号化ステータス、暗号化CRNなど)を取得します。すべての入力変数の値を含みます。 getコマンドの使用方法の詳細については、 エージェントの表示 を参照してください
構文
ibmcloud schematics agent get --id AGENT_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent get --id <AGENT_ID>
ibmcloud schematics agent health
エージェントのデプロイメント後の検証を実行します。 エージェントの正常性コマンドを使用する手順について詳しくは、 エージェントの正常性のモニター を参照してください。
構文
ibmcloud schematics agent health --id AGENT_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent health --id <AGENT_ID>
ibmcloud schematics agent list
現在の Schematics 領域で定義されているエージェントをリストします。 リスト・コマンドを使用する手順について詳しくは、 エージェントの表示 を参照してください。
構文
ibmcloud schematics agent list [--location LOCATION] [--limit LIMIT] [--offset OFFSET] [--output OUTPUT_FORMAT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--locationまたは-l |
オプション | us-south、 us-east、 eu-de、 eu-gb、 ca-tor、 ca-mon のような IBM Cloud Schematics サービスがサポートする地理的位置。 |
--limitまたは-lm |
オプション | リストするエージェントの最大数。 負数が設定されている場合は無視します。 上限は200、(デフォルトは-1)。 |
--offsetまたは-m |
オプション | リスト内のオフセット。 負数を設定した場合は無視される(デフォルト: -1). |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent list --location us-south
ibmcloud schematics agent update
エージェント構成を更新します。 エージェントを更新しても、エージェントの再検証や再展開は行われません。 エージェント更新コマンドを使用する手順について詳しくは、 エージェントのデプロイ を参照してください。
構文
ibmcloud schematics agent update --id AGENT_ID [--description DESCRIPTION] [--tags TAGS] [--version VERSION] [--metadata AGENT_METADATA] [--file FILE] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--tagsまたは-t |
オプション | エージェント・タグ。 このフラグは複数回使用することができ、エージェント関連リソースをより速く検索することができます。 |
--descriptionまたは-d |
オプション | エージェントの簡単な説明。 |
--version valueまたは-v |
オプション | エージェントのバージョンを指定する。 デフォルトでは、使用可能な最新バージョンになります。 |
--metadata |
オプション | エージェントのメタデータ。 このフラグは複数回使用できます。 例えば、 git:private-git.github.com または git:gitlab.com などです。 設定されていない場合、デフォルトは git:github.com。 |
--fileまたは-f |
オプション | エージェントの定義を含む JSON ファイルへのパス。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでインベントリーを更新するには、このフラグを設定します。 |
例
ibmcloud schematics agent update --id <AGENT_ID>
ibmcloud schematics agent validate
デプロイする前に、エージェントおよびクラスター構成を分析する前提条件スキャンを検査します。 validate コマンドを使用する手順について詳しくは、 エージェントのデプロイ を参照してください。
構文
ibmcloud schematics agent validate --id AGENT_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--id |
必須 | エージェントのID。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics agent validate --id AGENT_ID
エージェント・ポリシー・コマンド
Schematics (割り当て)ポリシーは、 Schematics、特定のネットワークゾーンでワークスペースとアクションジョブを実行するためにどのエージェントを使用すべきかを指示する。 各エージェントは、エージェントのロケーションで実行するジョブを識別するために、少なくとも1つのポリシーに関連付けられています。 「 割り当てポリシー」を参照してください。
ibmcloud schematics policy create
Schematics を使って、ワークスペースやアクションのような、ターゲットエージェントで実行する1つ以上の Schematics オブジェクトを選択して、ポリシーを作成します。
構文
ibmcloud schematics policy create --name POLICY_NAME --kind POLICY_KIND --location LOCATION --resource-group RESOURCE_GROUP --target-file TARGET_FILE [--description DESCRIPTION] [--tags TAGS] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--nameまたは-n |
必須 | ポリシーの固有名。 |
--kindまたは-K |
必須 | ポリシー決定を管理および派生させるためのポリシーの種類。 サポートは agent_assignment_policy。 |
--locationまたは-l |
オプション | エージェントが定義されている Schematics サービスの地理的位置。 例えば、 us-south、 us-east、 eu-de、 eu-gb、 ca-tor、 ca-mon。 ジョブは、このロケーションから処理のためにピックアップされます。 |
--resource-groupまたは-r |
必須 | ポリシーのリソース・グループ名またはID。 |
--target-fileまたはtf |
オプション | ポリシーの定義を含むJSONファイルへのパス。 |
--descriptionまたは-d |
オプション | Schematics ポリシーの説明。 |
--tagsまたは-t |
オプション | タグを複数回使用すると、エージェント・ポリシーをより迅速に検索して見つけることができます。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
ペイロード・ファイルの使用
ペイロード・ファイルを準備することによって、policy create コマンドの特定のパラメーターを指定することができます。 次に、--target-file コマンド・オプションを使用して、コマンドにファイル名を渡します。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<SELECTOR_KIND>" を "ids"とします。
構文
{
"target": {
"selector_kind": "<SELECTOR_KIND>",
"selector_ids": [
"<SELECTOR_ID>"
]
},
"parameter": {
"agent_assignment_policy_parameter": {
"selector_kind": "<SELECTOR_KIND>",
"selector_scope": [{
"kind": "<WORKSPACE>",
"tags": [
"dev:<ENVIRONMENT>",
"demo"
],
"resource_groups": [
"<RESOURCE_GROUP>"
],
"locations": [
"<LOCATION>"
]
}]
}
}
}
例
{
"target": {
"selector_kind": "ids",
"selector_ids": [
"demo-agent-one"
]
},
"parameter": {
"agent_assignment_policy_parameter": {
"selector_kind": "scoped",
"selector_scope": [{
"kind": "workspace",
"tags": [
"dev:test",
"demo"
],
"resource_groups": [
"Default"
],
"locations": [
"us-south"
]
}]
}
}
}
例
ibmcloud schematics policy create --name policy-101 --kind agent_assignment_policy --location us-south --resource-group Default --target-file ./<PATH>/target.json
ibmcloud schematics policy delete
Schematics ポリシーを削除します。
構文
ibmcloud schematics policy delete --id POLICY_ID [--force]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | ポリシーのID。 |
--forceまたは-f |
オプション | 確認なしのフォースアクション。 |
例
ibmcloud schematics policy delete --id policy-101.soP.282e
ibmcloud schematics policy get
ポリシー ID を使用して、既存の Schematics ポリシーの詳細を取得します。
構文
ibmcloud schematics policy get --id POLICY_ID [--profile PROFILE] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | ポリシーの ID。 |
--profileまたは-p |
オプション | 返される詳細のレベル。 有効な値は summary、 detailed、または ids です。 デフォルトは summary。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics policy get --id <POLICY_ID>
ibmcloud schematics policy list
アカウント IBM Cloud 地域にあるすべてのポリシーのリストを取得します。
構文
ibmcloud schematics policy list [--profile PROFILE] [--limit LIMIT] [--offset OFFSET] [--output OUTPUT]
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--profileまたは-r |
オプション | 返すべき詳細のレベル。 有効な値は、summary、detailed、およびidsです。 デフォルトは summary。 |
--limitまたは-l |
オプション | リストするポリシーの最大数。 負数が設定されている場合は無視します。 この数は 1 から 200 までの正整数でなければなりません。 デフォルト値は -1です。 |
--offsetまたは -m |
オプション | リスト内のオフセット。 負数が設定されている場合は無視します。 デフォルト値は -1です。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics policy list --profile ids092030
ibmcloud schematics policy update
ポリシー ID を使用して既存のポリシーを更新します。
構文
ibmcloud schematics policy update --id POLICY_ID [--kind POLICY_KIND] [--description DESCRIPTION] [--resource-group RESOURCE_GROUP] [--tags TAGS] [--file FILE] [--output OUTPUT]
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | ポリシーの ID。 |
--kindまたは-k |
オプション | ポリシー決定を管理および派生させるためのポリシーの種類。 サポートは agent_assignment_policy。 |
--descriptionまたは-d |
オプション | Schematics カスタマイズポリシーの説明。 |
--resource-groupまたは-r |
オプション | ポリシーのリソース・グループ名またはID。 |
--tagsまたは-t |
オプション | ポリシー・タグ。 このフラグを複数回使用すると、エージェント・ポリシーをより迅速に検索して見つけることができます。 |
--fileまたは-f |
オプション | ポリシーの定義を含む JSON ファイルへのパス。 |
--outputまたは-o |
オプション | 出力形式を指定する。 JSON のみサポート。 |
例
ibmcloud schematics policy update --id <AGENT_ID> --description PolicyDescriptionUpdated
BYOKまたはKYOKコマンドの設定
IBM Key Protect (BYOKではマルチテナント型、KYOKでは専用型として利用可能)の暗号鍵を使用して、 Schematics に保存されているデータを暗号化し、保護することができます。 Schematics における機密データの保護方法の詳細については、 Schematics における機密データの保護を 参照してください。
Hyper Protect Crypto Services (HPCS)は新しい統合のために非推奨となりました。 既存のHPCSとの統合は引き続き機能しますが、HPCSとの新たな統合はサポートされなくなります。 新規統合の場合は、 Key Protect KYOK機能専用をご利用ください。
開始前に
鍵管理システムが、特定の場所と地域から作成されたインスタンスをリストアップするためには、以下の前提条件が確保されていなければならない。
- BYOKかKYOKを持つべきだ。 IBM Key Protect キーを作成するには、 Key Protect インスタンスの作成を 参照のこと。 BYOKの場合はMulti-Tenant、KYOKの場合はDedicatedをお選びください。
- Schematics サービスに ルート鍵を追加 する必要があります。
BYOKとKYOKを Schematics サービスに統合するには、サービス許可へのサービスを構成する必要があります。
KMS 設定は一回限りの設定です。 KMSの設定を更新するには、 サポートチケットを 開く必要があります。
ibmcloud schematics kms instance ls
ご使用の IBM Cloud または Key Protect を見つけるために、鍵が作成されたロケーションと暗号化スキーム (KYOK や BYOK など) を使用して、ご使用の Hyper Protect Crypto Services アカウントの KMS インスタンスをすべてリストします。
構文
ibmcloud schematics kms instances ls --location LOCATION_NAME --scheme ENCRYPTION_SCHEME [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--locationまたは-l |
必須 | Schematics ロケーション名を設定します。 サポート対象の値は、US または EU です。 |
--schemeまたは-s |
必須 | 暗号化スキームを指定します。 サポート対象の値は、KYOK または BYOK です。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics kms instances ls --location <LOCATION_VALUE> --scheme <SCHEMA_VALUE>
ibmcloud schematics kms enable
特定のロケーションのデータを KMS で暗号化できるようにします。 Schematics のお客様キーの有効化に関する詳細は、 キーの有効化を 参照のこと。
プライベート・エンドポイント、CRN、1 次 CRK、2 次 CRK を使用して、ご使用のロケーションの KMS 設定を更新します。 KMSの設定は一度しか更新できないことに注意してください。 例えば、North Americaなどの地域の API エンドポイントを使用する場合は、us-south または us-east で作成されたもののみが取得されます。
構文
ibmcloud schematics kms enable --location LOCATION_NAME --scheme ENCRYPTION_SCHEME --group RESOURCE_GROUP --primary_name PRIMARY_KMS_NAME --primary_crn PRIMARY_KEY_CRN --primary_endpoint PRIMARY_KMSPRIVATEENDPOINT [--secondary_name SECONDARY_KMS_NAME][--secondary_crn SECONDARY_KEY_CRN] [--secondary_endpoint SECONDARY_KMSPRIVATEENDPOINT] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--locationまたは-l |
必須 | Schematics ロケーション名を設定します。 サポート対象の値は、US または EU です。 |
--schemeまたは-s |
必須 | 暗号化スキームを指定します。 サポート対象の値は、KYOK または BYOK です。 |
--groupまたは-g |
必須 | リソース・グループ名を指定します。 デフォルト値は Default です。 |
--primary_nameまたは--pn |
必須 | 1 次 KMS 名を指定します。 |
--primary_crnまたは--pc |
必須 | 1 次鍵 CRN 名を指定します。 |
--primary_endpointまたは--pe |
必須 | 1 次 KMS プライベート・エンドポイントを指定します。 |
--secondary_nameまたは--sn |
オプション | 2 次 KMS 名を指定します。 |
--secondary_crnまたは--sc |
オプション | 2 次鍵 CRN を指定します。 |
--secondary_endpointまたは--se |
オプション | 2 次 KMS プライベート・エンドポイントを指定します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics kms enable -l <LOCATION_VALUE> -s <SCHEMA_VALUE>> -g Default -pn Key-Protect-south -pc crn:v1:bluemix:public:kms:us-south:lalalalal -pe https://private.us-south.kms.cloud.ibm.com
ibmcloud schematics kms info
KYOK または BYOK を使用する API エンドポイントの KMS を取得します。 例えば、North Americaなどの地域の API エンドポイントを使用する場合は、us-south または us-east で作成されたもののみが取得されます。 なお、 info コマンドラインを実行するには、 アカウント kms instances を有効にする必要がある。
構文
ibmcloud schematics kms info --location LOCATION_NAME [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--locationまたは-l |
必須 | Schematics ロケーション名を設定します。 サポート対象の値は、US または EU です。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics kms info -l US
汎用コマンド
IBM Cloud Schematics コマンド・ライン・プラグインのヘルプおよびバージョン情報を確認するには、以下の汎用コマンドを使用します。
ibmcloud schematics help
サポートされている IBM Cloud Schematics コマンド・ライン・コマンドを表示します。
構文
ibmcloud schematics help
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--helpまたは-h |
必須 | サポートされているコマンドをリストします。 |
command |
オプション | コマンドの詳細を取り出すコマンドの名前を指定します。 |
例
ibmcloud schematics help
ibmcloud schematics version
IBM Cloud Provider Plug-in for Terraform、 Ansible、 Helm、 Kubernetes など、 Schematics アクションをクラウド リソース上で実行するために使用される、 Schematics でサポートされているすべてのオープン ソース プロジェクトのバージョンを一覧表示します。
構文
ibmcloud schematics version [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--outputまたは-o |
オプション | JSON 形式で CLI 出力を戻します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics version --output json > "<filename.json>"
インベントリー・コマンド
Schematics アクションで使用される IBM Cloud Schematics インベントリの作成、更新、リストアップ、削除、および操作のためのコマンドを確認します。
ibmcloud schematics inventory create
Ansible アクションで使用する リソース・インベントリを Schematics で作成するには、ペイロード・ファイルまたは対話型モードを使用します。 インベントリには、 Ansible プレイブックを実行するすべてのターゲット・ホストが含まれます。
構文
ibmcloud schematics inventory create --name INVENTORY_NAME [--description DESCRIPTION] [--location GEOGRAPHY] [--resource-group RESOURCE_GROUP] [--connection-type CONNECTION_TYPE] [--bastion-ip-address BASTION_HOST_IP_ADDRESS] [--bastion-credential-json BASTION_CREDENTIAL_JSON_FILE] [--credential-json CREDENTIAL_JSON_FILE] [--inventory-view-json INVENTORY_VIEW_JSON_FILE] [--inventory-ini-file INVENTORY_INI_FILE] [--resource-query RESOURCE_QUERY_ID] [--file FILE_NAME] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--nameまたは-n |
必須 | リソース・インベントリーの固有の名前。 |
--descriptionまたは-d |
オプション | インベントリーの簡略説明。 |
--locationまたは-l |
オプション | us-south、 us-east、 eu-de、 eu-gb、 ca-tor、 ca-mon など、リソース・インベントリを保存する場所。 |
resource-groupまたは-r |
オプション | アクションを作成するリソース・グループの名前。 |
--connection-typeまたは--ct |
オプション | インベントリ接続のタイプ。 ssh と winrm の両方をサポートしている。 |
--bastion-ip-addressまたは-b |
オプション | Bastion ホストの IP アドレスを入力します。 |
--bastion-credential-jsonまたは--bj |
オプション | BastionホストにアクセスするためのBastionクレデンシャルペイロードを含むJSONファイルのパスを指定します。 |
--credential-jsonまたは--cj |
オプション | ターゲット・ホストにアクセスするための共通クレデンシャル・ペイロードを含む JSON ファイル・パスを提供する。 Schematics におけるクレデンシャルの階層は次の順序に従う:ホストレベルのクレデンシャル(最高優先度)、グループレベルのクレデンシャル(次 の優先度)、共通のクレデンシャル(最低優先度)。 |
--inventory-view-jsonまたは--inv |
オプション | ホストの詳細を含むJSONファイルへのパス。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--inventories-ini-fileまたは-y |
オプション | すべてのターゲット・ホストを指定したリソース・インベントリー・ファイルへのファイル・パス。 リソース・インベントリー・ファイルは INI 形式で提供する必要があります。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--resource-query |
オプション | 作成したリソース照会の ID を入力します。 リソースクエリは、 Schematics ワークスペースで作成したクラウド リソースを使用して、リソースインベントリを動的に構築するのに役立ちます。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--fileまたは-f |
オプション | 作成するリソース・インベントリーを指定した JSON ファイルへのパス。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでインベントリーを作成するには、このフラグを設定します。 |
ペイロード・ファイルの使用
ペイロード・ファイルを準備することによって、inventory create コマンドの特定のパラメーターを指定することができます。 次に、--file コマンド・オプションを使用して、コマンドにファイル名を渡します。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<INVENTORY_NAME>" を "myinventory"とします。
の構文 inventory_view_example.json
{
"inventory_view": {
"groups": [
{
"name": "g1",
"vars": [
{
"name": "varforweb2bvhewbvhei3GGGGG",
"value": "varvalueforw2vrehbqiovrybuipqvebipqvrqpbibrv hvprqe",
"metadata": {}
}
],
"credentials": {
"name": "somevalUserG1",
"value": "newvalueG1",
"metadata": {}
},
"hosts": [
{
"alias": "aliasname",
"name": "web1.com",
"credential": {
"metadata": {}
}
},
{
"alias": "web2.com",
"name": "web2.com",
"credential": {
"metadata": {}
},
"vars": [
{
"name": "varforweb2",
"value": "varvalueforw2vrehbqiovrybuipqvebipqvrqpbibrv hvprqe",
"metadata": {}
}
]
},
{
"alias": "web3.com",
"name": "web3.com",
"credential": {
"metadata": {}
},
"vars": [
{
"name": "varforwe23f",
"value": "vqe",
"metadata": {}
},
{
"name": "varforweb233333",
"value": "varvalueforw2vrehbqcecee",
"metadata": {}
}
]
}
]
},
{
"name": "group2",
"credentials": {
"metadata": {}
},
"hosts": [
{
"alias": "group.com1",
"name": "group.com1",
"credential": {
"metadata": {}
}
},
{
"alias": "group.com2",
"name": "group.com2",
"credential": {
"metadata": {}
}
}
]
}
]
}
}
の構文 common_credentials_example.json
{
"common_credential": [
{
"name": "inventory_username",
"value": "-----BEGIN RSA PRIVATE KEY-----\nINVENTORY SSH KEY\n-----END RSA PRIVATE KEY-----\n",
"metadata": {
"secure": true
}
}
]
}
の構文 bastion_credentials_example.json
{
"bastion_credential":{
"name": "root_updated",
"value": "somevalue_updated",
"metadata": {}
}
}
ibmcloud schematics inventory create --file inventory.json
対話モードの使用
コマンド・オプションやペイロード・ファイルを使用してインベントリーの詳細を入力する代わりに、コマンドの対話モードを使用することもできます。 このモードでは、Schematics でインベントリーを作成するために必要な値の入力を求めるプロンプトが出されます。
-
コマンド・オプションを指定せずにインベントリーを作成するコマンドを入力します。
ibmcloud schematics inventory create .... -
インベントリーの名前を入力し、Enter キーを押します。
-
インベントリーを作成するリソース・グループを入力して、Return キーを押します。
-
us-south、us-east、eu-de、eu-gbなど、インベントリーを作成する場所を入力します。 続いて、Enter キーを押します。 -
作成されたインベントリーの詳細を確認します。
例
ibmcloud sch inventory create --name test_inv_hosts --description "Testing of Inventory multihost" --location us-south --resource-group Default --connection-type ssh --bastion-ip-address 1.1.0.0 --bastion-credential-json <JSON file path>
ibmcloud schematics inventory delete
インベントリー ID を使用して、リソース・インベントリー定義を削除します。
構文
ibmcloud schematics inventory delete --id ACTION_ID [--force][--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除するインベントリーの ID。 |
--forceまたは-f |
オプション | ユーザーの確認なしで強制的に削除します。 |
--no-prompt |
オプション | ユーザー・プロンプトを出さずにコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics inventory delete --id us-east.INVENTORY.inventoryid12342
ibmcloud schematics inventory get
インベントリ ID を使用して、既存の IBM Cloud Schematics インベントリの詳細情報を取得します。
構文
ibmcloud schematics inventory get --id ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 詳細情報をリストする対象のリソース・インベントリーの ID。 |
--profileまたは-p |
オプション | 取得する情報の詳細度。 サポートされる値は、detailed および summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでインベントリーの詳細を取得するには、このフラグを設定します。 |
例
ibmcloud schematics inventory get --id us-east.INVENTORY.inventoryid12342 --output json
ibmcloud schematics inventory list
あなたのアカウント現在の地域のすべての Schematics インベントリのリストを取得します。
構文
ibmcloud schematics inventory list [--limit LIMIT] [--offset OFFSET] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--limitまたは-l |
オプション | リストするインベントリーの最大数。 この数は 1 から 200 までの正整数でなければなりません。 デフォルト値は -1です。 |
--offsetまたは-m |
オプション | インベントリーのリストにおける特定のインベントリーの位置。 例えば、アカウントに 3 つのインベントリーがある場合、このコマンドは 3 つの要素を含むリストとしてそれらのインベントリーを戻します。 このリスト内の特定のインベントリーを表示するには、リスト内のインベントリーの位置番号を入力する必要があります。 リスト内の最初のインベントリーをリストするには、0と入力します。 2 番目のインベントリーをリストするには、1 のように入力します。 負数はサポートされないので、無視されます。 デフォルト値は-1です。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
例
ibmcloud schematics inventory list --output json
ibmcloud schematics inventory update
既存の資源目録を更新する。
構文
ibmcloud schematics inventory update --id ID --name INVENTORY_NAME [--description DESCRIPTION] [--location GEOGRAPHY] [--resource-group RESOURCE_GROUP] [--connection-type CONNECTION_TYPE] [--bastion-ip-address BASTION_HOST_IP_ADDRESS] [--bastion-credential-json BASTION_CREDENTIAL_JSON_FILE] [--credential-json CREDENTIAL_JSON_FILE] [--inventory-view-json INVENTORY_VIEW_JSON_FILE] [--inventory-ini-file INVENTORY_INI_FILE] [--resource-query RESOURCE_QUERY_ID] [--file FILE_NAME] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 更新するリソース・インベントリーの ID を入力します。 |
--nameまたは-n |
必須 | インベントリーの固有の名前。 |
--descriptionまたは-d |
オプション | インベントリーの簡略説明。 |
--locationまたは-l |
オプション | us-south、 us-east、 eu-de、 eu-gb、 ca-tor、 ca-mon など、 IBM Cloud Schematics サービスがサポートする地理的位置。 |
resource-groupまたは-r |
オプション | アクションのリソース・グループ名。 |
--connection-typeまたは--ct |
オプション | インベントリ接続のタイプ。 ssh と winrm の両方をサポートしている。 |
--bastion-ip-addressまたは-b |
オプション | Bastion ホストの IP アドレスを入力します。 |
--bastion-credential-jsonまたは--bj |
オプション | BastionホストにアクセスするためのBastionクレデンシャルペイロードを含むJSONファイルのパスを指定します。 |
--credential-jsonまたは--cj |
オプション | ターゲット・ホストにアクセスするための共通クレデンシャル・ペイロードを含む JSON ファイル・パスを提供する。 Schematics におけるクレデンシャルの階層は次の順序に従う:ホストレベルのクレデンシャル(最高優先度)、グループレベルのクレデンシャル(次 の優先度)、共通のクレデンシャル(最低優先度)。 |
--inventory-view-jsonまたは--inv |
オプション | ホストの詳細を含むJSONファイルへのパス。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--inventories-ini-fileまたは-y |
オプション | ホスト詳細を指定する INI 形式ファイルのファイル・パス。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--resource-query |
オプション | 作成したリソース照会の ID を入力します。 リソースクエリは、 Schematics ワークスペースで作成したクラウド リソースを使用して、リソースインベントリを動的に構築するのに役立ちます。 インベントリがターゲット・ホストの詳細を使用するには、 --inventories-ini-file ファイル・パス、 --resource-query ID、または --inventory-view-json のいずれかを渡す必要があります。 2つまたは3つすべての引数を指定するとエラーになる。 |
--fileまたは-f |
オプション | インベントリーの定義を指定する JSON ファイルのパス。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでインベントリーを更新するには、このフラグを設定します。 |
ペイロード・ファイルの使用
ペイロード・ファイルを準備することによって、inventory update コマンドの特定のパラメーターを指定することができます。 次に、--file コマンド・オプションを使用して、コマンドにファイル名を渡します。
の構文 inventory_view_example.json
{
"name": "S23",
"id": "us-south.INVENTORY.S1.66e3f32a",
"location": "us-south",
"resource_group": "d2a073de9b834b1cad0eb0a27e6cef36",
"description": "Updated Description",
"inventories_ini": "[g1]\naliasname ansible_host=web1.com\nweb2.com\nweb3.com\n[group2]\ngroup.com1\ngroup.com2\n",
"connection_type": "ssh",
"common_credential": {
"name": "somevalUser",
"value": "newvalue",
"metadata": {}
},
"bastion": {
"name": "name",
"host": "hostname"
},
"bastion_credential": {
"metadata": {}
},
"inventory_view": {
"groups": [
{
"name": "g1",
"vars": [
{
"name": "varforweb2bvhewbvhei3GGGGG",
"value": "varvalueforw2vrehbqiovrybuipqvebipqvrqpbibrv hvprqe",
"metadata": {}
}
],
"credentials": {
"name": "somevalUserG1",
"value": "newvalueG1",
"metadata": {}
},
"hosts": [
{
"alias": "aliasname",
"name": "web1.com",
"credential": {
"metadata": {}
}
},
{
"alias": "web2.com",
"name": "web2.com",
"credential": {
"metadata": {}
},
"vars": [
{
"name": "varforweb2",
"value": "varvalueforw2vrehbqiovrybuipqvebipqvrqpbibrv hvprqe",
"metadata": {}
}
]
},
{
"alias": "web3.com",
"name": "web3.com",
"credential": {
"metadata": {}
},
"vars": [
{
"name": "varforwe23f",
"value": "vqe",
"metadata": {}
},
{
"name": "varforweb233333",
"value": "varvalueforw2vrehbqcecee",
"metadata": {}
}
]
}
]
},
{
"name": "group2",
"credentials": {
"metadata": {}
},
"hosts": [
{
"alias": "group.com1",
"name": "group.com1",
"credential": {
"metadata": {}
}
},
{
"alias": "group.com2",
"name": "group.com2",
"credential": {
"metadata": {}
}
}
]
}
]
}
}
例
ibmcloud schematics inventory update --id us-east.INVENTORY.inventory12312 --name inventoryname600 --description "Short description" --location us-east --resource-group Default --resource-query default.RESOURCEQUERY.string.12121 --output OUTPUT
Example2
ibmcloud sch inventory update --file inventory_view_example.json --id us-south.INVENTORY.S1.66e00002a
インベントリー・リソース照会コマンド
リソースクエリを使用して、アクションリソースインベントリを動的に構築します。 リソースクエリを使用すると、 Schematics ワークスペースからターゲットホスト情報を収集できます。 リソースクエリと条件の詳細については、 Schematics アクションのリソースインベントリの作成を 参照してください。
ibmcloud schematics resource query create
リソース・インベントリーの作成に使用できるリソース照会を IBM Cloud Schematics で作成します。 ペイロード・ファイルまたはコマンドの対話モードを使用して、リソース照会を作成することができます。 リソース条件は、リソース照会を使用して作成できます。
構文
ibmcloud schematics resource-query create --name RESOURCE_QUERY_NAME [--type RESOURCE_QUERY_TYPE] [--query-file QUERY_FILE_PATH] [--file FILE_NAME ] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--nameまたは-n |
必須 | リソース照会の固有の名前。 |
--typeまたは-t |
オプション | 取得するリソースのタイプ。 サポートされる値は vsi です。 |
--query-fileまたは-f |
オプション | リソース照会の詳細を指定した JSON ファイルへのパス。 サポートされている照会のリストについては、サポートされているリソース照会を参照してください。 |
--fileまたは-f |
オプション | 作成するリソース照会の詳細を指定する JSON ファイルへのパス。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでリソース照会を作成するには、このフラグを設定します。 |
ペイロード・ファイルの使用
ペイロード・ファイルを準備することによって、resource_query create コマンドの特定のパラメーターを指定することができます。 次に、--file コマンド・オプションを使用して、コマンドにファイル名を渡します。 サポートされているリソース照会のリストについては、サポートされているリソース照会を参照してください。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<WORKSPACE_ID" を us-east.workspace.ID1231とします。
構文
[{
"query_type": "workspaces",
"query_condition": [
{
"name": "workspace-id",
"value": "<WORKSPACE_ID>",
"description": "string"
},
{
"name": "resource-name",
"value": "<RESOURCE_NAME>",
"description": "string"
}
]
}]
例
[{
"query_type": "workspaces",
"query_condition": [
{
"name": "workspace-id",
"value": "us-east.workspace.ID1231",
"description": "string"
},
{
"name": "resource-name",
"value": "tf00vpc-pubpriv-frontend-vsi",
"description": "string"
}
]
}]
ibmcloud schematics resource-query create --name myquery --type vsi --query-file queries.json
対話モードの使用
コマンド・オプションやペイロード・ファイルを使用してリソース照会の詳細を入力する代わりに、コマンドの対話モードを使用することができます。 このモードでは、Schematics でリソース照会を作成するために必要な値の入力を求めるプロンプトが出されます。 リソース条件は、リソース照会を使用して作成できます。
- コマンド・オプションを指定せずにリソース照会を作成するコマンドを入力します。
ibmcloud schematics resource-query create - リソース照会の名前を入力し、Enter キーを押します。
- ペイロード・ファイルへのパスを入力します。 ペイロード・ファイルのサンプルについては、ペイロード・ファイルの使用を参照してください。 続いて、Enter キーを押します。
- 作成されたリソース照会の詳細を確認します。
ibmcloud schematics resource query delete
リソース照会 ID を使用して、IBM Cloud Schematics サービスからリソース照会定義を削除します。 インベントリーの作成元のロケーションとリージョン、リソース・グループを削除できることに注意してください。 また、IP アドレスが許可リストに含まれていることも確認してください。
構文
ibmcloud schematics resource-query delete --id ID [--force] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除するリソース照会の ID。 |
--forceまたは-f |
オプション | ユーザーの確認なしで強制的に削除します。 |
--no-prompt |
オプション | ユーザー・プロンプトを出さずにコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics resource-query delete --id us-east.INVENTORY.inventoryid12342
ibmcloud schematics resource query get
リソース照会 ID を使用して、既存の IBM Cloud Schematics リソース照会の情報を取得します。
構文
ibmcloud schematics resource-query get --id ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 取得するリソース照会の ID。 |
--profileまたは-p |
オプション | 取得する情報の詳細度。 サポートされる値は、detailed および summary です。 デフォルト値はsummaryです。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでリソース照会を取得するには、このフラグを設定します。 |
例
ibmcloud schematics resource-query get --id us-east.INVENTORY.inventoryid12342
ibmcloud schematics resource query list
自分のアカウント現在のリージョン内のすべての Schematics リソースクエリのリストを取得します。
構文
ibmcloud schematics resource-query list [--limit LIMIT] [--offset OFFSET] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--limitまたは-l |
オプション | リストするリソース照会の最大数。 この数は 1 から 200 までの正整数でなければなりません。 デフォルト値は -1です。 |
--offsetまたは-m |
オプション | リソース照会のリスト内でのリソース照会の位置。 例えば、アカウントに 3 つのリソース照会がある場合、このコマンドは 3 つの要素を含むリストとしてそれらのリソース照会を戻します。 このリスト内の特定のリソース照会を表示するには、リスト内のリソース照会の位置番号を入力する必要があります。 リスト内の最初のリソース照会をリストするには、0 と入力します。 2 番目のリソース照会をリストするには、1 のように入力します。
負数はサポートされないので、無視されます。 デフォルト値は-1です。 |
--outputまたは-o |
オプション | 出力フォーマットを指定します。 JSON 形式のみがサポートされています。 |
例
ibmcloud schematics resource-query list --output listoutput.json
ibmcloud schematics resource query update
リソース照会を更新または置換すると、リソース照会のコピーが作成され、既存の IBM Cloud Schematics リソース照会の情報が更新されて既存のリソース照会が再起動します。
構文
ibmcloud schematics resource-query update --id ID --name RESOURCE_QUERY_NAME [--type RESOURCE_QUERY_TYPE] [--query-file QUERY_FILE_PATH] [--file FILE_NAME ] [--output OUTPUT] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | リソース照会 ID。 |
--nameまたは-n |
必須 | リソース照会の固有の名前。 |
--typeまたは-t |
オプション | リソース照会のタイプ (vsi など) |
--query-fileまたは-f |
オプション | 照会が含まれている JSON ファイルへのパス。 |
--fileまたは-f |
オプション | インベントリーの定義を指定する JSON ファイルのパス。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--no-prompt |
オプション | 対話式コマンド・ライン・セッションを使用しないでリソース照会を作成するには、このフラグを設定します。 |
例
ibmcloud schematics resource-query update --id us-east.INVENTORY.inventory12312 --name inventoryname600 --description "Short description" --location us-east --resource-group Default --resource-query default.RESOURCEQUERY.string.12121
ワークスペース・コマンド
IBM Cloud Schematics ワークスペースを作成し、作業するために使用できるコマンドを確認します。
ibmcloud schematics workspace action
アクションを開始した人のユーザー ID、ステータス、タイムスタンプを含む、ワークスペースのすべてのアクティビティ (ジョブ) を取得します。
Terraformの実行プランを作成したり、 Schematics を使ってTerraformテンプレートを適用したりすると、 Schematics アクションが自動的に作成され、アクションIDが割り当てられます。 アクション ID を使用することにより、ibmcloud schematics logs コマンドを使用してこのアクションのログを取得できます。
構文
ibmcloud schematics workspace action --id WORKSPACE_ID [--act-id ACTION_ID] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | ワークスペース・アクティビティーを取得するワークスペースの固有の ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--act-idまたは-a |
オプション | 取得するアクションの ID を入力します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics workspace action --id <WORKSPACE_ID>
ibmcloud schematics workspace delete
アカウントの現在のリージョンからワークスペースを削除します。 ワークスペースを削除しても、このワークスペースでプロビジョニングしたクラウド リソースは削除されません。 ワークスペースを削除した後は、IBM Cloud のダッシュボードから直接リソースにアクセスして操作することはできますが、IBM Cloud Schematics を使用してリソースを管理することはできません。
ワークスペースまたは関連リソースの一方を削除するのか、それとも両方を削除するのかを決定します。 この操作は元に戻せません。 ワークスペースを削除してリソースを保持する場合、そのリソースはリソース・リストまたは CLI で管理する必要があります。
| アクション | ワークスペースの削除 | すべての関連リソースの削除 |
|---|---|---|
| ワークスペースの削除 | True | False |
| リソースのみを削除 | False | True |
| ワークスペースおよびワークスペースによってプロビジョンされたリソースを削除 | True | True |
| コマンド・ラインまたはリソース・リストを使用して破棄されたリソースで、ワークスペースを削除します | True | False |
構文
ibmcloud schematics workspace delete --id WORKSPACE_ID [--force]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除するワークスペースの固有の ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--forceまたは-f |
オプション | コマンド・ライン・プロンプトを表示せずに、ワークスペースの削除を強制します。 |
例
ibmcloud schematics workspace delete --id <WORKSPACE_ID>
ibmcloud schematics workspace get
既存のワークスペースの詳細(ワークスペースID、名前、ステータス、バージョン、作成日時、テンプレートID、コミットID、暗号化ステータス、暗号化CRNなど)を取得します。これには、すべての入力変数の値が含まれます。
構文
ibmcloud schematics workspace get --id WORKSPACE_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 詳細情報を取得するワークスペースの固有の ID。 ワークスペースの Resource ID を見つけるには、ibmcloud schematics workspace list コマンドを実行して、リスト・サービス・インスタンスを表示します。 リソース・グループから、--id フラグの Resource ID を取得します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics workspace get --id <WORKSPACE_ID>
ibmcloud schematics workspace import
有効なリソース・アドレスを持つ既存のリソースをワークスペース状態ファイルにインポートできます。 リソースが単一のワークスペースに 1 回のみインポートされるようにする必要があります。 そうしないと、リソースが複数のワークスペースで定義されている場合に、望ましくない動作が発生する可能性があります。 import コマンドの使用方法について詳しくは、 Terraform の資料 を参照してください。
構文
ibmcloud schematics workspace import --id WORKSPACE_ID --options OPTIONS --address ADDRESS --resourceID RESOURCE_ID
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースをインポートするワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--optionsまたは-o |
必須 | コマンド・ライン・フラグ。 例えば、 -var-file xxxxx/tf などです。 |
--addressまたは-adr |
必須 | インポートするリソース名のアドレスを指定します。 |
--resourceIDまたは-rid |
必須 | ファイルにインポートする必要があるリソース ID を指定します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
保存されたワークスペース変数を使用してリソースをインポートするように Schematics に指示するには、オプション -options -var-file=schematics.tfvars を使用します。
例
ibmcloud schematics workspace import --id WID --address ibm_iam_access_group.accgrp --resourceID AccessGroupId-xxxxxx-xxxx-xxx-xxx-xxxx -o -var-file=schematics.tfvars
ibmcloud schematics workspace list
IBM Cloud アカウントの現在の地域のワークスペースをリストし、ワークスペースの詳細を表示します。 リスト・ワークスペースは、ファイル・キャッシュを介してすべてのワークスペースに対して毎回 versions API を呼び出すことにより、ループ内の非推奨をチェックします。
構文
ibmcloud schematics workspace list [--limit LIMIT] [--offset OFFSET] [--output] [--region]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--limitまたは-l |
オプション | リストするワークスペースの最大数。 この数は 1 から始まる正の整数でなければなりません。最大値は 200 です。 デフォルト値は -1です。 |
--offsetまたは-m |
オプション | ワークスペースのリストにおける特定のワークスペースの位置。 例えば、アカウントに 3 つのワークスペースがある場合、このコマンドは 3 つの要素を含むリストとしてそれらのワークスペースを戻します。 このリスト内の特定のワークスペースを表示するには、リスト内のワークスペースの位置番号を入力する必要があります。 リストにある最初のワークスペースをリストするには、0 と入力します。 2 番目のワークスペースをリストするには、1 のように入力します。 負数はサポートされないので、無視されます。 デフォルト値は-1です。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
--regionまたは-r |
オプション | eu, us, eu-gb, eu-de, us-south, us-east のように地域を指定する。 |
例
ibmcloud schematics workspace list --limit <LIMIT_NUMBER> --offset <OFFSET_NUMBER>
ibmcloud schematics workspace new
GitHub または GitLab に、Terraform テンプレートを指す Schematics ワークスペースを作成します。 テープ・アーカイブ・ファイル (.tar) をアップロードすることによって Terraform テンプレートを提供する場合は、GitHub リポジトリーへの接続を設定せずにワークスペースを作成してから、ibmcloud schematics workspace upload コマンドを使用してテンプレートを提供します。
Schematics は、ワークスペースを作成するために .tar ファイルの受け渡しをサポートしていません。
IBM Cloud Schematics は、お客様ごとに 1 ホストにつき 1 分当たり 50 の API 要求をサポートします。 ロケーションとして、us-east、us-south、eu-gb、または eu-de のリージョンを指定できます。 コマンドを再呼び出しする前に待機する必要があります。
JSON ファイルでワークスペース設定を指定すると、ワークスペースを作成できます。 その JSON ファイルが、このコマンドで示される構造に従っているか確認します。 また、ワークスペースとアクションを作成または更新する際には、 location と url のエンドポイントが同じリージョンを指していることを確認してください。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
IBM Cloud Schematics は古いバージョンのTerraformを非推奨とし、新しいバージョンのTerraformのサポートを導入する。 詳細については、 Schematics Terraform deprecation lifecycleと Deprecation Scheduleを 参照してください。
構文
ibmcloud schematics workspace new --file FILE_NAME --state STATE_FILE_PATH [--agent-id AGENT_ID] [--github-token GITHUB_TOKEN] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--fileまたは-f |
必須 | ワークスペースの構成に使用するローカル・マシン上の JSON ファイルの相対パス。 サンプルJSONファイルの詳細については、 JSONファイル作成テンプレートを 参照してください。 |
--state |
オプション | ローカル・マシン上にある既存の Terraform 状態ファイルへの相対パス。 Terraformのステートファイルを作成する: 1. ibmcloud schematics state pull コマンドを使用して、既存の Terraform
状態ファイルの内容を表示します。2. コマンドラインから出力されたステート・ファイルの内容を、ローカル・マシン上の terraform.tfstate という名前のファイルにコピーする。 3. --state コマンド・パラメーターではファイルの相対パスを使用します。 注 Schematics
ワークスペースは、2 MB 未満の terraform.tfstate ファイルをサポートします。 |
--github-tokenまたは-g |
オプション | HTTPS Git 操作に機能のパーソナル・アクセス・トークンを入力します。 例えば、--github-token ${FUNCTIONAL_GIT_KEY} です。 |
--agent-idまたは--aid |
オプション | ワークスペースが作成されているエージェントの ID。 エージェントは、インフラストラクチャ上でワークスペースのジョブを実行するのに役立ちます。 詳しくは、 Schematics Agent を参照してください。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
Schematics ibmcloud terraform コマンドを使用すると、 エイリアス 'terraform' が非推奨であるため、警告と非推奨メッセージが表示されます。 コマンドには'schematics'または'sch'を使う。
JSON 形式の作成ファイルのテンプレート
Schematics は、プライベート・リポジトリーからの Terraform モジュール・テンプレートのダウンロードをサポートしています。 詳しくは、プライベート・リモート・ホストからモジュールをダウンロードするサポートを参照してください。
ワークスペースを作成するために example.json ファイルで共有される JSON ファイルを作成し、--file フラグでファイル名とともにファイル・パスを渡すことができます。 表に記載されている example.json の全パラメーターの説明。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<workspace_name>" を "testworkspace"とします。
例
{
"name": "<workspace_name>",
"type": [
"<terraform_version>"
],
"location": "<location>",
"description": "<workspace_description>",
"tags": [],
"template_repo": {
"url": "<github_source_repo_url>"
},
"template_data": [
{
"folder": ".",
"type": "<terraform_version>",
"env_values":[
{
"env_key1": "dummy_text"
},
{
"env_key2": "dummy_text"
}
],
"variablestore": [
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "string",
"secure": true,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "bool",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "list(string);",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "map(number)",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "tuple([string, list(string), number, bool])",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "any",
"secure": false,
"description":"<description>"
}
]
}
],
}
.tar ファイルにアップロードする JSON の例
{
"name": "<workspace_name>",
"type": [
"<terraform_version>"
],
"location": "<location>",
"description": "<workspace_description>",
"tags": [],
"template_repo": {
"url": "<github_source_repo_url>"
},
"template_data": [
{
"folder": ".",
"type": "<terraform_version>",
"env_values":[
{
"env_key1": "dummy_text"
},
{
"env_key2": "dummy_text"
}
],
"variablestore": [
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "string",
"secure": true,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "bool",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "list(string)",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "map(number)",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "tuple([string, list(string), number, bool])",
"secure": false,
"description":"<description>"
},
{
"name": "<variable_name_x>",
"value": "<variable_value_x>",
"type": "any",
"secure": false,
"description":"<description>"
}
]
}
]
}
| パラメーター | 必須/オプション | 説明 |
|---|---|---|
workspace_name |
オプション | ワークスペースの名前を入力します。 文字の最大長が 1 MB 未満に設定されています。 詳しくは、ワークスペース構造の設計を参照してください。 |
terraform_version |
オプション | Terraform コードを実行するために使用する Terraform のバージョン。 Terraform のバージョン 1.5 を使うには terraform_v1.5 と入力し、Terraform のバージョン 1.4 を使うには terraform_v1.4 と入力し、同様に terraform_v1.4 と入力する。 例えば、 terraform_v1.5 を指定すると、ユーザーは Terraform v1.5.0、 v1.5.1、または v1.5.7 などのテンプレートを持つことができます。 使用する Terraform 構成ファイルに、指定した Terraform バージョンとの互換性があることを確認してください。 これは必須変数です。 Terraform のバージョンが指定されていない場合、デフォルトでは Schematics
がテンプレートからバージョンを選択します。 Schematics は Terraform_v1.x をサポートし、また HashiCorp Configuration Language (HCL) のリリース 30 to 45 days 以降のリリースを利用可能にする予定です。 |
location |任意|ワークスペースを作成する場所を入力します。 このロケーションに基づいて、Schematics アクションが実行される場所とワークスペース・データが保管される場所が決まります。 ロケーションを入力しなかった場合、ターゲットにした Schematics のリージョンに基づいて IBM Cloud によってロケーションが決定されます。 対象とした地域を表示するには、 ibmcloud target --output json を実行し、 region フィールドを見る。 別の地域をターゲットにするには、 ibmcloud target -r <region> を実行する。 場所を入力する場合は、その場所がターゲットとした IBM Cloud 地域と一致していることを確認してください。 |
||
description |
ワークスペースの説明を入力します。 | |
template_repo.url |
Optional | Terraform設定ファイルが保存されている GitHub または GitLab リポジトリへの URL を入力する。 |
template_repo.branch |
オプション|Terraform設定ファイルが保存されている GitHub または GitLab ブランチを入力する。 さて、 template_repo では、ブロックに示すように、さらにパラメーターを追加して URL を更新することもできる。 |
|
template_repo.datafolder |任意| Git リポジトリ内の、テンプレートを含むフォルダの名前を入力します。 |
||
template_repo.release |
オプション|Terraform設定ファイルを指す GitHub または GitLab リリースを入力する。 | |
github_source_repo_url |任意| GitHub リポジトリへのリンクを入力してください。 リンクは、 master ブランチ、別のブランチ、またはサブディレクトリを指すことができます。 GitHub リポジトリなしでワークスペースを作成する場合、ワークスペースはドラフト状態で作成されます。 後でワークスペースを GitHub リポジトリに接続するには、
ibmcloud schematics workspace update コマンドを使用する必要があります。 テープアーカイブファイル(.tar)をアップロードしてTerraformテンプレートを提供する予定の場合、 URL は空のままにしておき、ワークスペースを作成した後に ibmcloud schematics workspace upload コマンドを使用します。 Git リポジトリからクローンを作成する場合は、クローン作成で 許可されるファイル拡張子と禁止されるファイル拡張 子を参照してください。 |
||
env_values |オプション|bashスクリプトまたはTerraformアクションの実行中に適用したい環境変数のリスト。 このフィールドは、キーと値のペアのリストとして指定する必要があります。 各エントリーは、 key = variable name と value = value が1つのエントリーであるマップである。 bash スクリプト・ファイルを使用してプロビジョンされる
IBM Cloud カタログ・オファリングの環境変数を定義できます。 |
||
variable_name |
オプション | Terraform設定ファイルで宣言した入力変数の名前を入力する。 |
variable_type |
オプション | Terraform v0.12 は string, list, map, bool, number および list(type), map(type), object({attribute name=type,..}), set(type),
tuple([type]) のような複雑なデータ型をサポートする。 |
variable_value |
bool、 number、 string、 HCL のようなプリミティブ型には、 .tfvars ファイルで指定した値を文字列として入力します。 例に示してあるように、値には HCL 形式のエスケープ・ストリングを入力する必要があります。 Terraformの設定ファイルで変数を宣言し、回路図に値を与える方法については、
リソースをカスタマイズするための入力変数の使い方を 参照してください。 例 |
|
secure |オプション| secure パラメータを trueに設定する。 デフォルトでは、このパラメータは falseに設定されている。 |
||
val1 |
Optional | ペイロードでは、計画、適用、破棄の段階でワークスペースで実行できる環境変数を指定できます。 また、値は暗号化され、COS に保管されます。 |
IBM Cloud Schematics は、TF_PARALLELISM や TF_LOG などの環境変数のセットアップをサポートしています。 環境変数のリストとその使い方については、 環境変数のリストを 参照。
例
ibmcloud schematics workspace new --file example.json
ibmcloud schematics refresh
ワークスペースに対して IBM Cloud refresh アクションを実行します。 refresh アクションは、ワークスペースの Terraform 状態ファイルに保存されている状態に対して、 アカウント Cloud リソースを検証します。 相違が見つかった場合は、それに応じて Terraform 状態ファイルが更新されます。
構文
ibmcloud schematics refresh --id WORKSPACE_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 最新表示し、実行するアクションの対象とするワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics refresh --id myworkspace-a1aa1a1a-a11a-11
ibmcloud schematics state list
Terraformのステートファイル(terraform.tfstate)にドキュメント化されているクラウドリソースの Name, Type, URL, Taint Status をリストアップします。
Taint Status は、(true) の場合は tainted、(false) の場合はブランクを返します。
構文
ibmcloud schematics state list --id WORKSPACE_ID [--output json]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | Terraformステートファイルに記述されているクラウドリソースをリストアップしたいワークスペースの一意な識別子。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics state list --id myworkspace-a1aa1a1a-a11a-11
ibmcloud schematics workspace taint
次回の適用時にリソースを強制的に再作成することによって、インスタンスまたはリソースを汚染されたものとして手動でマークします。 汚染により、状態ファイルが変更されますが、ワークスペース内のインフラストラクチャーは変更されません。 次の計画を実行すると、変更が再作成されたと表示され、次の適用で変更が実装されます。
リソースのテイント状況を表示するには、ibmcloud schematics state list コマンドを実行する必要があります。Taint Status は、テイント を (true)、またはブランク を (false) で返します。
構文
ibmcloud schematics workspace taint --id WORKSPACE_ID [--options OPTIONS] --address PARAMETER
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを再作成するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--optionsまたは-o |
オプション | 表示するオプションのフラグを入力します。 |
--addressまたは-adr |
必須 | テイントとしてマークするリソースのアドレスを入力します。 |
例
ibmcloud schematics workspace taint --id myworkspace-lalalalalalala-11 --address null_resource.sleep
ibmcloud schematics workspace untaint
手動でインスタンスまたはリソースを untaint としてマークし、次回の適用時にリソースを強制的にリストアします。 次の計画を実行すると、変更が復元されたと表示され、次の適用で変更が実行されます。
ibmcloud schematics state list コマンドを実行すると、リソースのテイント状況を表示できます。Taint Status は、テイント を (true)、またはブランク を (false) で返します。
構文
ibmcloud schematics workspace untaint --id WORKSPACE_ID [--options OPTIONS] [--address PARAMETER]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを再作成するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--optionsまたは-o |
オプション | 表示するオプションのフラグを入力します。 |
--addressまたは-adr |
オプション | untaint としてマークするリソースのアドレスを入力する。 |
{: caption="Schematics workspace untaint 「caption-side = "top "} にフラグを立てる |
例
ibmcloud schematics workspace untaint --id myworkspace-asdff1a1a-42145-11 --address null_resource.sleep
ibmcloud schematics workspace update
IBM Cloud Schematics は古いバージョンのTerraformを非推奨とし、新しいバージョンのTerraformのサポートを導入する。 詳細については、 Schematics Terraform deprecation lifecycleと Deprecation Scheduleを 参照してください。
ワークスペース名、変数、ソース管理 URL など、既存のワークスペースの詳細情報を更新します。 IBM Cloud をプロビジョンまたは変更するには、ibmcloud schematics plan コマンドを参照してください。
IBM Cloud Schematics は、お客様ごとに 1 ホストにつき 1 分当たり 50 の API 要求をサポートします。 地域は、 us-east、 us-south、 eu-gb、または eu-de。 コマンドを再呼び出しする前に待機する必要があります。 ワークスペースとアクションを作成または更新するときに、 location と
url のエンドポイントが同じリージョンを指していることを確認する。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
テープ・アーカイブ・ファイル (.tar) をアップロードすることによって Terraform テンプレートを提供したときに、テンプレートを更新する場合は、ibmcloud schematics workspace upload コマンドを使用する必要があります。
構文
ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest] [--output OUTPUT]
Pull-latest フラグは、IBM Cloud カタログからのテンプレートを使用して作成されたワークスペースではサポートされていません。
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを更新するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--fileまたは-f |
オプション | ワークスペースの更新されたパラメーターが含まれているローカル・マシン上の JSON ファイルの相対パス。 サンプルJSONファイルの詳細については、 JSONファイル更新テンプレートを 参照してください。 |
--github-tokenまたは-g |
オプション | プライベート Git リポジトリーにアクセスするための GitHub トークン値を入力します。 |
--pull-latestまたは--pl |
オプション | GitHub リポジトリーからワークスペースに最新の変更内容をプルします。 このフラグが設定されている場合、--file フラグは無視されます。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
JSON 形式の更新ファイルのテンプレート
ワークスペースの更新のために example.json ファイル内に共有として JSON を作成し、このファイルのパスをファイル名と共に --file フラグで渡すことができます。 example.json のパラメーターについてはすべて表で説明しています。
<...> プレースホルダーを実際の値に置き換える必要があります。 例えば、"<workspace_name>" を "testworkspace"とします。
example.json:
{
"name": "<workspace_name>",
"type": "<terraform_version>",
"description": "<workspace_description>",
"tags": [],
"resource_group": "<resource_group>",
"workspace_status": {
"frozen": "<true_or_false>"
},
"template_repo": {
"url": "<source_repo_url>"
},
"template_data": [
{
"folder": ".",
"type": "<terraform_version>",
"env_values":[
{
"env_key1": "dummy_text"
},
{
"env_key2": "dummy_text"
}
],
"variablestore": [
{
"name": "<variable_name1>",
"value": "<variable_value1>",
"type": "<variable_type1>",
"secure": true,
"use_default": true },
{
"name": "<variable_name2>",
"value": "<variable_value2>",
"type": "<variable_type2>",
"secure": false,
"use_default": true
}
]
}
],
}
| パラメーター | 必須 / オプション | 説明 |
|---|---|---|
name |
オプション | ワークスペースの名前を入力します。 詳しくは、ワークスペースの構造の設計を参照してください。 ワークスペースの名前を更新した場合、ワークスペースの ID は変わりません。 |
type |
オプション | Terraform コードを実行する際に使用する Terraform バージョン。 Terraform バージョン 1.5を使用するには terraform_v1.5 を入力し、Terraform バージョン 1.4を使用するには terraform_v1.4 を入力します。 例えば、 terraform_v1.5 を指定すると、ユーザーは Terraform v1.5.0、
v1.5.1、または v1.5.7 などのテンプレートを持つことができます。 使用する Terraform 構成ファイルに、指定した Terraform バージョンとの互換性があることを確認してください。 これは必須変数です。 Terraformのバージョンが指定されていない場合、デフォルトでは Schematics、テンプレートからバージョンが選択されます。 |
description |
オプション | ワークスペースと関連付けるタグを入力します。 タグを使えば、ワークスペースを素早く見つけることができます。 |
resource_group |
オプション | ワークスペースをプロビジョンするリソース・グループを入力します。 |
workspace_status |
オプション | ワークスペースを凍結または凍結解除します。 ワークスペースが凍結されている場合、ワークスペースの変更内容は無効です。 |
template_repo.url |
オプション | Terraform 構成ファイルが格納されている GitHub または GitLab リポジトリーの URL を入力します。 |
template_repo.branch |
オプション | Terraform 構成ファイルが格納されている GitHub または GitLab ブランチを入力します。 テンプレート・リポジトリーでは、ブロックに示されているように、より多くのパラメーターで URL を更新することもできます。 |
template_repo.datafolder |
オプション | テンプレートを含む Git リポジトリー内のフォルダーの名前を入力します。 |
template_repo.release |
オプション | Terraform 構成ファイルを指す GitHub または GitLab リリースを入力します。 |
github_source_repo_url |
オプション | GitHub リポジトリーへのリンクを入力します。 リンクは、 master ブランチ、別のブランチ、またはサブディレクトリを指すことができます。 |
template_data.folder |
オプション | Terraform 構成ファイルで宣言した入力変数の名前を入力します。 |
template_data.type |
オプション | Terraform設定ファイルで宣言した入力変数タイプの名前を入力します。 |
template_data[0].env_values[i].va11 |
オプション | bash スクリプト・ジョブまたは Terraform ジョブの実行中に適用する環境変数のリスト。 このフィールドは、キーと値のペアのリストとして指定する必要があります (例: TF_LOG=debug)。 各エントリーは、1 つのエントリーを持つマップです。ここで、 キーは環境変数名、値はです。 |
template_data[0].env_values[i].val2 |
オプション | bash スクリプト・ジョブまたは Terraform ジョブの実行中に適用する環境変数のリスト。 このフィールドは、キーと値のペアのリストとして指定する必要があります (例: TF_LOG=debug)。 各エントリーは、1 つのエントリーを持つマップです。ここで、 キーは環境変数名、値はです。 |
template_data[0].env_values_metadata |
オプション | 環境変数メタデータ。 |
template_data[0].variablestore[i].name |
オプション | Terraform 構成ファイルで宣言した入力変数の名前を入力します。 |
template_data[0].variablestore[ii].type |
必須 | Terraform v0.12 string,,,, および,,,, のような複雑なデータ型をサポートしている。 list map bool number list(type) map(type) object({attribute name=type,..}) set(type) tuple([type]) |
template_data[0].variablestore[iii].value |
オプション | 複合変数については、bool ファイルで指定するように、プリミティブ型 (number、string、HCL、.tfvars 形式など) のストリングとして値を入力します。 .tfvars のデフォルト値をオーバーライドするには、use_default パラメーターを true に設定します。 例に示してあるように、値には HCL 形式のエスケープ・ストリングを入力する必要があります。 Terraform設定ファイルで変数を宣言し、回路図に値を提供する方法の詳細については、 リソースをカスタマイズするための入力変数の使用と 変数ストアの 例を参照してください |
template_data[0].variablestore[iv].secure |
オプション | secure パラメータを true に設定する。 デフォルトでは、このパラメータは falseに設定されている。 |
template_data[0].variablestore[v].use_default |
オプション | デフォルトの .tfvars パラメータを上書きするには、 use_default パラメータを trueに設定する。 デフォルトでは、このパラメータは falseに設定されている。 |
github_source_repo_url |
オプション | GitHub リポジトリーへのリンクを入力します。 リンクは、 master ブランチ、別のブランチ、またはサブディレクトリを指すことができます。 |
変数ストアの例
"variablestore": [
{
"value": "[\n {\n internal = 800\n external = 83009\n protocol = \"tcp\"\n }\n ]",
"description": "",
"name": "docker_ports",
"type": "list(object({\n internal = number\n external = number\n protocol = string\n }))",
"use_default":true
},
例
ibmcloud schematics workspace update --id myworkspace-a1aa1a1a-a11a-11 --file myfile.json
ibmcloud schematics workspace update variables
IBM Cloud Schematics は古いバージョンのTerraformを非推奨とし、新しいバージョンのTerraformのサポートを導入する。 詳細については、 Schematics Terraform deprecation lifecycleと Deprecation Scheduleを 参照してください。
変数の更新により、既存のワークスペースの1つまたは複数の入力変数を更新することができます。 ワークスペースのメタデータ変数(名前やソース管理URL など)を更新することはできません。 IBM Cloud をプロビジョンまたは変更するには、ibmcloud schematics plan コマンドを参照してください。
構文
ibmcloud schematics workspace update-variables --id WORKSPACE_ID --template TEMPLATE_ID --file FILE_NAME [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを更新するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--fileまたは-f |
必須 | 更新するワークスペース変数の更新パラメータを含む、ローカルマシン上の JSON ファイルへの相対パス。 サンプルJSONファイルの詳細については、 JSONファイル更新テンプレートを 参照してください。 |
--templateまたは-tid |
必須 | テンプレートIDを入力してください。 テンプレートIDを取得するには、 ibmcloud 設計図 ワークスペース 取得 を使用してください。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
変数ストアと環境値の例
exampleupdatevar.json:
{
"variablestore":
[
{
"name": "vpc_name",
"secure": true,
"value": "vpc_name_snsitive_updated",
"type": "string",
"description": ""
},
{
"name": "IC_SCHEMATICS_WORKSPACE_ID",
"secure": false,
"value": "test_updated",
"type": "string",
"description": ""
}
],
"env_values":
[
{
"name": "TF_LOG",
"value": "debug_working",
"secure": false,
"hidden": false
},
{
"name": "TF_ENV",
"value": "test_working",
"secure": false,
"hidden": false
}
]
}
例
ibmcloud schematics workspace update-variables --id myworkspace-a1aa1a1a-a11a-11 --template myworkspacetemplateid-1000 --file exampleupdatevar.json
ibmcloud schematics workspace upload
テープ・アーカイブ・ファイル (.tar) を Schematics ワークスペースにアップロードすることによって、Terraform テンプレートを提供します。 .tar は Cloud Shell コマンドをサポートしている。
始める前に、GitHub リポジトリーまたは GitLab リポジトリーへのリンクを設定せずにワークスペースを作成したことを確認します。
構文
ibmcloud schematics workspace upload --id WORKSPACE_ID --file FILE_NAME --template TEMPLATE_ID [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | テープ・アーカイブ・ファイルのアップロード先となるワークスペースの固有 ID (.tar)。ワークスペースの ID を探すには、ibmcloud schematics workspace list コマンドを実行します。 |
--fileまたは-f |
必須 | .tar ファイルを格納するローカル・マシン上の絶対ファイル・パスを入力します。 |
--templateまたは-tid |
必須 | Terraform 状態ファイルのコンテンツを表示する対象となる Terraform テンプレートの固有 ID。 テンプレートの ID を探すには、ibmcloud schematics workspace get --id <workspace_ID> を実行し、コマンド・ライン出力の テンプレート変数: フィールドでテンプレート ID を探します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics workspace upload --id myworkspace-a1aa1a1a-a11a-11 --file /Users/myuser/Documents/mytar/vpc.tar --template 25111111-0000-4c
TAR が指定された TAR コマンドを使用して、テンプレート・リポジトリーの tar -cvf vpc.tar $TEMPLATE_REPO_FOLDER ファイルを作成します。
変数値の例
"variablestore": [
{
"value": "[\n {\n internal = 800\n external = 83009\n protocol = \"tcp\"\n }\n ]",
"description": "",
"name": "docker_ports",
"type": "list(object({\n internal = number\n external = number\n protocol = string\n }))"
},
]
ワークスペース・ジョブ・コマンド
Schematics 操作を実行し、クラウドリソースの作成、更新、削除を行います。 使い慣れた Terraform セマンティクスを使用して、Terraform ワークスペースを計画、適用、および破棄し、クラウド・リソースのライフサイクルを管理します。
ibmcloud schematics apply
ワークスペースの Terraform テンプレートを適用すると、リソースのプロビジョニング、変更、 IBM Cloud からの削除が行われます。 適用操作中に作成された一時ファイルは、将来の操作のために 永続化する ことができる。
Schematics の適用操作を実行するには、ワークスペースが非アクティブ、 アクティブ、 失敗、または停止状態である必要があります。 ワークスペースの状態について詳しくは、 ワークスペースの状態遷移図 を参照してください。
Terraform ジョブの実行中は、ワークスペースはロックされ、実行が完了するまでワークスペースに変更を加えることはできません。
構文
ibmcloud schematics apply --id WORKSPACE_ID [--target RESOURCE1] [--target RESOURCE2] [--var-file PATH_TO_VARIABLES_FILE] [--force] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | IBM Cloud に適用するソース管理リポジトリー内の Terraform テンプレートを指しているワークスペースの固有の ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--targetまたは-t |
オプション | Terraform リソースのアドレス (例えば、ibm_is_instance.vm1) を入力して、Terraform 構成ファイルの特定のリソースを作成対象として指定します。 設定ファイルに定義されている他のすべてのリソースは、作成も更新もされません。 複数のリソースの作成をターゲットにする場合は、構文 --target <resource1> --target <resource2> を使用します。 対象として指定されたリソースで count 属性が指定され、リソース・アドレスにインデックス (例えば、ibm_is_instance.vm1[1]) が指定されていない場合、同じリソース名を共有するすべてのインスタンスが作成の対象となります。 |
--var-fileまたは--vf |
オプション | ローカル・マシンに作成した terraform.tfvars ファイルのファイル・パス。 このファイルを使用して、IBM Cloud クラシック・インフラストラクチャーに接続するための IBM Cloud API キーや資格情報などの機密情報を <key>=<value>の形式で保管します。 変数は、例えば availability_zone_names = ["us-east-1a","us-west-1c"] のように、単一行形式で定義する必要があります。 このファイルで定義されているすべてのキー値ペアは、Terraform CLI の初期化時に Terraform へ自動的に読み込まれます。 複数の tfvars ファイルを指定するには、--var-file TFVARS_FILE_PATH1 --var-file TFVARS_FILE_PATH2 と指定します。 |
--forceまたは-f |
オプション | ユーザー・プロンプトを表示せず、このコマンドの実行を強制します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics apply --id myworkspace-a1aa1a1a-a11a-11 --target ibm_is_instance.vm1 --var-file ./terraform.tfvars
ibmcloud schematics destroy
Schematics ワークスペースを使用してプロビジョニングしたクラウド リソースを、これらのリソースがアクティブであっても削除します。 デフォルトでは、コマンドはプレビューするすべてのリソースをリストアップし、その後、破棄する確認を受け取ります。 --force or -f フラグをdestroyコマンドで使用すると、destoryしたいリソースのプレビューを確認できません。
このコマンドは注意して使用してください。 コマンドを実行した後、クラウド・リソースの削除を元に戻すことはできません。 プロビジョンされたストレージまたはデータベースにデータを書き込んだ場合は、データを永続化するためのバックアップを必ず作成してください。
Schematics destroy アクションを実行するには、ワークスペースの状態が**「アクティブ」、「失敗」または「停止」**のいずれかである必要があります。
構文
ibmcloud schematics destroy --id WORKSPACE_ID [--target RESOURCE1] [--target RESOURCE2] [--force] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 削除したいクラウドリソースを指定するソースリポジトリのTerraformテンプレートを指すワークスペースの一意な識別子。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--targetまたは-t |
オプション | Terraform リソースのアドレス (例えば、ibm_is_instance.vm1) を入力して、特定のリソースを削除の対象として指定します。 ワークスペース内の他のすべてのリソースは変更されないままになります。 複数のリソースの削除をターゲットにする場合は、構文 --target <resource1> --target <resource2> を使用します。 対象として指定されたリソースで
count 属性が指定され、リソース・アドレスにインデックス (例えば、ibm_is_instance.vm1[1]) が指定されていない場合、同じリソース名を共有するすべてのインスタンスが削除の対象となります。 また、対象として指定されたリソースが、依存リソースが削除されないと削除できないものである場合は (例えば、 VPC は、接続されているサブネットが削除されないと削除できません)、すべての依存リソースも削除の対象となります。 |
--forceまたは-f |
オプション | ユーザー・プロンプトを表示せず、このコマンドの実行を強制します。 破棄したいリソースのプレビューは表示されません。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics destroy --id myworkspace-a1aa1a1a-a11a-11 --target ibm_is_vpc.myvpc
ibmcloud schematics logs
Schematics ワークスペースまたは特定のワークスペースのアクションIDのTerraformログファイルを取得する。 このログ・ファイルを使用して、Terraform テンプレートの問題、またはリソースをプロビジョン、変更、削除するプロセス中に生じた問題のトラブルシューティングを行います。
構文
ibmcloud schematics logs --id WORKSPACE_ID [--act-id ACTION_ID]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | Terraform ログ・ファイルを取得するワークスペースの固有の ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--act-idまたは-1 |
オプション | Terraform ログを取得するアクションの ID。 アクション ID のリストを確認するには、ibmcloud schematics workspace action --id WORKSPACE_IDコマンドを実行します。 |
例
ibmcloud schematics logs --id myworkspace-a1aa1a1a-a11a-11 --act-id 9876543121abc1234cdst
ibmcloud schematics output
ワークスペースの Terraform 出力値を取得します。 Terraformテンプレートで出力値を定義し、他のワークスペースからアクセスできるようにしたいデータを含めることができる。
構文
ibmcloud schematics output --id WORKSPACE_ID[--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | Terraform 出力値をリストするワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics output --id myworkspace3_2-31cf7130-d0c4-4d
ibmcloud schematics plan
ソースリポジトリのTerraformテンプレートをスキャンし、このテンプレートをすでにデプロイされているクラウドリソースと比較します。 コマンドライン出力は、設定ファイルに記述された状態を達成するために追加、変更、 永続化、または削除しなければならないクラウド・リソースを示します。
Schematics の plan アクション実行するには、ワークスペースの状態が**「非アクティブ」、「アクティブ」、「失敗」、または「停止」**のいずれかである必要があります。
Terraform 実行プランの作成中は、ワークスペースに変更を加えることはできません。
構文
ibmcloud schematics plan --id WORKSPACE_ID [--var-file PATH_TO_VARIABLES_FILE] [--output OUTPUT]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | スキャンするソース・リポジトリー内の Terraform テンプレートを指しているワークスペースの固有の ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--var-fileまたは--vf |
オプション | ローカル・マシンに作成した terraform.tfvars ファイルのファイル・パス。 このファイルを使用して、IBM Cloud クラシック・インフラストラクチャーに接続するための IBM Cloud API キーや資格情報などの機密情報を <key>=<value>の形式で保管します。 変数は、例えば availability_zone_names = ["us-east-1a","us-west-1c"] のように、単一行形式で定義する必要があります。 このファイルで定義されているすべてのキー値ペアは、Terraform CLI の初期化時に Terraform へ自動的に読み込まれます。 複数の tfvars ファイルを指定するには、--var-file TFVARS_FILE_PATH1 --var-file TFVARS_FILE_PATH2 と指定します。 |
--outputまたは-o |
オプション | コマンド・ライン出力を JSON 形式で返します。 現時点では JSON ファイル・フォーマットのみがサポートされています。 |
例
ibmcloud schematics plan --id myworkspace-a1aa1a1a-a11a-11
ワークスペース停止コマンド
plan、 apply、または destroy などのワークスペース・ジョブを呼び出した後、実行中のジョブを停止したり、リソースのプロビジョニングを停止したりすることができます。 長時間実行ジョブを停止または取り消す場合は、まずジョブ・ログを確認して、ジョブが実際にスタックして停止する必要があるかどうか、または完了までに時間がかかる長時間実行操作を実行しているかどうかを判別することをお勧めします。
Schematics には、実行中のジョブを停止操作の即時性と影響度の高い順に、 (gracefully) stop、 force-stop、または terminate。
(gracefully) stop、 force-stop 、または terminate ジョブに対するコマンドを確認します。
ibmcloud schematics workspace job stop
実行中のワークスペースジョブを停止し、Terraformに割り込みシグナルを送って実行を終了させる。
構文
ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 更新するワークスペース ID。 |
--job-idまたは--jid |
必須 | ジョブのジョブ ID です。 |
--stop, |
オプション | 保留キューからジョブを削除する。 |
--force-stopまたは--fs |
オプション | エンジンで実行されている Terraform に kill シグナルを送り、実行を即座に停止させようとします。 |
--terminateまたは-t |
オプション | エンジンを突然強制終了し、ジョブに停止のマークを付け、ワークスペースをアンロックします。 このフラグではデータは保存されない。 |
例
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --force-stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --terminate --job-id <JOB_ID>
ワークスペース状態ファイル・コマンド
ワークスペースの Terraform 状態ファイル (terraform.tfstate) を操作するために使用できるコマンドを確認します。
ワークスペースの作成中に、既存の Terraform 状態ファイルをインポートできます。 詳しくは、ibmcloud workspace new コマンドを参照してください。
ibmcloud schematics state pull
ワークスペースにある特定の Terraform テンプレート用 Terraform 状態ファイル (terraform.tfstate) の内容を表示します。
構文
ibmcloud schematics state pull --id WORKSPACE_ID --template TEMPLATE_ID
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | コマンドを実行するワークスペースの固有 ID。 |
--templateまたは--tid |
必須 | Terraform 状態ファイルのコンテンツを表示する対象となる Terraform テンプレートの固有 ID。 テンプレートの ID を探すには、ibmcloud schematics workspace get --id <workspace_ID> を実行し、コマンド・ライン出力の テンプレート変数: フィールドでテンプレート ID を探します。 |
例
ibmcloud schematics state pull --id myworkspace-a1aa1a1a-a11a-11 --template a1aa11a1-11a1-11
ibmcloud schematics workspace state show
Terraform に表示されるワークスペースの状態またはプランからの読み取り可能な出力を提供します。 現在の状態と計画された操作状況を確認するために使用できます。 ibmcloud schematics logs コマンドを使用してログを取得するには、ワークスペース ID
を使用する必要があります。
構文
ibmcloud schematics workspace state show --id WORKSPACE_ID --address ADDRESS [--options OPTIONS]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 更新するワークスペースの固有 ID。 |
--addressまたは-adr |
必須 | 表示する状態の単一リソースを指すアドレスを入力します。 |
--optionsまたは-o |
オプション | コマンド・ライン・フラグを入力します。 |
例
ibmcloud schematics workspace show --id <WORSKPACE_ID> --address <SINGLE_RESOURCE_DETAILS>
ibmcloud schematics workspace state mv
状態ファイル内のリソースの状態を移動する場合。 ワークスペースは引き続き機能しますが、次のプランまたは適用操作では、状態ファイル内にリソースまたはインスタンスが見つかりません。 テンプレートに変更が加えられていない場合は、Terraform による次の操作でリソースの再作成が表示されます。
ibmcloud schematics workspace state mv --id WORKSPACE_ID --source SOURCE --destination DESTINATION
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを移動するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--sourceまたは-s |
必須 | 移動する項目のソース・アドレスを入力します。 |
--destinationまたは-d |
必須 | アイテムの宛先アドレスを指定します。 |
例
ibmcloud schematics workspace state mv --id <WORKSPACE_ID> -s <ENTER_SOURCE_ADDRESS>> -d <ENTER_DESTINATION_ADDRESS>
ibmcloud schematics workspace state rm
状態ファイル内のリソースまたはインスタンスの状態を削除する場合。 ワークスペースは引き続き機能しますが、次のプランまたは適用操作では、状態ファイル内にリソースまたはインスタンスが見つかりません。 テンプレートに変更が加えられていない場合は、Terraform による次の操作でリソースの再作成が表示されます。
ibmcloud schematics workspace state rm --id WORKSPACE_ID [--options OPTIONS] --address PARAMETER
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | インスタンスまたはリソースを削除するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--optionsまたは-o |
オプション | 削除するオプションのフラグを入力します。 |
--addressまたは-adr |
必須 | テイントとしてマークするリソースのアドレスを入力します。 |
例
ibmcloud schematics workspace state rm --id <WORKSPACE_ID> --address <TAINT_RESOURCE_ADDRESS>
ワークスペース Terraform コマンド
Terraformコマンドを実行してクラウドのリソースを操作し、 Schematics の状態を変更することができる。
Workspace Terraform コマンドは UI ではサポートされていません。
この表は、サポートされる Terraform ワークスペース・コマンドの要約を示しています。
| コマンド | 説明 |
|---|---|
show |
Terraform 状態またはプランを検査します。 |
output |
Terraform 状態ファイルから出力を読み取ります。 |
import |
既存のインフラストラクチャーを Terraform にインポートします。 |
taint |
リソースに再作成のマークを付けます。 |
untaint |
リソースに汚染されたものとしてのマークを付けません。 |
state |
rm && mv を削除または移動するためのサブコマンドを作成する拡張状態管理コマンド。 |
Terraform コマンド
Terraform コマンドは、入力を指定するために JSON ファイルを使用して実行されます。
構文
ibmcloud schematics workspace commands --id WORKSPACE_ID --file FILE_NAME
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | コマンドを実行するワークスペースの固有 ID。 ワークスペースの ID を調べるには、ibmcloud schematics workspace list コマンドを実行します。 |
--fileまたは--f |
必須 | Terraform コマンドのリストを入れた JSON ファイルのパス。 |
Test.JSON ファイルのペイロード例
{
"commands": [
{
"command": "state show",
"command_params": "data.template_file.test",
"command_name": "Test1",
"command_desc": "Showing state",
"command_onerror": "continue"
},
{
"command": "taint",
"command_params": "null_resource.sleep",
"command_name": "Test2",
"command_desc": "Marking taint",
"command_onerror": "continue"
},
{
"command": "untaint",
"command_params": "null_resource.sleep",
"command_name": "Test3",
"command_desc": "Marking untaint",
"command_onerror": "continue"
},
{
"command": "state list ",
"command_params": "",
"command_name": "Test4",
"command_desc": "Checking state list",
"command_onerror": "continue"
},
{
"command": "state rm ",
"command_params": "data.template_file.test",
"command_name": "Test5",
"command_desc": "Removing state",
"command_onerror": "continue"
}
],
"operation_name": "workspace Command",
"description": "Executing command"
}
次の表は、コマンド・ラインおよび API において Commands API に使用する JSON ファイルのキー・パラメーターをリストしたものです。
| キー | 必須 / オプション | 説明 |
|---|---|---|
command |
必須 | コマンドを指定します。 サポートされるコマンドは、show、taint、untaint、state、import、output です。 |
command_params |
必須 | CLI のコマンド名のアドレス・パラメーター (リソース名、ファイル名の絶対パスなど)。 APIでは、オプションフラグとアドレスパラメータを command_params で送信する必要があります。 |
command_name |
必須 | コマンド・ブロックの名前。 |
command_desc |
オプション | コマンド・ブロックについて説明するテキスト。 |
command_onError |
オプション | コマンドでエラーが発生した場合に続行または中断する命令。 |
command_dependsOn |
オプション | 前のコマンドの依存関係。 |
command_status |
不要 | コマンドの実行状況 (success または failure) を表示します。 |
例
ibmcloud schematics workspace commands --id cli-sleepy-0bedc51f-c344-50 --file /<FILE_PATH>/Test.JSON
CLI のバージョン履歴
Schematics CLI プラグインの各バージョンの変更の要約を示します。 使用可能なすべてのコマンドとそのオプションを使用できるように、CLI を最新の状態に保つようにしてください。
| バージョン | リリース日 | 変更 |
|---|---|---|
| 1.12.29 | 2025 年 10 月 27 日 | Schematics CLIプラグインは、インベントリの作成と更新時に マルチホストの認証 情報と 変数を 導入します。 このアップデートにより、多数のターゲットシステムの認証詳細と構成設定の処理プロセスが合理化され、より効率的で安全なオートメーション体験が保証されます。 |
| 1.12.28 | 2025 年 8 月 1 日 | Schematics メタデータのサブネームスペースとサブコマンドを更新するCLIプラグイン。 |
| 1.12.27 | 2025年7月31日 | Schematics CLIプラグインは、 モントリオール()リージョンを ca-mon ターゲットとしています。 |
| 1.12.26 | 07 2025年4月 | Schematics CLIプラグインはibmcloud schematics destroy previewを強化し、1つのパイプライン・ベース・イメージを更新し、ibmcloud schematics action create、ibmcloud
schematics action update、ibmcloud schematics action get 操作の を修正しました。 nil pointer exception |
| 1.12.25 | 2025年1月10日 | Schematics CLIプラグインは 、ibmcloudのスケマティクスワークスペース更新変数 をサポートしています。CLIコマンドを使用して、既存のワークスペースに必要な入力変数のみを更新します。 また 、ibmcloudの「schematics destroy」コマンド にプレビュー機能を追加し、すべてのジョブリソースを一覧表示して確認できるようにしました。 IBM Cloud Schematics notm}}ワークスペース、 アクション、
エージェント がコマンドを取得すると、暗号化CRNと暗号化ステータス( IBM Default 、 BYOK 、 KYOK の詳細など)が取得されます。 |
| 1.12.24 | 8 2024年7月 | SchematicsCLIプラグインが'ca-tor リージョンを通してトロント・エンドポイントをターゲットにするサポートを修正。 |
| 1.12.23 | 11 2024年6月 | SchematicsCLIプラグインは、ibmcloud workspace apply およびibmcloud workspace plan コマンドで'--var-file 引数使用中に'terraform.tfvars ファイル形式の表示を拡張します。 国際化I18n翻訳のサポートが更新されました。 |
| 1.12.22 | 2024年5月30日 | SchematicsCLIプラグインはデプロイメント・リソースを破棄するために'ibmcloud schematics agent destroy サポートしています。 また、'--force パラメータを true に設定することで、すべてのエージェントフローを削除し、ワークスペースのdestroyフローと並行してdestroyフローを維持する。 |
| 1.12.21 | 2024年4月19日 | SchematicsCLIプラグインは全てのCLIコマンドで'--json フラグを非推奨とした。 また、'ibmcloud schematics workspace refresh またはplan CLIコマンドにおける'CLI v1.12.20 非推奨バグも修正された。 |
| 1.12.20 | 2024年3月25日 | SchematicsCLIプラグインはRed Hat OpenShiftをサポートしています。Kubernetes Serviceをサポートしています。 |
| 1.12.18 | 2024年3月8日 | terraform_v1.5 未満のワークスペースコマンド中に Terraform deprecation の警告メッセージを表示するようにした。 エージェントインフラストラクチャの更新のサポートを削除し、'ibmcloud schematics state list コマンドを使用した場合の 'index out of range エラーを修正した。 |
| 1.12.17 | 2024年2月14日 | SchematicsプラグインのインストールがCloud Shellをサポートし、'ibmcloud schematics workspace upload コマンドがCloud Shellコマンドをサポートするようになりました。 |
| 1.12.16 | 2024年2月7日 | ibmcloud schematics workspace list はAPIバージョンのキャッシュをサポートしています。 terraform_v1.2、'terraform_v1.3、'terraform_v1.4 非推奨メッセージは、'ibmcloud schematics workspace new テンプレートを作成するために入力されます。 |
| 1.12.15 | 2024年1月24日 | エージェントアップデートAPI リクエストで'refresh_token をサポートし、エージェントアップデートコマンド のバージョンサポートを強化しました。 |
| 1.12.14 | 2024年1月10日 | エージェントとポリシーをサポートする新しいコマンドと翻訳を追加しました。 ワークスペース一覧コマンド出力のシステム・ワークスペースが非表示になる。 コマンド出力でのエージェントジョブ表示を強化。 エージェントのバージョンに対する '/v1/versions API の使用。 |
| 1.12.12 | 2023年9月17日 | Schematics エージェントの作成と更新に new flag --metadata と、 リクエストの HTTP タイムアウト を設定するためのバグ修正。 |
| 1.12.10 | 2023年5月22日 | Schematics エージェントの更新 と'agent list コマンドのバグ修正。 |
| 1.12.9 | 6 2023年4月 | Schematicsエージェントbeta-1とポリシーの CLI コマンドは、エージェント plan、エージェント apply、
エージェント health の '-target-file と 'output を含むように拡張されました。 |
| 1.12.8 | 2023年3月22日 | Schematicsエージェントbeta-1 および ポリシー のCLIコマンドは、'us-south,
'us-east, 'eu-de, 'eu-gb 領域で利用可能です。 |
| 1.12.7 | 2023年02月07日 | us-south, 'us-east, 'eu-de, 'eu-gb 領域で'API_AGENT_ATTACHMENT 無効にするバグを修正した。 |
| 1.12.6 | 2023年1月30日 | yaml ファイルによる複雑な入力のサポートを強化。 ステータス出力に関する修正、ワークスペース・アクション出力のインデックスが範囲外であった問題、ロングラン中のリフレッシュ・トークンの問題、スピナー・パニックの修正。 |
| 1.12.5 | 18 12月 2022 | サブコマンドの使用法と、'-input-file オプションを使用することでローカルの YAML ファイルから複雑な入力を指定できるようになった。 |
| 1.12.3 | 18 11月 2022 | サブコマンドの使用サポート「source type」を修正した。 |
| 1.12.3 | 3 2022年11月 | 最新のSDKアップデートとワークスペース・アクション・コマンドのアップデートにより、CLIコマンドが強化されました。 |
| 1.12.2 | 2022年8月11日 | --output フラグを追加し、Schematics v1.12.2プラグインをリリースした。 |
| 1.12.1 | 2022年7月26日 | Schematicsのバグと修正コマンドを取り込んだ。 |
| 1.12.0 | 11 2022年7月 | コマンドラインから Schematics の agents コマンドをサポート。 |
| 1.11.1 | 2022 年 7 月 8 日 | コマンドラインからSchematicsの翻訳問題を修正できるようにした。 |
| 1.10.0 | 2022 年 5 月 5 日 | コマンド・ラインからの Schematics での stop、force-stop、および terminate のサポート。 |
| 1.9.0 | 2022 年 4 月 25 日 | コマンド・ラインからの Schematics での Drift 検出のサポート。 |
| 1.8.1 | 2022 年 4 月 17 日 | Schematics JSON 出力の別名非推奨表示メッセージを修正しました。 |
| 1.8.0 | 2022 年 3 月 13 日 | .tfvars と'.json ファイルをplanコマンドとapplyコマンドに渡すことができる。 ibmcloud terraform コマンドを使用すると警告メッセージが表示される。 このバージョンでは、コマンドラインを通じてプライベートSchematicsエンドポイントもサポートされ、Schematicsワークスペース内のプロビジョニングされたリソースを一覧表示する表形式のビュー出力が強化されています。 |
| 1.7.3 | 2022 年 3 月 4 日 | コマンド・ラインのプラン・コマンドへの vars ファイルの引き渡し、ibmcloud schematics workspace get コマンド内の commit ID の表示、および ibmcloud schematics workspace state show コマンドの説明の編集をサポート。 |
| 1.7.2 | 2022 年 2 月 17 日 | Linux™ arm64 および Mac OS arm64 プラットフォーム・バイナリーをサポートします。 stdout/stderr ストリーム、無効な TF vars ファイル、および変換に関連した修正をリリース。 |
| 1.7.1 | 2022 年 2 月 11 日 | トレース・ロギングをサポート、および複数のコマンドに対する統合テストを追加。 env values metadata 更新、無効なフラグに対するパニック、および'ibmcloud schematics workspace output command が利用できない場合の修正。 |
| 1.7.0 | 2022 年 1 月 12 日 | コマンド実行後に Terraform v11.0 非推奨メッセージを表示。 コマンド・ラインの別名を修正。 重複するストリングの外観を除去。 ログ・ファイルでグローバル時間をサポート。 |
| 1.6.2 | 2021 年 12 月 2 日 | 英語以外の翻訳をサポート。 apply コマンド --var-file およびアクション --target not setting 引数を修正。 パイプラインの脆弱性を修正。 |
| 1.6.1 | 2021 年 10 月 21 日 | Schematics アクションの winrm をサポート。 --inventory-connection-type、'--bastion-credential-json、'--credential-json オプション値を作成と設定のアップデートに追加。 コマンド・ラインの英語以外の翻訳を更新。 ibmcloud schematics jobs run 対話モードで 'command-object 引数の重複表示を修正。 |
| 1.6.0 | 2021 年 9 月 29 日 | linux-ppc64le バイナリーおよび linux-s390x バイナリーをサポート。 詳細パネルに「Terraform v1.0 表示する。 Terraform v0.11 非推奨メッセージをSchematicsワークスペース ページに表示する。 リソース照会リスト・コマンドが値を空ストリングとして返すように修正。 |
| 1.5.12 | 2021 年 9 月 2 日 | --output json フラグの状況メッセージを抑止。 |
| 1.5.11 | 2021 年 8 月 27 日 | 既存のワークスペース更新コマンドにフラグ --pull-latest を追加。 問題を修正しました。 ロケール翻訳を修正。 |
| 1.5.10 | 2021 年 8 月 11 日 | サポート Terraform v0.15. ロケール翻訳を修正。 |
| 1.5.9 | 2021 年 7 月 13 日 | ロケール翻訳を修正。 |
| 1.5.8 | 2021 年 7 月 8 日 | 共有データセットのAPIパスを修正しました。 共有データセットコマンドを無効化。 |
| 1.5.7 | 2021 年 6 月 4 日 | 新しい列 taint 状況の表データとして表示されるように、ibmcloud schematics state list コマンドを拡張。 --input フラグの説明が指定された ibmcloud schematics job run コマンドを修正。 --output json フラグの説明が指定された ibmcloud schematics job run コマンドを修正。 --credentials フラグとロケール翻訳を指定した ibmcloud schematics action update コマンドを修正。 |
| 1.5.6 | 2021 年 6 月 3 日 | Terraform v0.14 およびロケール翻訳をサポートするために ibmcloud schematics workspace new コマンドを更新。 |