IBM Cloud Docs
IBM Cloud Schematics CLI

IBM Cloud Schematics CLI

运行这些命令以使用 IBM Cloud Schematics 工作空间,操作,供应的资源和配置 Schematics。

Schematics CLI 命令特定于区域。 它们仅在 IBM Cloud CLI 配置为在其中工作的区域/位置运行。 确保 CLI locationurl 端点指向要在其中创建或更新工作空间和操作的区域。 有关位置和端点的更多信息,请参阅 我的信息存储在何处?

要运行 Schematics 命令,请使用 ibmcloud schematicsibmcloud sch

先决条件

请确保 CLI 保持最新,以便您可以使用当前发布的命令及其选项。 有关当前命令行版本发行版的更多信息,请参阅 命令行版本历史记录

操作命令

查看命令以创建,更新,列示,删除和使用 Schematics 操作。

ibmcloud schematics action create

创建操作以在单个目标主机或一组目标主机上运行 Ansible 运行手册。 您可以使用 Ansible 运行手册在云资源上执行云操作或安装软件。 要试用此功能或开始使用,请使用 IBM提供的其中一个 Ansible 运行手册。 您可以使用有效内容文件或命令的交互方式来创建操作。

创建或更新工作空间和操作时,请确保 locationurl 端点指向同一区域。 有关位置和端点的更多信息,请参阅 我的信息存储在何处?

语法

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]

命令选项

Schematics 操作创建标志
标志 必需/可选 描述
--name-n 必需 该操作的唯一名称。
--description-d 可选 操作的简短描述。
--location-l 必需 要在其中创建操作的地理位置或位置,例如 us-southus-easteu-deeu-gb。 地理位置或位置确定操作的运行位置以及操作数据的存储位置。 有关更多信息,请参阅 我的信息存储在何处?。 请确保可以在此位置存储数据,因为在创建操作后无法更改该位置。
--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 可选 提供包含用于访问 bastion 主机的 bastion 凭据 JSON 有效载荷的 JSON 文件路径。
--inventory-y 可选 要在操作中使用的资源清单的标识。 要列出现有库存,请运行 ibmcloud schematics inventory list
--inventory-connection-type--it 可选 库存连接的类型。 支持的值为 sshwinrm。 目前,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

使用有效内容文件

创建 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

使用交互方式

您可以使用命令的交互方式来创建操作,而不是输入命令选项或使用有效内容文件。 缺省情况下,将使用最少的用户输入来创建操作。 要向操作添加更多信息,您可以稍后更新该操作。

  1. 通过运行不带命令选项的命令来启动交互方式。
    ibmcloud schematics action create
    
  2. 输入操作的名称并按返回键。
  3. 输入要在其中创建操作的资源组,然后按返回键。
  4. 输入要在其中创建操作的位置,例如 us-southus-easteu-deeu-gb。 然后,按返回键。 该位置确定操作的运行位置以及操作数据的存储位置。 有关更多信息,请参阅 我的信息存储在何处?。 请确保可以在此位置存储数据,因为在创建操作后无法更改该位置。
  5. 输入存储 Ansible playbook 的 GitHub 仓库的 URL。 然后,按返回键。
  6. 如果适用,请输入要用于访问 GitHub 存储库的个人访问令牌。 然后,按返回键。 如果要从 Git 存储库克隆,请参阅 允许和阻止的文件扩展名 以进行克隆。
  7. 输入要运行的 Ansible 运行手册的名称,然后按返回键。
  8. 查看为您创建的操作的详细信息。

ibmcloud schematics action update

使用 action_id 更新现有操作的信息。 确保 CLI locationurl 端点指向要在其中创建或更新工作空间和操作的区域。 有关位置和端点的更多信息,请参阅 我的信息存储在何处?

语法

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]

命令选项

Schematics 操作更新标志
标志 必需/可选 描述
--id-i 必需 要更新的操作的标识。
--name-n 可选 操作的新唯一名称。
--description-d 可选 操作的简短描述。
--location-l 必需 IBM Cloud Schematics 服务支持的地理位置,例如 us-southus-easteu-deeu-gb
--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 可选 提供包含用于访问 bastion 主机的 bastion 凭据 JSON 有效载荷的 JSON 文件路径。
--inventory-y 可选 要在操作中使用的资源清单的标识。 要列出现有库存,请运行 ibmcloud schematics inventory list
--inventory-connection-type--it 可选 库存连接的类型。 支持的值为 sshwinrm。 目前,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

检索Schematics详细信息,例如操作ID、名称、状态、创建时间、加密状态和加密CRN,包括所有输入变量的值。

语法

ibmcloud schematics action get --id ACTION_ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]

命令选项

Schematics 操作获取标志
标志 必需/可选 描述
--id-i 必需 要检索的操作的 ID。
--profile-p 可选 要检索的信息的深度。 受支持的值为 detailedsummary。 缺省值为 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]

命令选项

Schematics 操作列表标志
标志 必需/可选 描述
--limit-l 可选 要列出的操作的最大数量。 该数字必须是介于 1 与 200 之间的正整数。 默认值为 -1
--offset-m 可选 操作在要开始列出操作的操作列表中的位置。 例如,如果您的账户和区域中有三个操作,命令会以包含三个元素的列表形式返回这些操作。 要检索所有操作,必须输入位置号 0。 要检索操作号 2 和 3,并在此列表中省去操作号 1,必须输入位置号 1。 位置号 1 表示操作列表中的第二个位置。 不支持负数,负数将被忽略。
--profile-p 可选 返回的信息的深度。 受支持的值为 idssummary。 缺省值为 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]

命令选项

Schematics 操作删除标志
标志 必需/可选 描述
--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 命令给定 tar -cvf mytestactionupload.tar $TEMPLATE_REPO_FOLDER 命令创建模板存储库的 .tar 文件。

语法

ibmcloud schematics action upload --id ACTION_ID --file FILE_NAME [--no-prompt] [--output OUTPUT]

命令选项

Schematics 操作上载标志
标志 必需/可选 描述
--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 运行手册。 您可以使用有效内容文件或命令的交互方式来创建作业。

语法

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]

命令选项

Schematics 作业运行标志
标志 必需/可选 描述
--command-object-c 必需 Schematics 自动化资源的名称。 目前只支持 action
--command-object-id-cid 必需 要在其中运行作业的 Schematics 操作的标识。
--command-name,-n 必需 要针对操作运行的命令。 受支持的值为 ansible_playbook_checkansible_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>" 作为“操作”。

