CLI 模式 linux_command_line 类似于传统的 Linux 命令行程序,允许用户与 CLI 进行交互,其中所有参数都以 --parameter value 格式显示。对象的多行配置采用 Bash Heredoc 样式。

出于以下考量,引入了 CLI 增强功能:

  • 使用 CLI 轻松实现自动化

  • 使用 CLI 在配置中搜索特定关键字

  • 通过快速剪切和粘贴,修改或解决 CLI 的一些问题

linux_command_line 模式下,整个对象以 --parameter value 格式显示,其中每个参数代表对象中的一个字段,参数以完全限定路径形式指定。例如:

池中服务器的 IP 地址指定为 --servers.index.ip。这相当于将此属性指示为 pool['servers'][index]['ip']。

terminal mode linux_command_line
terminal --linux_cmd_output single_line
show pool p2
--uuid pool-b0cb56dc-cc24-4b87-9d19-7bf790d2e582 --default_server_port 80 --graceful_disable_timeout 1 --connection_ramp_duration 10 --max_concurrent_connections_per_server 0 --servers.1.ip 1.1.1.1 --servers.1.hostname 1.1.1.1 --servers.1.enabled True --servers.1.ratio 1 --servers.1.verify_network False --servers.1.resolve_server_by_dns False --servers.1.static False --servers.1.rewrite_host_header False --servers.2.ip 2.2.2.2 --servers.2.hostname 2.2.2.2 --servers.2.enabled True --servers.2.ratio 1 --servers.2.verify_network False --servers.2.resolve_server_by_dns False --servers.2.static False --servers.2.rewrite_host_header False --servers.3.ip 3.3.3.3 --servers.3.hostname 3.3.3.3 --servers.3.enabled True --servers.3.ratio 1 --servers.3.verify_network False --servers.3.resolve_server_by_dns False --servers.3.static False --servers.3.rewrite_host_header False --server_count 3 --lb_algorithm lb_algorithm_least_connections --inline_health_monitor True --use_service_port False --capacity_estimation False --server_auto_scale False --vrf_ref global --fewest_tasks_feedback_delay 10 --enabled True --request_queue_enabled False --request_queue_depth 128 --host_check_enabled False --sni_enabled True --rewrite_host_header_to_sni False --rewrite_host_header_to_server_name False --tenant_ref admin --cloud_ref Default-Cloud
注:

索引在 CLI 中以 1 开头,但会根据 API 交互转换为 0。

使用 Linux 命令行模式进行配置

configure pool p2 --uuid pool-7fce112f-c340-4c31-8c65-95e52f4b85ba --servers.1.ip 3.3.3.3 --servers.1.hostname 3.3.3.3 --servers.2.ip 2.2.2.2 --servers.2.hostname 2.2.2.2 --servers.3.ip 1.1.1.1 --servers.3.hostname 1.1.1.1 --servers.4.ip 4.4.4.4 --servers.4.hostname 4.4.4.4 --server_count 4 --tenant_ref admin
Updating an existing object.
p2 --uuid pool-7fce112f-c340-4c31-8c65-95e52f4b85ba --servers.1.ip 3.3.3.3 --servers.1.hostname 3.3.3.3 --servers.2.ip 2.2.2.2 --servers.2.hostname 2.2.2.2 --servers.3.ip 1.1.1.1 --servers.3.hostname 1.1.1.1 --servers.4.ip 4.4.4.4 --servers.4.hostname 4.4.4.4 --server_count 4 --tenant_ref admin

某些对象相对较大,因此如果在与 CLI 进行交互时在一行中指定所有这些参数,会显得非常繁杂。要解决此问题,请使用 CLI 设置 multi_line 来更改 Linux 命令输出。这会使 CLI 交互变为一行一个参数。

请参考下面提供的示例:

terminal --linux_cmd_output multi_line

show pool p2
--uuid pool-7fce112f-c340-4c31-8c65-95e52f4b85ba
--servers.1.ip 3.3.3.3
--servers.1.hostname 3.3.3.3
--servers.2.ip 2.2.2.2
--servers.2.hostname 2.2.2.2
--servers.3.ip 1.1.1.1
--servers.3.hostname 1.1.1.1
--server_count 3
--tenant_ref admin

configure pool p2 << END
--uuid pool-7fce112f-c340-4c31-8c65-95e52f4b85ba
--servers.1.ip 3.3.3.3
--servers.1.hostname 3.3.3.3
--servers.2.ip 2.2.2.2
--servers.2.hostname 2.2.2.2
--servers.3.ip 1.1.1.1
--servers.3.hostname 1.1.1.1
--servers.4.ip 4.4.4.4
--servers.4.hostname 4.4.4.4
--tenant_ref admin
END

Updating an existing object.
--uuid pool-7fce112f-c340-4c31-8c65-95e52f4b85ba
--servers.1.ip 3.3.3.3
--servers.1.hostname 3.3.3.3
--servers.2.ip 2.2.2.2
--servers.2.hostname 2.2.2.2
--servers.3.ip 1.1.1.1
--servers.3.hostname 1.1.1.1
--servers.4.ip 4.4.4.4
--servers.4.hostname 4.4.4.4
--server_count 4
--tenant_ref admin