IBM Cloud Schematics 命令列介面
執行這些指令可使用 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 playbooks 執行雲端作業或在雲端資源上安裝軟體。 若要試用此功能或開始使用,請使用 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 教戰手冊的名稱。 |
--credentials 或 -C |
選用 | 您要用來存取目標主機之私密 SSH 金鑰的檔案路徑,例如 ~/.ssh/id_rsa。 在指令行或 API 呼叫的情況下,SSH 金鑰應該在金鑰詳細資料結尾包含 。 |
--credential-json 或 --cj |
選用 | 提供 JSON 檔案的路徑,該檔案包含存取目標主機的憑證 JSON 有效載荷。 |
--bastion 或 -b |
選用 | 堡壘主機的 IP 位址。 |
--bastion-credential-json 或 --bj |
選用 | 提供 JSON 檔案的路徑,該檔案包含用來存取 bastion 主機的 bastion 信賴憑證 JSON 有效載荷。 |
--inventory 或 -y |
選用 | 您要在動作中使用的資源庫存 ID。 若要列出現有庫存,請執行 ibmcloud schematics inventory list。 |
--inventory-connection-type 或 --it |
選用 | 庫存連線的類型。 支援的值為 ssh,或 winrm。 預設值為 SSH。 目前,WinRM 只支援 Windows 系統的公用 IPs,不支援 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
使用有效負載檔案
建立 JSON 檔案,其中包含您要建立之動作的詳細資料,例如 ID、名稱及說明。 然後,使用 --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 - 輸入動作的名稱,然後按回覆鍵。
- 輸入您要在其中建立動作的資源群組,然後按回覆鍵。
- 輸入您要建立動作的位置,例如
us-south、us-east、eu-de或eu-gb。 然後,按返回鍵。 位置會決定動作執行的位置,以及動作資料的儲存位置。 如需相關資訊,請參閱 我的資訊儲存在何處?。 請確定您可以將資料儲存在此位置,因為您無法在建立動作之後變更位置。 - 輸入儲存 Ansible playbook 的 GitHub 儲存庫的 URL。 然後,按返回鍵。
- 如果適用,請輸入您要用來存取 GitHub 儲存庫的個人存取記號。 然後,按返回鍵。 如果您想要從 Git 儲存庫複製,請參閱 容許及封鎖的副檔名,以進行複製。
- 輸入您要執行的 Ansible 劇本名稱,然後按回覆鍵。
- 檢閱為您建立之動作的詳細資料。
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 |
必要 | IBM Cloud Schematics 服務支援的地理位置,例如 us-south, us-east, eu-de, eu-gb, ca-tor 或 ca-mon。 |
--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 檔案的路徑,該檔案包含用來存取 bastion 主機的 bastion 信賴憑證 JSON 有效載荷。 |
--inventory 或 -y |
選用 | 您要在動作中使用的資源庫存 ID。 若要列出現有庫存,請執行 ibmcloud schematics inventory list。 |
--inventory-connection-type 或 --it |
選用 | 庫存連線的類型。 支援的值為 ssh,或 winrm。 預設值為 SSH。 目前,WinRM 只支援 Windows 系統的公用 IPs,不支援 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
擷取現有 Schematics 動作的詳細資訊,例如動作 ID、名稱、狀態、建立時間、加密狀態和加密 CRN,包括所有輸入變數的值。
語法
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 |
選用 | 動作在動作清單中的位置,您要從這裡開始列出動作。 例如,如果您的帳戶和區域中有三個動作,指令會將這些動作回傳為包含三個元素的清單。 若要擷取所有動作,您必須輸入位置號碼 0。 若要擷取動作號碼 2 和 3,並在此清單中排除動作號碼 1,您必須輸入位置號碼 1。 位置號碼 1 代表動作清單中的第二個位置。 不支援負數,負數將被忽略。 |
--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
您可以從本機檔案系統上載磁帶歸檔檔案 (.tar) 到 IBM Cloud Schematics 動作。 輸入本端機器上儲存 .tar 檔案的完整檔案路徑。 使用 TAR 指令 given tar -cvf mytestactionupload.tar $TEMPLATE_REPO_FOLDER 指令,建立範本儲存庫的 .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
在 IBM Cloud Schematics 中建立工作,以執行 Schematics 動作指定的 Ansible playbook。 您可以使用有效負載檔案或指令的互動模式來建立工作。
語法
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 檔案格式。 |
如果動作包含教戰手冊名稱,則您需要新增教戰手冊名稱,以便讓動作教戰手冊名稱具有優先順序。 如果您需要透過工作來置換教戰手冊名稱,則必須使用新的教戰手冊名稱來建立動作。
使用有效負載檔案
您可以提供有效負載檔案,以指定 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並按回覆鍵。 - 當系統提示
Enter command-object-id>時,請輸入動作 ID 詳細資料,然後按 Return 鍵。 - 當系統提示
Enter command-name>時,請輸入ansible_playbook_run或ansible_playbook_check,然後按回覆鍵。 - 檢閱為您建立之工作的 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 Action 執行的所有 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 |
選用 | 工作在工作清單中的位置,您要從其中開始列出您的工作。 例如,如果您的帳戶中有三個工作,該命令會以包含三個元素的清單形式返回這些工作。 若要擷取所有工作,您必須輸入位置號碼 0。 若要擷取工作號碼 2 及 3,並在此清單中排除工作號碼 1,您必須輸入位置號碼 1。 位置號碼 1 代表工作清單中的第二個位置。 不支援負數,負數將被忽略。 |
--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,用於部署 Agent。 |
--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 |
選用 | 代理程式的 meta 資料。 您可以多次使用此旗標。 例如,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
解除安裝代理程式。 如需使用 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
部署或升級代理程式以強制部署。 如需使用 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 區域中定義的代理程式。 如需使用 list 指令之步驟的相關資訊,請參閱 顯示代理程式。
語法
ibmcloud schematics agent list [--location LOCATION] [--limit LIMIT] [--offset OFFSET] [--output OUTPUT_FORMAT]
指令選項
| 旗標 | 必要/選用 | 說明 |
|---|---|---|
--location 或 -l |
選用 | IBM Cloud Schematics 服務支援的地理位置,例如 us-south, us-east, eu-de, eu-gb, ca-tor 或 ca-mon。 |
--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 |
選用 | 代理程式的 meta 資料。 您可以多次使用此旗標。 例如,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 它應該使用哪個代理來執行特定網路區域中的工作區和動作工作。 每個代理至少有一個與之相關的政策,以識別要在代理所在位置執行的工作。 請參閱 指派原則。
ibmcloud schematics policy create
使用 Schematics 建立政策,選擇要在目標代理上執行的一個或多個 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 Dedicated 以獲得 KYOK 功能。
開始之前
必須確保以下先決條件,金鑰管理系統才能列出從特定位置和區域建立的實例。
- 您應該有您的 BYOK 或 KYOK。 若要建立 IBM Key Protect 金鑰,請參閱 建立 Key Protect 實例。 為 BYOK 部署選擇 Multi-Tenant 或為 KYOK 部署選擇 Dedicated。
- 您需要 新增根金鑰 至 Schematics 服務。
- 您需要在 Schematics 服務中配置 服務至服務授權,以整合
BYOK及KYOK。
KMS 設定是一次性設定。 您需要開立 支援問題單 來更新 KMS 設定。
ibmcloud schematics kms instance ls
列出您 IBM Cloud 帳戶的所有 KMS 範例,以使用您的位置來尋找您的 Key Protect 或 Hyper Protect Crypto Services,您的位置是金鑰建立和加密的方案,例如 KYOK,或 BYOK。
語法
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、主要 CRK 及次要 CRK 來更新位置的 KMS 設定。 請注意,您只能更新 KMS 設定一次。 例如,如果您使用地理位置的 API 端點 (例如 North America),則只會擷取在 us-south 或 us-east 中建立的 API 端點。
語法
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 |
必要 | 指定主要 KMS 名稱。 |
--primary_crn 或 --pc |
必要 | 指定主要索引鍵 CRN 名稱。 |
--primary_endpoint 或 --pe |
必要 | 指定主要 KMS 私有端點。 |
--secondary_name 或 --sn |
選用 | 指定次要 KMS 名稱。 |
--secondary_crn 或 --sc |
選用 | 指定次要金鑰 CRN。 |
--secondary_endpoint 或 --se |
選用 | 指定次要 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。 例如,如果您使用地理位置的 API 端點 (例如 North America),則只會擷取在 us-south 或 us-east 中建立的 API 端點。 請注意,您需要在帳戶中啟用 kms instances,才能執行 info 指令行。
語法
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
列出 Schematics 中所有支援的開放原始碼專案的版本,例如用於在雲端資源上執行 Schematics 動作的 IBM Cloud Provider Plug-in for Terraform、Ansible、Helm 和 Kubernetes。
語法
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
若要在 Schematics 中建立 資源清單,以供 Ansible 動作使用,您可以使用有效負載檔案或互動模式。 清單包括您打算執行 Ansible playbook 的所有目標主機。
語法
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 信賴憑證有效載荷的 JSON 檔案路徑,以存取 Bastion 主機。 |
--credential-json 或 --cj |
選用 | 提供 JSON 檔案路徑,其中包含用於存取目標主機的通用憑證有效載荷。 Schematics 中的憑證等級順序如下:主機層級憑證 (最高優先順序)、群組層級憑證 (次高優先順序) 以及共用憑證 (最低優先順序)。 |
--inventory-view-json 或 --inv |
選用 | 包含主機詳細資訊的 JSON 檔案路徑。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--inventories-ini-file 或 -y |
選用 | 您在其中指定所有目標主機之資源庫存檔案的檔案路徑。 必須以 INI 格式提供資源庫存檔案。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--resource-query |
選用 | 輸入您建立之資源查詢的 ID。 資源查詢可協助您使用 Schematics 工作區建立的雲端資源,動態建立您的資源清單。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--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 .... -
輸入庫存的名稱,然後按退貨鍵。
-
輸入您要在其中建立庫存的資源群組,然後按退貨鍵。
-
輸入要建立清單的位置,例如
us-south,us-east,eu-de或eu-gb。 然後,按返回鍵。 -
檢閱所建立庫存的詳細資料。
範例
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 |
選用 | 存貨在存貨清單中的位置。 例如,如果您的帳戶中有三個庫存,則命令會將這些庫存回傳為包含三個元素的清單。 若要查看此清單中的特定庫存,您必須輸入該庫存在清單中的位置編號。 如果要列出清單中的第一個庫存,請輸入 0。 如果要列出第二個庫存,請輸入 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 |
選用 | IBM Cloud Schematics 服務支援的地理位置,例如 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 信賴憑證有效載荷的 JSON 檔案路徑,以存取 Bastion 主機。 |
--credential-json 或 --cj |
選用 | 提供 JSON 檔案路徑,其中包含用於存取目標主機的通用憑證有效載荷。 Schematics 中的憑證等級順序如下:主機層級憑證 (最高優先順序)、群組層級憑證 (次高優先順序) 以及共用憑證 (最低優先順序)。 |
--inventory-view-json 或 --inv |
選用 | 包含主機詳細資訊的 JSON 檔案路徑。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--inventories-ini-file 或 -y |
選用 | 包含主機詳細資訊的 INI 格式檔案路徑。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--resource-query |
選用 | 輸入您建立之資源查詢的 ID。 資源查詢可協助您使用 Schematics 工作區建立的雲端資源,動態建立您的資源清單。 您必須傳送 --inventories-ini-file 檔案路徑、--resource-query ID 或 --inventory-view-json,目錄才會使用目標主機詳細資訊。 提供任何兩個或全部三個參數都會產生錯誤。 |
--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 - 輸入資源查詢的名稱,然後按回覆鍵。
- 輸入有效負載檔案的路徑。 如需有效負載檔案範例,請參閱 使用有效負載檔案。 然後,按返回鍵。
- 檢閱為您建立之資源查詢的詳細資料。
ibmcloud schematics resource query delete
使用 IBM Cloud Schematics 服務的資源查詢 ID 刪除資源資源查詢定義。 請注意,您可以從建立庫存的來源刪除位置和區域、資源群組。 此外,請確定您的 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 |
選用 | 資源查詢在資源查詢清單中的位置。 例如,如果您的帳戶中有三個資源查詢,則命令會將這些資源查詢回傳為包含三個元素的清單。 若要在此清單中查看特定的資源查詢,您必須輸入該資源查詢在清單中的位置編號。 若要列出清單中的第一個資源查詢,請輸入 0。 若要列出第二個資源查詢,請輸入 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
您可以將具有有效資源位址的現有資源匯入至工作區狀態檔。 您需要確定資源只匯入一次,並匯入至單一工作區。 否則,如果資源定義在多個工作區中,您可能會看到不想要的行為。 如需如何使用 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 檔案格式。 |
使用選項 -options -var-file=schematics.tfvars,以告知 Schematics 使用已儲存的工作區變數來匯入資源。
範例
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 |
選用 | 工作區在工作區清單中的位置。 例如,如果帳戶中有三個工作空間,則該指令會以包含三個元素的清單傳回這些工作空間。 若要查看此清單中的特定工作區,必須輸入該工作區在清單中的位置編號。 如果要列出清單中的第一個工作區,請輸入 0。 如果要列出第二個工作區,請輸入 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
建立 Schematics 工作區,以指向 GitHub 或 GitLab中的 Terraform 範本。 如果您想要透過上傳磁帶保存檔 (.tar) 來提供 Terraform 範本,則可以建立工作區,而無需連線至 GitHub 儲存庫,然後使用 ibmcloud schematics workspace upload 指令來提供範本。
Schematics 不支援傳遞 .tar 檔案來建立工作區。
IBM Cloud Schematics 每台主機及每位客戶每分鐘支援 50 個 API 請求。 位置可以是 us-east、us-south、eu-gb 或 eu-de 地區。 您需要先等待,然後再重新呼叫指令。
若要建立工作區,您可以在 JSON 檔案中指定工作區設定。 請確保 JSON 檔案遵循此指令中概述的結構。 另外,當您建立或更新工作區和動作時,也請確定 location 和 url 端點指向相同的區域。 如需位置及端點的相關資訊,請參閱 我的資訊儲存在何處?。
IBM Cloud Schematics 正在廢棄舊版本的 Terraform,並引入對較新 Terraform 版本的支援。 如需詳細資訊,請參閱 Schematics Terraform 汰舊換新生命週期 及汰舊換新時間表。
語法
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 代理程式。 |
--output 或 -o |
選用 | 以 JSON 格式傳回指令行輸出。 目前僅支援 JSON 檔案格式。 |
Schematics ibmcloud terraform 指令的使用會顯示警告和已廢棄訊息,因為 Alias '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_v1.5 可使用 Terraform 版本 1.5,輸入 terraform_v1.4 可使用 Terraform 版本 1.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 |
可选 | 输入 URL 到存放 Terraform 配置文件的 GitHub 或 GitLab 资源库。 |
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 指令。 如果您打算透過上傳磁帶存檔檔案提供 Terraform
模版 (.tar),請將 URL 留空,並在建立工作區後使用 ibmcloud schematics workspace upload 指令。 如果您要從 Git 儲存庫複製,請參閱 允許和封鎖的檔案副檔名 進行複製。 |
env_values |
選用 | 您要在執行 Bash Script 或 Terraform 動作期間套用的環境變數清單。 此欄位必須提供為鍵值組的清單。 每一個項目都是具有一個項目的對映,其中 key = variable name 和 value = value。 您可以為 IBM Cloud 目錄產品定義環境變數,這些產品是使用 bash 指令碼檔案進行佈建的。 |
variable_name |
Optional | 輸入您在 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 配置檔中宣告變數並提供值給 Schematics 的相關資訊,請參閱
使用輸入變數來自訂資源。 例如 |
secure |
選用 | 將 secure 參數設為 true。 預設情況下,此參數設定為 false。 |
val1 |
選用 | 在有效負載中,您可以提供環境變數,可在計劃、套用或毀損階段期間在工作區中執行。 此外,值也會加密並儲存在 COS 中。 |
IBM Cloud Schematics 支援設定環境變數,例如 TF_PARALLELISM, TF_LOG。 如需環境變數清單及其用法的相關資訊,請參閱 環境變數清單。
範例
ibmcloud schematics workspace new --file example.json
ibmcloud schematics refresh
針對工作區執行 IBM Cloud 更新動作。 刷新動作會根據工作區 Terraform 狀態檔案中儲存的狀態來驗證帳戶中的雲資源。 如果找到差異,則會相應地更新 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 狀態檔案中記錄的雲端資源的 Name, Type, URL,和 Taint Status (terraform.tfstate)。
Taint Status 會針對 (true) 傳回 污染,或針對 (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,請執行 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,請執行 ibmcloud schematics workspace list 指令。 |
--options 或 -o |
選用 | 輸入您要顯示的選項旗標。 |
--address 或 -adr |
選用 | 輸入要標示為 untaint 的資源位址。 |
{: caption="Schematics workspace untaint flags "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 汰舊換新生命週期 及汰舊換新時間表。
更新現有工作區的詳細資料,例如工作區名稱、變數或來源控制 URL。 若要設定或修改 IBM Cloud,請參閱 ibmcloud schematics plan 命令。
IBM Cloud Schematics 每台主機及每位客戶每分鐘支援 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,請執行 ibmcloud schematics workspace list 指令。 |
--file 或 -f |
選用 | 本端機器上 JSON 檔案的相對路徑,其中包含工作區的已更新參數。 如需包含詳細資料的範例 JSON 檔案的相關資訊,請參閱 JSON 檔案更新範本。 |
--github-token 或 -g |
選用 | 輸入 GitHub 令牌值,以存取私人 Git 儲存庫。 |
--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_v1.5 以使用 Terraform 1.5版,輸入 terraform_v1.4 以使用 Terraform 1.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 Script 或 Terraform 工作期間套用的環境變數清單。 此欄位必須以鍵值組清單形式提供,例如 TF_LOG=debug。 每一個項目都是具有一個項目的對映,其中 索引鍵是環境變數名稱,值是值。 |
template_data[0].env_values[i].val2 |
選用 | 您要在執行 Bash Script 或 Terraform 工作期間套用的環境變數清單。 此欄位必須以鍵值組清單形式提供,例如 TF_LOG=debug。 每一個項目都是具有一個項目的對映,其中 索引鍵是環境變數名稱,值是值。 |
template_data[0].env_values_metadata |
選用 | 環境變數 meta 資料。 |
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 |
選用 | 如您在 .tfvars 檔案中提供的那樣,針對複式變數的初始類型 (例如 bool、number、string 及 HCL 格式),以字串形式輸入值。 您可以將 use_default 參數設為 true,來置換 .tfvars 的預設值。 您需要為值輸入
HCL 格式的跳出字串,如範例所示。 如需如何在 Terraform 配置檔中宣告變數並提供值給 Schematics 的相關資訊,請參閱 使用輸入變數來自訂資源 和 變數儲存庫範例 |
template_data[0].variablestore[iv].secure |
選用 | 將 secure 參數設定為 true。 預設情況下,此參數設定為 false。 |
template_data[0].variablestore[v].use_default |
選用 | 將 use_default 參數設為 true,會置換預設 .tfvars 參數。 預設情況下,此參數設定為 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 汰舊換新生命週期 及汰舊換新時間表。
更新變數可讓您更新現有工作區的一個或多個輸入變數。 您無法更新工作區元資料變數,例如名稱或原始碼控制 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,請執行 ibmcloud schematics workspace list 指令。 |
--file 或 -f |
必要 | 本機上 JSON 檔案的相對路徑,該檔案包含要更新的工作區變數參數。 如需包含詳細資料的範例 JSON 檔案的相關資訊,請參閱 JSON 檔案更新範本。 |
--template 或 -tid |
必要 | 輸入範本 ID。 使用 ibmcloud schematics workspace get 取得範本 ID。 |
--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
提供您的 Terraform 模板,方法是上傳一個磁帶存檔檔案 (.tar) 到您的 Schematics 工作區。 .tar 支援 Cloud Shell 指令。
開始之前,請確認您 建立的工作區沒有 連結到 GitHub 或 GitLab 儲存庫。
語法
ibmcloud schematics workspace upload --id WORKSPACE_ID --file FILE_NAME --template TEMPLATE_ID [--output OUTPUT]
指令選項
| 旗標 | 必要/選用 | 說明 |
|---|---|---|
--id 或 -i |
必要 | 您要在其中上傳磁帶保存檔 (.tar) 之工作區的唯一 ID。若要尋找工作區的 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 -cvf vpc.tar $TEMPLATE_REPO_FOLDER 的 TAR 指令,建立範本儲存庫的 TAR 檔案
變數值的範例
"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 進行配置、修改或移除。 應用程式操作期間建立的臨時檔案可以 保留 以供將來的操作使用。
您的工作區必須處於 Inactive、Active、Failed 或 Stopped 狀態,才能執行 Schematics 套用作業。 如需工作區狀態的相關資訊,請參閱 工作區狀態圖。
當 Terraform 工作執行時,會鎖定工作區,在執行完成之前無法對工作區進行變更。
語法
ibmcloud schematics apply --id WORKSPACE_ID [--target RESOURCE1] [--target RESOURCE2] [--var-file PATH_TO_VARIABLES_FILE] [--force] [--output OUTPUT]
指令選項
| 旗標 | 必要/選用 | 說明 |
|---|---|---|
--id 或 -i |
必要 | 工作區的唯一 ID,指向來源控制儲存庫中要在 IBM Cloud 中套用的 Terraform 範本。 若要找出工作區的 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 API 金鑰或認證,以 <key>=<value> 格式連接至 IBM Cloud 標準基礎架構。 變數必須以單行格式定義,例如 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 工作區佈建的雲端資源,即使這些資源處於活動狀態。 預設情況下,指令會列出所有要預覽的資源,然後接獲確認以銷毀。 如果在 destroy 指令中使用 --force or -f 標記,就無法看到要銷毀的資源的預覽。
請謹慎使用此指令。 執行指令後,您無法逆向移除 Cloud 資源。 如果您已將資料寫入已佈建的儲存體或資料庫,請確保建立備份以持續保存資料
您的工作區必須處於 Active、Failed 或 Stopped 狀態,才能執行 Schematics 毀滅動作。
語法
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,請執行 ibmcloud schematics workspace list 指令。 |
--output 或 -o |
選用 | 以 JSON 格式傳回指令行輸出。 目前僅支援 JSON 檔案格式。 |
範例
ibmcloud schematics output --id myworkspace3_2-31cf7130-d0c4-4d
ibmcloud schematics plan
掃描您來源資源庫中的 Terraform 模板,並將此模板與已部署的雲資源進行比較。 命令列輸出會顯示必須新增、修改、持久 化或移除的雲端資源,以達到設定檔中描述的狀態。
您的工作區必須處於 Inactive、Active、Failed 或 Stopped 狀態,才能執行 Schematics 計劃動作。
在建立 Terraform 執行計劃期間,您無法對工作區進行任何變更。
語法
ibmcloud schematics plan --id WORKSPACE_ID [--var-file PATH_TO_VARIABLES_FILE] [--output OUTPUT]
指令選項
| 旗標 | 必要/選用 | 說明 |
|---|---|---|
--id 或 -i |
必要 | 工作區的唯一 ID,該工作區指向來源儲存庫中要掃描的 Terraform 範本。 若要尋找工作區的 ID,請執行 ibmcloud schematics workspace list 指令。 |
--var-file 或 --vf |
選用 | 您在本端機器上建立之 terraform.tfvars 檔案的檔案路徑。 使用此檔案來儲存機密性資訊,例如 IBM Cloud API 金鑰或認證,以 <key>=<value> 格式連接至 IBM Cloud 標準基礎架構。 變數必須以單行格式定義,例如 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 看到工作區的狀態或計劃時提供可讀取的輸出。 您可以使用來確保現行狀態及計劃作業狀態。 您需要使用工作區 ID,以使用 ibmcloud schematics logs 指令來擷取日誌。
語法
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,請執行 ibmcloud schematics workspace list 指令。 |
--options 或 -o |
選用 | 輸入您要移除的選項旗標。 |
--address 或 -adr |
必要 | 輸入要標示為污染的資源位址。 |
範例
ibmcloud schematics workspace state rm --id <WORKSPACE_ID> --address <TAINT_RESOURCE_ADDRESS>
工作區 Terraform 指令
您可以執行 Terraform 指令來操作雲端資源和修改 Schematics 狀態。
使用者介面中不支援工作區 Terraform 指令。
此表格提供受支援 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"
}
此表格提供 Commands API、指令行及 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 | 2025 年 4 月 7 日 | Schematics CLI 外掛程式增強了「ibmcloud schematics 毀滅 預覽」,更新了一個管道基本映像,修正了「ibmcloud schematics 動作建立」、「ibmcloud
schematics 動作更新」和「ibmcloud schematics 動作取得」操作中的。nil pointer exception |
| 1.12.25 | 2025 年 1 月 10 日 | Schematics CLI 外掛程式支援 ibmcloud schematics 工作區更新變數 CLI 指令,僅更新現有工作區所需的輸入變數。 它還增強了 ibmcloud schematics 毀滅 指令的預覽功能,可列出所有工作資源並進行確認。 IBM Cloud Schematics 工作 區、動作 和 代理 get 指令可取得加密 CRN 和加密狀態,例如 IBM Default 或 BYOK 或 KYOK 詳細資訊。 |
| 1.12.24 | 2024 年 7 月 8 日 | Schematics CLI 外掛程式修復了透過 ca-tor 區域定位多倫多端點的支援。 |
| 1.12.23 | 2024 年 6 月 11 日 | Schematics CLI 外掛程式增強了在 ibmcloudworkspace apply 和 ibmcloudworkspaceplan 指令中使用 --var-file 參數期間 terraform.tfvars 檔案格式的顯示。 更新了對國際化 ( I18n ) 翻譯的支持。 |
| 1.12.22 | 2024 年 5 月 30 日 | Schematics CLI 外掛程式支援 ibmcloud schematics agent destroy 來銷毀部署資源。 並將 --force 參數設為 true 以刪除所有代理程式流,以保持銷毀與工作區銷毀流並行。 |
| 1.12.21 | 2024 年 4 月 19 日 | Schematics CLI 外掛程式棄用了所有 CLI 指令中的 --json 標誌。 也修復了 ibmcloud schematics workspace refresh 或計劃 CLI 命令中的 CLI v1.12.20 棄用錯誤。 |
| 1.12.20 | 2024 年 3 月 25 日 | Schematics CLI 外掛程式支援Red Hat OpenShift Kubernetes Service。 |
| 1.12.18 | 2024 年 3 月 8 日 | 在使用小於 terraform_v1.5 工作空間命令期間顯示 Terraform 棄用警告訊息,刪除對代理基礎結構更新的支持,並使用 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 以及配置 request 的 HTTP 逾時的 錯誤修復。 |
| 1.12.10 | 2023 年 5 月 22 日 | Schematics代理程式更新 和 agent list 指令錯誤修復以設定執行時間錯誤。 |
| 1.12.9 | 2023 年 4 月 6 日 | Schematics代理beta-1和策略 CLI 指令已增強,包括 代理程式規劃、代理程式應用程式 和 代理程式運作狀況 的 -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 年 2 月 7 日 | 修正了在 us-south、us-east、eu-de、eu-gb 區域中停用 API_AGENT_ATTACHMENT 錯誤。 |
| 1.12.6 | 2023 年 1 月 30 日 | 透過 yaml 檔案增強了複雜輸入支援。 與狀態輸出、工作區操作輸出索引超出範圍、長時間運行的刷新令牌問題以及旋轉器恐慌修復相關的修復。 |
| 1.12.5 | 2022 年 12 月 18 日 | 子命令用法,並支援使用 -input-file 選項透過本機 YAML 檔案指定複雜輸入。 |
| 1.12.3 | 2022 年 11 月 18 日 | 修復了子命令用法支援 source type。 |
| 1.12.3 | 2022 年 11 月 3 日 | 增強的 CLI 命令,具有最新的 SDK 更新和工作區操作命令更新。 |
| 1.12.2 | 2022 年 8 月 11 日 | 包含 --output 標誌和錯誤修復,並發布了Schematics v1.12.2插件中的命令。 |
| 1.12.1 | 2022 年 7 月 26 日 | 合併了錯誤並修復了Schematics中的指令。 |
| 1.12.0 | 2022 年 7 月 11 日 | 支援命令列中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 檔案傳遞給計劃和應用命令。 使用 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 日 | 支援非英語翻譯。 修復應用程式命令 --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。 在Schematics工作區頁面中顯示 Terraform v0.11 棄用訊息。 修復了資源查詢清單命令返回值作為空字串的問題。 |
| 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 日 | 增強的 ibmcloud schematics state list 指令可顯示為具有新欄位 taint 狀態的表格資料。 修正了帶有 --input 標誌描述的 ibmcloud schematics job run 命令。 修正了帶有 --output json 標誌描述的 ibmcloud schematics job run 命令。 修復了帶有 --credentials 標誌的 ibmcloud schematics action update 命令和區域設定翻譯。 |
| 1.5.6 | 2021 年 6 月 3 日 | 更新了 ibmcloud schematics workspace new 命令以支援 Terraform v0.14 和區域設定翻譯。 |