语法

{
    "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中创建作业。

  1. 输入命令以创建不带任何命令选项的作业。
    ibmcloud schematics job run
    
  2. 当出现 Enter command-object> 提示时,请输入 action 并按返回键。
  3. 提示 Enter command-object-id> 时,请输入操作标识详细信息并按返回键。
  4. 提示 Enter command-name> 时,请输入 ansible_playbook_runansible_playbook_check,然后按返回键。
  5. 查看为您创建的作业的 CLI 输出。

ibmcloud schematics job update

通过复制现有作业的设置来创建作业,并在 IBM Cloud Schematics中运行该作业。

语法

ibmcloud schematics job update --id JOB_ID [--output OUTPUT] [--no-prompt]

命令选项

Schematics 作业更新标志
标志 必需/可选 描述
--id 必需 要复制并再次运行的现有作业的标识。
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。
--no-prompt 可选 设置此标志以在没有交互式命令行会话的情况下创建作业。

示例

ibmcloud schematics job update --id  us-east.JOB.yourjob_ID_1231

ibmcloud schematics job get

使用作业标识检索操作作业的详细信息。

语法

ibmcloud schematics job get --id JOB_ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]

命令选项

Schematics 作业获取标志
标志 必需/可选 描述
--id-i 必需 要检索的作业 ID 的 ID。
--profile-p 可选 要检索的信息的深度。 受支持的值为 detailedsummary。 缺省值为 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_progresssuccessfailed 的作业的列表。

语法

ibmcloud schematics job list --resource-type RESOURCE_TYPE --id RESOURCE_ID [--limit LIMIT] [--offset OFFSET] [--profile PROFILE] [--output OUTPUT] [--all] [--no-prompt]

命令选项

Schematics 作业列表标志
标志 必需/可选 描述
--resource-type-rt 必需 Schematics 资源的名称。 仅支持 action
--id-i 必需 要列示其作业的 Schematics 操作的标识。
--limit-l 可选 要列出的最大工作空间数。 该数字必须是介于 1 与 200 之间的正整数。 默认值为 -1
--offset-m 可选 作业在要从中开始列示作业的作业列表中的位置。 例如,如果您的账户中有三个任务,该命令会以包含三个元素的列表形式返回这些任务。 要检索所有作业,必须输入职位编号 0。 要检索作业号 2 和 3 并在此列表中省去作业号 1,必须输入位置号 1。 位置号 1 表示作业列表中的第二个位置。 不支持负数,负数将被忽略。
--profile-p 可选 返回的信息的深度。 受支持的值为 idssummary。 缺省值为 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]

命令选项

Schematics 作业日志标志
标志 必需/可选 描述
--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]

命令选项

Schematics 作业删除标志
标志 必需/可选 描述
--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]

命令选项

Schematics 代理程序创建标志
标志 必需/可选 描述
--name-n 必需 代理程序的唯一名称。 必须描述代理程序角色,位置和使用情况。
--location-l 必需 定义代理程序的 Schematics 位置,us-southus-easteu-deeu-gb。将从此位置选取作业以进行执行。
--agent-location--al 必需 用户定义的描述性标签,用于标识在用户环境中部署代理程序的位置。 这可以是云区域或用户数据中心。 例如,London MZR
--cluster-id-c 必需 用于部署 Agent 的 Kubernetes 集群的 ID。
--cluster-resource-group--cg 必需 群集资源组的名称。
--cos-instance-name--on 必需 COS 实例的名称。
--cos-bucket-b 必需 COS 桶的 ID 或名称。
--cos-location--ol 必需 COS 存储区位置。 支持的格式为 eu-gbus-south,依此类推。
--resource-group-g 必需 与代理程序关联的资源组名称或标识。
--version-v 必需 用户定义的标签,用于指定代理程序的版本。 示例 v1.0.0
--infra-type-i 必需 指定目标代理基础架构的类型。 受支持的值为 ibm-kubernetesibm-openshiftibm-satellite
--description-d 可选 用于标识代理程序使用情况以及代理程序能够访问的网络区域和资源的描述。
--tags-t 可选 代理程序标记。 您可以多次重复该标志。 通过标记,可以更快更轻松地搜索与代理程序相关的资源。
--metadata--md 可选 代理程序的元数据。 您可以多次使用该标志。 例如,git:private-git.github.comgit:gitlab.com。 如果未设置,默认值为 git:github.com
--validate 可选 在创建代理程序之后运行验证。
--deploy 可选 在创建代理程序后,在不进行验证的情况下运行部署。
--filef 可选 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]

命令选项

Schematics 代理程序删除标志
标志 必需/可选 描述
--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]

命令选项

Schematics 代理程序部署标志
标志 必需/可选 描述
--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]

命令选项

Schematics 代理程序破坏标志
标志 必需/可选 描述
--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]

命令选项

Schematics 代理程序获取标志
标志 必需/可选 描述
--id 必需 代理程序的标识。
--output-o 可选 指定输出格式,仅支持 JSON

示例

ibmcloud schematics agent get --id <AGENT_ID>

ibmcloud schematics agent health

执行代理程序的部署后验证。 有关使用代理程序运行状况命令的步骤的更多信息,请参阅 监视代理程序运行状况

语法

ibmcloud schematics agent health --id AGENT_ID [--output OUTPUT]

命令选项

Schematics 代理程序运行状况标志
标志 必需/可选 描述
--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]

命令选项

Schematics 代理程序列表标志
标志 必需/可选 描述
--location-l 可选 IBM Cloud Schematics 服务支持的地理位置,例如 us-southus-easteu-deeu-gb
--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]

命令选项

Schematics 代理程序更新标志
标志 必需/可选 描述
--id 必需 代理程序的标识。
--tags-t 可选 代理程序标记。 该标记可多次使用,并能更快地搜索与代理相关的资源。
--description-d 可选 代理人的简短描述。
--version value-v 可选 指定代理的版本。 缺省为可用的最新版本。
--metadata 可选 代理程序的元数据。 您可以多次使用该标志。 例如,git:private-git.github.comgit: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]

命令选项

Schematics 代理程序验证标志
标志 必需/可选 描述
--id 必需 代理人的 ID。
--output-o 可选 指定输出格式,仅支持 JSON

示例

ibmcloud schematics agent validate --id AGENT_ID

代理程序策略命令

Schematics (分配)策略告诉,它应该使用哪个代理来执行特定网络区域中的工作区和操作任务。Schematics 每个代理至少有一个与之相关的策略,用于确定在代理所在位置运行的作业。 请参阅 分配策略(assignment policies)

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]

命令选项

Schematics 策略创建标志
标志 必需/可选 描述
--name-n 必需 政策的唯一名称。
--kind-K 必需 用于管理和派生策略决策的策略种类。 支持 agent_assignment_policy
--location-l 可选 定义了代理程序的 Schematics 服务的地理位置。 例如,us-southus-easteu-deeu-gb。将从此位置选取作业以进行处理。
--resource-group-r 必需 策略的资源组名称或标识。
--target-filetf 可选 包含策略定义的 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]

命令选项

Schematics 策略删除标志
标志 必需/可选 描述
--id-i 必需 保单 ID。
--force-f 可选 部队行动未经确认。

示例

ibmcloud schematics policy delete --id policy-101.soP.282e

ibmcloud schematics policy get

使用策略标识检索现有 Schematics 策略的详细信息。

语法

ibmcloud schematics policy get --id POLICY_ID [--profile PROFILE] [--output OUTPUT]

命令选项

Schematics 策略获取标志
标志 必需/可选 描述
--id-i 必需 策略的标识。
--profile-p 可选 要返回的详细信息级别。 有效值为 summarydetailedids。 默认为 summary
--output-o 可选 指定输出格式,仅支持 JSON

示例

ibmcloud schematics policy get --id policy-101.soP.282e

ibmcloud schematics policy list

检索帐户的 IBM Cloud 区域中所有策略的列表。

语法

ibmcloud schematics policy list [--profile PROFILE] [--limit LIMIT] [--offset OFFSET] [--output OUTPUT]
Schematics 策略列表标志
标志 必需/可选 描述
--profile-r 可选 返回详细信息的级别。 有效值为 summarydetailedids。 默认为 summary
--limit-l 可选 要列出的保单的最大数量。 如果设置了一个负数,那么将忽略该值。 该数字必须是介于 1 与 200 之间的正整数。 默认值为 -1
--offset或者 -m 可选 列表中的偏移量。 如果设置了一个负数,那么将忽略该值。 默认值为 -1
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics policy list  --profile ids092030

ibmcloud schematics policy update

使用策略标识更新现有策略。

语法

ibmcloud schematics policy update --id POLICY_ID [--kind POLICY_KIND] [--description DESCRIPTION] [--resource-group RESOURCE_GROUP] [--tags TAGS] [--file FILE] [--output OUTPUT]
Schematics 策略更新标志
标志 必需/可选 描述
--id-i 必需 策略的标识。
--kind-k 可选 用于管理和派生策略决策的策略种类。 支持 agent_assignment_policy
--description-d 可选 Schematics 个性化政策说明。
--resource-group-r 可选 策略的资源组名称或标识。
--tags-t 可选 策略标记。 可以多次使用此标志来更快地搜索和查找代理程序策略。
--file-f 可选 包含策略定义的 JSON 文件的路径。
--output-o 可选 指定输出格式,仅支持 JSON

示例

ibmcloud schematics policy update --id <AGENT_ID> --description PolicyDescriptionUpdated

配置 BYOK 或 KYOK 命令

您可以使用来自 IBM Cloud 密钥管理服务 (KMS),IBM Key Protect(BYOK) 和 Hyper Protect Crypto Services (KYOK) 的加密和保护存储在 Schematics中的数据。 有关如何保护 Schematics中的敏感数据的更多信息,请参阅 保护 Schematics

先决条件

密钥管理系统将列出从特定位置和区域创建的实例。 要执行 KMS 活动,请遵循以下先决条件。

  • 您应该具有 KYOKBYOK。 要创建 IBM Key Protect 密钥,请参阅 创建 BYOK。 要创建 IBM Cloud Hyper Protect Crypto Services 密钥,请参阅 创建 KYOK
  • 您需要向 Schematics 服务 添加根密钥
  • 您需要配置 服务到服务授权 以在 Schematics 服务中集成 BYOKKYOK

KMS 设置是一次性设置。 您需要开具 支持凭单 以更新 KMS 设置。

ibmcloud schematics kms instance ls

列出 IBM Cloud 帐户的所有 KMS 实例,以通过使用创建密钥的位置和加密方案 (例如 KYOKBYOK) 来查找 Key Protect或 Hyper Protect Crypto Services。

语法

ibmcloud schematics kms instances ls --location LOCATION_NAME --scheme ENCRYPTION_SCHEME [--output OUTPUT]

命令选项

Schematics KMS 列表标志
标志 必需/可选 描述
--location-l 必需 设置 Schematics 位置名。 支持的值为 USEU
--scheme-s 必需 指定加密方案。 支持的值为 KYOKBYOK
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics kms instances ls -l US -s byok

ibmcloud schematics kms enable

启用 KMS 以加密特定位置中的数据。 有关为 Schematics启用客户管理的密钥的更多信息,请参阅 启用密钥

使用专用端点 CRN,主 CRK 和辅助 CRK 更新位置的 KMS 设置。 请注意,只能更新 KMS 设置一次。 例如,如果将 API 端点用于地理位置 (例如 North America),那么将仅检索在 us-southus-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]

命令选项

Schematics KMS 启用标志
标志 必需/可选 描述
--location-l 必需 设置 Schematics 位置名。 支持的值为 USEU
--scheme-s 必需 指定加密方案。 支持的值为 KYOKBYOK
--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 US -s byok -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

在具有 KYOKBYOK 的 API 端点上检索 KMS。 例如,如果将 API 端点用于地理位置 (例如 North America),那么将仅检索在 us-southus-east 中创建的 API 端点。 请注意,您需要在帐户中启用 kms instances 以运行 info 命令行。

语法

ibmcloud schematics kms info --location LOCATION_NAME [--output OUTPUT]

命令选项

Schematics KMS 信息标志
标志 必需/可选 描述
--location-l 必需 设置 Schematics 位置名。 支持的值为 USEU
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics kms info -l US

常规命令

使用这些一般命令可查找 IBM Cloud Schematics 命令行插件的帮助和版本信息。

ibmcloud schematics help

查看受支持的 IBM Cloud Schematics 命令行命令。

语法

ibmcloud schematics help [command]

命令选项

Schematics 帮助标志
标志 必需/可选 描述
--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]

命令选项

Schematics 版本标志
标志 必需/可选 描述
--output-o 可选 以 JSON 格式返回 CLI 输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics version --output json > "<filename.json>"

库存命令

查看命令以创建,更新,列示,删除和使用 IBM Cloud Schematics 库存 (用于 Schematics 操作)。

ibmcloud schematics inventory create

在 IBM Cloud Schematics 中创建可用于 Schematics 操作的 资源库存。 资源清单包含要在其中运行 Ansible 运行手册的所有目标主机。 您可以使用有效内容文件或交互方式来创建清单。

语法

ibmcloud schematics inventory create --name INVENTORY_NAME [--description DESCRIPTION] [--location GEOGRAPHY] [--resource-group RESOURCE_GROUP] [--inventories-ini INVENTORY_INI_FILE] [--resource-query RESOURCE_QUERY_ID] [--file FILE_NAME ] [--output OUTPUT] [--no-prompt]

您需要传递清单的 --inventories-ini 文件路径或 --resource-query 标识以使用目标主机详细信息。

命令选项

Schematics 库存创建标志
标志 必需/可选 描述
--name-n 必需 资源库存的唯一名称。
--description-d 可选 库存的简短描述。
--location-l 可选 要存储资源库存的位置,例如 us-southus-easteu-deeu-gb。 有关 Schematics中数据存储的更多信息,请参阅 我的数据存储在何处?
resource-group-r 可选 要创建操作的资源组名称。
--inventories-ini-y 可选 指定了所有目标主机的资源清单文件的文件路径。 必须以 INI 格式提供资源库存文件。 有关如何创建静态资源库存文件的更多信息,请参阅 创建静态库存文件
--resource-query 可选 输入您创建的资源查询的标识。 资源查询有助于使用您在 Schematics 工作区中创建的云资源动态构建您的资源清单。 要创建资源查询,请参阅 ibmcloud schematics resource-query create 命令。 要输入多个资源查询标识,请使用 --resource-query id1 --resource-query id2
--file-f 可选 在其中指定了要创建的资源清单的 JSON 文件的路径。
--output-o 可选 指定输出格式。 仅支持 JSON 格式。
--no-prompt 可选 设置此标志以在没有交互式命令行会话的情况下创建库存。

使用有效内容文件

您可以提供有效内容文件以指定 inventory create 命令的特定参数。 然后,使用 --file 命令选项将文件名传递给命令。

您需要将 <...> 占位符替换为实际值。 例如,"<INVENTORY_NAME>" 作为 "myinventory"

语法

{
    "name": "<INVENTORY_NAME>",
    "description": "<DESCRIPTION",
    "location": "<GEOGRAPHY>",
    "resource_group": "<RESOURCE_GROUP>",
    "resource_queries": [
    "<RESOURCE_QUERY_ID>"
    ]
}

示例

{
    "name": "myinventory",
    "description": "This is the resource inventory for production",
    "location": "us-east",
    "resource_group": "default",
        "resource_queries": [
    "default.RESOURCEQUERY.string.df3d8a47"
    ]

}
ibmcloud schematics inventory create --file inventory.json

使用交互方式

您还可以对该命令使用交互方式,而不是使用命令选项或有效内容文件来输入库存详细信息。 此方式提示您输入必需值以在 Schematics中创建库存。

  1. 输入命令以创建不带任何命令选项的库存。
    ibmcloud schematics inventory create
    
  2. 输入库存的名称,然后按返回键。
  3. 输入要在其中创建库存的资源组,然后按返回键。
  4. 输入要在其中创建库存的位置,例如 us-southus-easteu-deeu-gb。 然后,按返回键。
  5. 查看已创建的库存的详细信息。

ibmcloud schematics inventory delete

使用库存标识删除资源库存定义。

语法

ibmcloud schematics inventory delete --id ACTION_ID [--force][--no-prompt]

命令选项

Schematics 库存删除标志
标志 必需/可选 描述
--id-i 必需 要删除的清单的 ID。
--force-f 可选 强制删除而无需用户确认。
--no-prompt 可选 设置此标志以在没有用户提示的情况下运行命令。

示例

ibmcloud schematics inventory delete --id us-east.INVENTORY.inventoryid12342

ibmcloud schematics inventory get

使用库存标识检索现有 IBM Cloud Schematics 库存的详细信息。

语法

ibmcloud schematics inventory get --id ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]

命令选项

Schematics 库存获取标志
标志 必需/可选 描述
--id-i 必需 要列出其详细信息的资源清单的标识。
--profile-p 可选 要检索的信息的深度。 受支持的值为 detailedsummary。 缺省值为 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]

命令选项

Schematics 作业列表标志
标志 必需/可选 描述
--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] [--inventories-ini INVENTORY_INI_FILE] [--resource-query RESOURCE_QUERY_ID] [--file FILE_NAME ] [--output OUTPUT] [--no-prompt]

命令选项

Schematics 库存更新标志
标志 必需/可选 描述
--id-i 必需 输入要更新的资源清单 ID。
--name-n 必需 库存的唯一名称。
--description-d 可选 库存的简短描述。
--location-l 可选 IBM Cloud Schematics 服务支持的地理位置,例如 us-southus-easteu-deeu-gb
resource-group-r 可选 操作的资源组名称。
--inventories-ini-y 可选 INI 格式文件的文件路径,该文件包含主机详细信息。
--resource-query 可选 传递资源查询标识。 要传递多个 ID,请使用 --resource-query id1 --resource-query id2
--file-f 可选 包含清单定义的 JSON 文件的路径。
--output-o 可选 指定输出格式。 仅支持 JSON 格式。
--no-prompt 可选 设置此标志以在没有交互式命令行会话的情况下更新库存。

示例

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

库存资源查询命令

使用资源查询动态构建操作资源清单。 资源查询使您能够从 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]

命令选项

Schematics 资源查询创建标志
标志 必需/可选 描述
--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中创建资源查询。 您可以使用 资源查询 来创建资源条件。

  1. 输入命令以创建不带任何命令选项的资源查询。
    ibmcloud schematics resource-query create
    
  2. 输入资源查询的名称,然后按返回键。
  3. 输入有效内容文件的路径。 有关样本有效内容文件,请参阅 使用有效内容文件。 然后,按返回键。
  4. 查看为您创建的资源查询的详细信息。

ibmcloud schematics resource query delete

使用 IBM Cloud Schematics 服务中的资源查询标识来删除资源查询定义。 请注意,您可以从创建库存的位置和区域以及资源组中删除库存。 此外,请确保您的 IP 地址位于 允许列表 中。

语法

ibmcloud schematics resource-query delete --id ID [--force] [--no-prompt]

命令选项

Schematics 资源查询删除标志
标志 必需/可选 描述
--id-i 必需 要删除的资源查询的标识。
--force-f 可选 强制删除而无需用户确认。
--no-prompt 可选 设置此标志以在没有用户提示的情况下运行命令。

示例

ibmcloud schematics resource-query  delete --id us-east.INVENTORY.inventoryid12342

ibmcloud schematics resource query get

使用资源查询标识检索现有 IBM Cloud Schematics 资源查询的信息。

语法

ibmcloud schematics resource-query get --id ID [--profile PROFILE] [--output OUTPUT] [--no-prompt]

命令选项

Schematics 资源查询获取标志
标志 必需/可选 描述
--id-i 必需 要检索的资源查询的 ID。
--profile-p 可选 要检索的信息的深度。 受支持的值为 detailedsummary。 缺省值为 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]

命令选项

Schematics 资源查询列表标志
标志 必需/可选 描述
--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]

命令选项

Schematics 资源查询更新标志
标志 必需/可选 描述
--id-i 必需 资源查询标识。
--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]

命令选项

Schematics 工作空间执行标志
标志 必需/可选 描述
--id-i 必需 要检索其工作空间活动的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--act-id-a 可选 输入要检索的操作的标识。
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics workspace action --id myworkspace-a1aa1a1a-a11a-11

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]

命令选项

Schematics 工作空间删除标志
标志 必需/可选 描述
--id-i 必需 要除去的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--force-f 可选 在没有命令行提示的情况下强制删除工作区。

示例

ibmcloud schematics workspace delete --id myworkspace-a1aa1a1a-a11a-11

ibmcloud schematics workspace get

检索现有工作区的详细信息,例如工作区ID、名称、状态、版本、创建时间、模板ID、提交ID、加密状态和加密CRN,包括所有输入变量的值。

语法

ibmcloud schematics workspace get --id WORKSPACE_ID [--output OUTPUT]

命令选项

Schematics 工作空间获取标志
标志 必需/可选 描述
--id-i 必需 要检索其详细信息的工作空间的唯一标识。 要查找工作空间的 Resource ID,请运行 ibmcloud schematics workspace list 命令以查看列表服务实例。 从资源组获取 --id 标志的 Resource ID
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics workspace get --id myworkspace-a1aa1a1a-a11a-11

ibmcloud schematics workspace import

您可以将具有有效资源地址的现有资源导入到工作空间状态文件中。 您需要确保仅将资源导入一次并导入到单个工作空间。 否则,如果在多个工作空间中定义了资源,那么您可能会看到不需要的行为。 请查看 Terraform 文档,以获取有关如何使用 import 命令的详细信息。

语法

ibmcloud schematics workspace import --id WORKSPACE_ID --options OPTIONS --address ADDRESS --resourceID RESOURCE_ID

命令选项

Schematics 工作空间导入标志
标志 必需/可选 描述
--id-i 必需 要为其导入实例或资源的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--options-o 必需 命令行标志。 例如,-var-file xxxxx/tf
--address-adr 必需 提供要导入的资源名称的地址。
--resourceID-rid 必需 提供需要在文件中导入的资源标识。
--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]

命令选项

Schematics 工作空间列表标志
标志 必需/可选 描述
--limit-l 可选 要列出的最大工作空间数。 数字必须是从 1 开始的正整数,最大值为 200。 默认值为 -1
--offset-m 可选 工作空间在工作空间列表中的位置。 例如,如果帐户中有三个工作空间,那么该命令会以包含三个元素的列表形式返回这些工作空间。 要查看此列表中的特定工作空间,必须输入该工作空间在列表中的位置编号。 要列出列表中的第一个工作空间,请输入 0。 要列出第二个工作空间,请输入 1,依此类推。 不支持负数,负数将被忽略。 缺省值为 -1
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。
--region-r 可选 指定区域,如 eu, us, eu-gb, eu-de, us-southus-east

示例

ibmcloud schematics workspace list --limit 10 --offset 20

ibmcloud schematics workspace new

在 GitHub 或 GitLab中创建指向 Terraform 模板的 Schematics 工作空间。 如果要通过上载磁带归档文件 (.tar) 来提供 Terraform 模板,那么可以在不连接到 GitHub 存储库的情况下创建工作空间,然后使用 ibmcloud schematics workspace upload 命令来提供模板。

Schematics 不支持传递 .tar 文件以创建工作空间。

IBM Cloud Schematics 支持每分钟,每个主机和每个客户 50 个 API 请求。 位置可以是 us-eastus-southeu-gbeu-de 区域。 您需要等待,然后再再次调用该命令。

要创建工作区,可以在 JSON 文件中指定工作区设置。 请确保 JSON 文件遵循此命令中概述的结构。 另外,在创建或更新工作空间和操作时,请确保 locationurl 端点指向同一区域。 有关位置和端点的更多信息,请参阅 我的信息存储在何处?

IBM Cloud Schematics 不推荐使用旧版本的 Terraform。 有关更多信息,请参阅 在 IBM Cloud Schematics

IBM Cloud Schematics 不推荐使用 2024 年 4 月 2nd 周的 IBM Cloud Provider Plug-in for Terraform v1.2和 v1.3 模板来创建工作空间。

语法

ibmcloud schematics workspace new  --file FILE_NAME  --state STATE_FILE_PATH  [--agent-id AGENT_ID]  [--github-token GITHUB_TOKEN] [--output OUTPUT]

命令选项

Schematics 工作空间创建标志
标志 必需/可选 描述
--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 可选 在其中创建工作空间的代理程序的标识。 代理可帮助您在基础架构上运行工作区作业。 有关更多信息,请参阅 Schematics 代理程序
--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>"
        }
        ]
    }
    ]
}
JSON 文件组成部分描述
参数 必需/可选 描述
workspace_name 可选 输入工作区名称。 字符限制的最大长度设置为小于 1 MB。 有关详细信息,请参阅 设计工作区结构
terraform_version 可选 要用于运行 Terraform 代码的 Terraform 版本。 输入 terraform_v1.5 以使用 Terraform V 1.5,输入 terraform_v1.4 以使用 Terraform V 1.4,类似地输入 terraform_v1.4。 例如,当您指定 terraform_v1.5 时,表示用户可以具有 Terraform v1.5.0v1.5.1v1.5.7 等模板。 确保 Terraform 配置文件与您指定的 Terraform 版本兼容。 这是一个必填变量。 如果未指定 Terraform 版本,那么缺省情况下,Schematics 从模板中选择版本。Schematics 支持 Terraform_v1.x,并且计划在 HashiCorp 配置语言 (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 可选 输入存储 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 工作区上传 命令。 如果要从 Git 版本库克隆,请参阅 允许和阻止的文件扩展名 克隆。
env_values 可选 要在执行 bash 脚本或 Terraform 操作期间应用的环境变量的列表。 此字段必须作为键/值对列表提供。 每个条目都是一个映射,其中有一个条目 key = variable namevalue = value。 您可以为使用 bash 脚本文件配置的 IBM Cloud 目录产品定义环境变量。
variable_name 可选 输入在 Terraform 配置文件中声明的输入变量的名称。
variable_type 可选 Terraform v0.12 支持 stringlistmapboolnumber 和复杂数据类型,例如 list(type)map(type)object({attribute name=type,..})set(type)tuple([type])
variable_value 可选 输入值作为复杂变量的基本类型 (例如 boolnumberstringHCL 格式) 的字符串,如您在 .tfvars 文件中提供的那样。 您需要为值输入 HCL 格式的转义字符串,如示例中所示。 有关如何在 Terraform 配置文件中声明变量并向示意图提供值的更多信息,请参阅 使用输入变量来定制资源例如
secure 可选 secure 参数设置为 true。 默认情况下,该参数设置为 false
val1 可选 在有效内容中,可以提供可在计划,应用或销毁阶段期间在工作空间中执行的环境变量。 此外,还会对值进行加密并将其存储在 COS 中。

IBM Cloud Schematics 支持设置环境变量,例如 TF_PARALLELISMTF_LOG。 有关环境变量列表及其用法的更多信息,请参阅 环境变量列表

示例

ibmcloud schematics workspace new --file example.json

ibmcloud schematics refresh

对工作空间执行 IBM Cloud 刷新操作。 刷新操作将根据工作区 Terraform 状态文件中存储的状态,验证您帐户中的云资源。 如果找到差异,那么将相应地更新 Terraform 状态文件。

语法

ibmcloud schematics refresh --id WORKSPACE_ID [--output OUTPUT]

命令选项

Schematics 刷新标志
标志 必需/可选 描述
--id-i 必需 要刷新并对其运行操作的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--output-o 可选 以 JSON 格式返回命令行输出。 当前仅支持 JSON 文件格式。

示例

ibmcloud schematics refresh --id myworkspace-a1aa1a1a-a11a-11

ibmcloud schematics state list

列出Terraform状态文件(terraform.tfstate )中记录的云资源的 NameTypeURLTaint Status

Taint Status 返回 tainted for (true) 或 blank for (false)。

语法

ibmcloud schematics state list --id WORKSPACE_ID  [--output json]

命令选项

Schematics 状态列表标志
标志 必需/可选 描述
--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 返回 tainted for (true) 或 blank for (false)。

语法

ibmcloud schematics workspace taint --id WORKSPACE_ID [--options OPTIONS]  --address PARAMETER

命令选项

Schematics 工作空间污点标志
标志 必需/可选 描述
--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 返回 tainted for (true) 或 blank for (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 工作空间 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。 有关更多信息,请参阅 在 IBM Cloud Schematics

更新现有工作空间的详细信息,例如工作空间名称、变量或源代码控制 URL。 要配置或修改 IBM Cloud,请参见 ibmcloud schematics plan 命令。

IBM Cloud Schematics 支持每分钟,每个主机和每个客户 50 个 API 请求。 区域可以是 us-eastus-southeu-gbeu-de 区域。 您需要等待,然后再再次调用该命令。 创建或更新工作空间和操作时,请确保 locationurl 端点指向同一区域。 有关位置和端点的更多信息,请参阅 我的信息存储在何处?

如果通过上载磁带归档文件 (.tar) 提供了 Terraform 模板,并且要更新模板,那么必须使用 ibmcloud schematics workspace upload 命令。

语法

ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest] [--output OUTPUT]

使用 IBM Cloud 目录中的模板创建的工作空间不支持 Pull-latest 标志。

命令选项

Schematics 工作空间更新标志
标志 必需/可选 描述
--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
	  }
        ]
    }
    ],
}
IBM Cloud Schematics 更新有效内容
参数 必需/可选 描述
name 可选 输入工作空间的名称。 有关更多信息,请参阅设计工作空间结构。 如果更新工作空间的名称,那么工作空间的标识不会更改。
type 可选 要用于运行 Terraform 代码的 Terraform 版本。 输入 terraform_v1.5 以使用 Terraform V 1.5,输入 terraform_v1.4 以使用 Terraform V 1.4。 例如,当您指定 terraform_v1.5 时,表示用户可以具有 Terraform v1.5.0v1.5.1v1.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。 每个条目都是具有一个条目的映射,其中 键是环境变量名称,值是值
template_data[0].env_values[i].val2 可选 要在执行 bash 脚本或 Terraform 作业期间应用的环境变量的列表。 此字段必须作为键/值对列表提供,例如,TF_LOG=debug。 每个条目都是具有一个条目的映射,其中 键是环境变量名称,值是值
template_data[0].env_values_metadata 可选 环境变量元数据。
template_data[0].variablestore[i].name 可选 输入您在 Terraform 配置文件中声明的输入变量名称。
template_data[0].variablestore[ii].type 必需 Terraform v0.12 支持 stringlistmapboolnumber 和复杂数据类型,例如 list(type)map(type)object({attribute name=type,..})set(type)tuple([type])
template_data[0].variablestore[iii].value 可选 为复杂变量的基本类型 (例如 boolnumberstringHCL 格式) 输入字符串形式的值,如您在 .tfvars 文件中提供的那样。 您可以通过将 use_default 参数设置为 true 来覆盖 .tfvars 的缺省值。 您需要为值输入 HCL 格式的转义字符串,如示例中所示。 有关如何在 Terraform 配置文件中声明变量并为示意图提供值的更多信息,请参阅 使用输入变量来定制资源变量存储示例
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。 有关更多信息,请参阅 在 IBM Cloud Schematics

更新变量允许您更新现有工作区的一个或多个输入变量。 您无法更新工作区元数据变量,例如名称或源代码管理 URL。 要配置或修改 IBM Cloud,请参见 ibmcloud schematics plan 命令。

语法

ibmcloud schematics workspace update-variables --id WORKSPACE_ID --template TEMPLATE_ID --file FILE_NAME [--output OUTPUT]

命令选项

Schematics 工作空间更新标志
标志 必需/可选 描述
--id-i 必需 要更新实例或资源的工作区的唯一标识符。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--file-f 必需 本地计算机上包含工作区变量更新参数的JSON文件的相对路径。 有关包含详细信息的样本 JSON 文件的更多信息,请参阅 JSON 文件更新模板
--template-tid 必需 输入模板ID。 使用 ibmcloud schematics workspace获取 模板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

通过将磁带归档文件 (.tar) 上载到 Schematics 工作空间来提供 Terraform 模板。 .tar 支持 Cloud Shell 命令。

开始之前,请确保 创建了工作空间,但没有指向 GitHub 或 GitLab 存储库的链接。

语法

ibmcloud schematics workspace upload  --id WORKSPACE_ID --file FILE_NAME --template TEMPLATE_ID [--output OUTPUT]

命令选项

Schematics 工作空间上载标志
标志 必需/可选 描述
--id-i 必需 要上载磁带归档文件 (.tar) 的工作空间的唯一标识。要查找工作空间的标识,请运行 ibmcloud schematics workspace list 命令。
--file-f 必需 输入存储 .tar 文件的本地机器上的完整文件路径。
--template-tid 必需 要显示其 Terraform 状态文件内容的 Terraform 模板的唯一标识。 要查找模板的标识,请运行 ibmcloud schematics workspace get --id <workspace_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 -cvf vpc.tar $TEMPLATE_REPO_FOLDER 创建模板存储库的 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 配置、修改或删除资源。 在应用操作期间创建的临时文件可以 持久存储 以用于将来的操作。

工作空间必须处于 不活动活动失败已停止 状态,才能执行 Schematics 应用操作。 有关工作空间状态的更多信息,请参阅 工作空间状态图

当 Terraform 作业正在运行时,工作空间已锁定,在执行完成之前,无法对工作空间进行更改。

语法

ibmcloud schematics apply --id WORKSPACE_ID [--target RESOURCE1] [--target RESOURCE2] [--var-file PATH_TO_VARIABLES_FILE] [--force] [--output OUTPUT]

命令选项

Schematics 应用标志
标志 必需/可选 描述
--id-i 必需 工作空间的唯一标识,指向源代码控制存储库中要在 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 工作区配置的云资源,即使这些资源处于活动状态。 默认情况下,该命令会列出所有要预览的资源,然后确认销毁。 如果您在销毁命令中使用 --force or -f 标志,则无法看到要销毁的资源预览。

请谨慎使用此命令。 运行该命令后,您无法逆转云资源的移除。 如果已将数据写入供应的存储器或数据库,请确保创建备份以持久存储数据

您的工作空间必须处于 活动失败已停止 状态,才能执行 Schematics 破坏操作。

语法

ibmcloud schematics destroy --id WORKSPACE_ID [--target RESOURCE1] [--target RESOURCE2] [--force] [--output OUTPUT]

命令选项

Schematics 销毁标志
标志 必需/可选 描述
--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]

命令选项

Schematics 日志标志
标志 必需/可选 描述
--id-i 必需 要为其检索 Terraform 日志文件的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--act-id-1 可选 要为其检索 Terraform 日志的操作的标识。 要查找操作 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]

命令选项

Schematics 输出标志
标志 必需/可选 描述
--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 模板,并将此模板与已部署的云资源进行比较。 命令行输出显示为实现配置文件中描述的状态而必须添加、修改、保留 或删除的云资源。

工作空间必须处于 不活动活动失败已停止 状态,才能执行 Schematics 计划操作。

在创建 Terraform 执行计划期间,无法对工作空间进行任何更改。

语法

ibmcloud schematics plan --id WORKSPACE_ID [--var-file PATH_TO_VARIABLES_FILE] [--output OUTPUT]

命令选项

Schematics 输出标志
标志 必需/可选 描述
--id-i 必需 工作空间的唯一标识,该工作空间指向源存储库中要扫描的 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

工作空间停止命令

调用工作空间作业 (例如 planapplydestroy) 后,您可能想要停止正在运行的作业或停止资源供应。 在停止或取消长时间运行的作业时,建议首先检查作业日志以确定作业是否实际卡住并且需要停止,或者是否正在执行需要时间才能完成的长时间运行的操作。

Schematics 提供了一些选项,以允许用户按停止操作的即时性和影响顺序 (gracefully) stopforce-stopterminate 运行作业。

查看 (gracefully) stopforce-stopterminate 作业的命令。

ibmcloud schematics workspace job stop

通过向 Terraform 发送中断信号以终止执行,停止正在运行的工作空间作业。

语法

ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate]

命令选项

Schematics 作业停止标志
标志 必需/可选 描述
--id-i 必需 要更新的工作空间标识。
--job-id--jid 必需 作业的作业 ID。
--stop, 可选 从暂挂队列中除去作业。
--force-stop--fs 可选 向引擎中的 Terraform 执行发送杀死信号,并尝试立即停止执行。
--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

命令选项

Schematics 状态拉取标志
标志 必需/可选 描述
--id-i 必需 要在其中运行命令的工作空间的唯一标识。
--template--tid 必需 要显示其 Terraform 状态文件内容的 Terraform 模板的唯一标识。 要查找模板的标识,请运行 ibmcloud schematics workspace get --id <workspace_ID> 并在命令行输出的 模板变量: 字段中查找模板标识。

示例

ibmcloud schematics state pull --id myworkspace-a1aa1a1a-a11a-11 --template a1aa11a1-11a1-11

ibmcloud schematics workspace state show

提供 Terraform 看到的工作空间状态或计划的可读输出。 您可以用于确保当前状态和计划的操作状态。 您需要使用工作空间标识通过 ibmcloud schematics logs 命令来检索日志。

语法

ibmcloud schematics workspace state show --id WORKSPACE_ID  --address ADDRESS [--options OPTIONS]

命令选项

Schematics 状态拉取标志
标志 必需/可选 描述
--id-i 必需 要更新的工作区的唯一 ID。
--address-adr 必需 输入指向要显示的州内单个资源的地址。
--options-o 可选 输入命令行标志。

示例

ibmcloud schematics workspace show --id myworkspace-a1aa1a1a-a11a-11 --address null_resource.sleep

ibmcloud schematics workspace state mv

如果在状态文件中移动资源的状态。 工作空间将继续工作,但下一个计划或应用操作将无法在状态文件中找到资源或实例。 如果未对模板进行任何更改,那么您可以在 Terraform 的下一个操作上看到资源的重新创建。

ibmcloud schematics workspace state mv --id WORKSPACE_ID --source SOURCE  --destination DESTINATION

命令选项

Schematics 状态移动标志
标志 必需/可选 描述
--id-i 必需 要为其移动实例或资源的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--source-s 必需 输入要移动的项的源地址。
--destination-d 必需 提供项目的目标地址。

示例

ibmcloud schematics workspace state mv --id myworkspace-a1aa1a1a-a11a-11 -s testsourceresource -d null_resource.sleep

ibmcloud schematics workspace state rm

如果在状态文件中除去资源或实例的状态。 工作空间将继续工作,但下一个计划或应用操作将无法在状态文件中找到资源或实例。 如果未对模板进行任何更改,那么您可以在 Terraform 的下一个操作上看到资源的重新创建。

ibmcloud schematics workspace state rm --id WORKSPACE_ID [--options OPTIONS] --address PARAMETER

命令选项

Schematics 状态除去标志
标志 必需/可选 描述
--id-i 必需 要删除实例或资源的工作区的唯一标识符。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--options-o 可选 输入要除去的选项标志。
--address-adr 必需 输入要标记为污点的资源的地址。

示例

ibmcloud schematics workspace state rm --id myworkspace-a1aa1a1a-a11a-11 --address null_resource.sleep --destination null_resource.slept

工作空间 Terraform 命令

您可以运行Terraform命令来操作云资源并修改 Schematics 状态。

工作空间 Terraform 命令在 UI 中不受支持。

此表提供了受支持的 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

命令选项

Schematics Terraform 命令标志
标志 必需/可选 描述
--id-i 必需 要在其中运行命令的工作空间的唯一标识。 要查找工作区的 ID,请运行 ibmcloud schematics workspace list 命令。
--file--f 必需 JSON 文件的路径,该文件包含 Terraform 命令列表。

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 必需 提供命令。 受支持的命令包括 showtaintuntaintstateimportoutput
command_params 必需 CLI 的命令名的地址参数,例如资源名称和文件名的绝对路径。 对于 API,必须在 command_params 中发送选项标志和地址参数。
command_name 必需 命令块的名称。
command_desc 可选 用于描述命令块的文本。
command_onError 可选 在命令中发生错误时继续或中断的指示信息。
command_dependsOn 可选 对先前命令的依赖关系。
command_status 不需要 显示命令执行状态 successfailure

示例

ibmcloud schematics workspace commands --id cli-sleepy-0bedc51f-c344-50 --file /<FILE_PATH>/Test.JSON

CLI 版本历史记录

查找 "SchematicsCLI 插件各版本的更改摘要。 确保更新 CLI,以便使用所有可用命令及其选项。

命令行版本历史
版本 发布日期 更改
1.12.26 2025 年 4 月 7 日 Schematics CLI 插件增强了 ibmcloud diagrams 破坏 预览,更新了一个管道基础映像,已修复 nil pointer exceptionibmcloud diagrams action createibmcloud diagrams action updateibmcloud diagrams action get 操作中。
1.12.25 2025年1月10日 Schematics CLI插件支持 ibmcloud原理图工作区更新变量 CLI命令,仅更新现有工作区所需的输入变量。 它还增强 了ibmcloud原理图销毁 命令,并添加了预览功能,可列出所有作业资源并确认。 IBM Cloud Schematics bplong_notm}}工作区 、操作代理 获取命令,提取加密CRN和加密状态,例如 IBM DefaultBYOKKYOK 的详细信息。
1.12.24 2024 年 7 月 8 日 SchematicsCLI 插件修复了对通过 "ca-tor 区域定位多伦多端点的支持。
1.12.23 2024 年 6 月 11 日 SchematicsCLI 插件增强了在“应用 IBM 云工作空间 和”IBM 云工作空间计划 命令中使用“--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 标记。 Also fixed the CLI v1.12.20 deprecation bug in the ibmcloud schematics workspace refresh or plan CLI commands.
1.12.20 2024 年 3 月 25 日 SchematicsCLI 插件支持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 应用程序接口。
1.12.12 2023 年 9 月 17 日 Schematics 代理创建和更新时添加了 new flag --metadata 和一个 Bug 修复,以配置 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 日 在发布的Schematics v1.12.2插件中加入了 "--output 标记和命令的错误修正。
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 日 Support for stop, force-stop, and terminate in Schematics from command-line.
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 日 执行命令后显示 Terraformv11.0过时信息。 修复命令行别名。 删除重复字符串的外观。 在日志文件中支持全局时间。
1.6.2 2021 年 12 月 2 日 支持非英语翻译。 修复应用命令“--var-file 和操作”--target not setting 参数。 修复管道漏洞
1.6.1 2021 年 10 月 21 日 支持Schematics操作的 "winrm。 Added the --inventory-connection-type, --bastion-credential-json and --credential-json option value to the create and config updates. 更新了命令行的非英语翻译。 Fixed duplication display of command-object argument in ibmcloud schematics jobs run interactive mode.
1.6.0 2021 年 9 月 29 日 支持“linux-ppc64le 和”linux-s390x 二进制文件。 在详细信息面板中列出 "Terraform v1.0。 在Schematics工作区页面中显示 "Terraform v0.11 报废信息。 修正了资源查询列表命令返回值为空字符串的问题。
1.5.12 2021 年 9 月 02 日 忽略 "--output json 标志的状态信息。
1.5.11 2021 年 8 月 27 日 为现有的工作区更新命令添加了标记 "--pull-latest。 修复了 "BNPP 问题。 修复了语言翻译。
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 月 04 日 增强了“ibmcloud schematics state list 命令,可显示为表格数据,并新增一列”taint 状态。 Fixed ibmcloud schematics job run command with --input flag description. Fixed ibmcloud schematics job run command with --output json flag description. Fixed ibmcloud schematics action update command with --credentials flag and the locale translations.
1.5.6 2021 年 6 月 3 日 更新了“ibmcloud schematics workspace new 命令,以支持”Terraform v0.14 和本地语言翻译。