华为云用户手册

  • 请求示例 https://{endpoint}/v2/89931e210b214b5892ea833712f0f5e0/tasks/metrics/success-rate { "start_date" : "2022-01-01", "end_date" : "2022-10-26", "task_ids" : [ "5bf0a54f36b04ddda7b94470fee39307", "b6d20b703ffe4a04bc68790ddabf6ab7" ] }
  • 响应示例 状态码: 200 OK 请求响应成功 { "project_id" : "89931e210b214b5892ea833712f0f5e0", "project_name" : "Happy", "start_date" : "2022-01-01", "end_date" : "2022-10-26", "tasks_success_rate" : [ { "task_id" : "5bf0a54f36b04ddda7b94470fee39307", "task_name" : "happy482URL健康测试", "success_rate" : "0", "record_count" : 8, "success_record_count" : 0 }, { "task_id" : "b6d20b703ffe4a04bc68790ddabf6ab7", "task_name" : "happy486启动停止Tomcat", "success_rate" : "14.29", "record_count" : 14, "success_record_count" : 2 } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 project_id String 项目id,获取方式请参见获取项目id。 project_name String 项目名称 start_date String 部署应用开始时间范围的左边界(包含),格式yyyy-MM-dd end_date String 部署应用开始时间范围的右边界(包含),格式yyyy-MM-dd。最大时间范围为1年。 tasks_success_rate Array of TaskSuccessRate objects 应用的成功率列表 表4 TaskSuccessRate 参数 参数类型 描述 task_id String 任务id task_name String 应用名称 success_rate String 成功率 record_count Integer 部署记录数 success_record_count Integer 成功的部署记录数
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : { "id" : "20168cbc8504479d84f118ae72f87763", "name" : "test_app", "region" : "cn-north-7", "arrange_infos" : [ { "id" : "5d55203938db46939cd41a66ef2c4a52" } ] }, "status" : "success" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 参数解释: 请求成功失败状态。 取值范围: success: 成功 error: 失败 result AppBaseResponse object 参数解释: 创建和删除应用响应体。 表4 AppBaseResponse 参数 参数类型 描述 id String 参数解释: 应用id。 取值范围: 由英文字母、数字组成,且长度为32个字符。 name String 参数解释: 应用名称。 取值范围: 由中文字符、英文字母、数字及“_”、“-”组成,且长度为[3-128]个字符。 region String 参数解释: 应用所属区域。 取值范围: 不涉及。 arrange_infos Array of TaskBaseBody objects 参数解释: 部署任务列表。 表5 TaskBaseBody 参数 参数类型 描述 id String 参数解释: 部署任务id。 取值范围: 由英文字母、数字组成,且长度为32个字符。
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : [ { "id" : "cb439d016d8641c8a44c177a121fad15", "name" : "Test", "duration" : "00:00:17", "is_disable" : true, "project_id" : "1ff8aa6dda4643bd9cbdbb588fb24bde", "project_name" : "项目1", "is_care" : false, "can_modify" : true, "can_delete" : true, "can_view" : true, "can_execute" : true, "can_copy" : true, "can_manage" : false, "can_create_env" : false, "can_disable" : false, "create_user_id" : "04ec4661a8df4359b50980a9c958c86d", "create_tenant_id" : "208fbb09068e4820b9209ef9ff4da73d", "create_time" : "2023-07-05 20:34:40.0", "update_time" : "2023-08-02 14:20:30.0", "execution_time" : "2023-08-18 09:40:16", "end_time" : "2023-08-18 09:40:33", "execution_state" : "failed", "release_id" : 4, "executor_id" : "6baa7454109d47c192f22078fe6cda20", "executor_nick_name" : "测试账号", "arrange_infos" : [ { "id" : "e700f15965694253940502911220d76b", "state" : "failed", "deploy_system" : "deployTemplate" } ] } ], "total_num" : 1 }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表2 请求Body参数 参数 是否必选 参数类型 描述 project_id 是 String 参数解释: 项目id,获取方式请参见获取项目id。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 page 是 Integer 参数解释: 分页页码,表示从此页开始查询。 约束限制: 不涉及。 取值范围: 1-99999 默认取值: 不涉及。 size 是 Integer 参数解释: 每页显示的条目数量。 约束限制: 不涉及。 取值范围: 1-100 默认取值: 不涉及。 sort_name 否 String 参数解释: 排序字段的名称。 约束限制: 不涉及。 取值范围: name: 应用名称 startTime: 开始时间 默认取值: 不涉及。 sort_by 否 String 参数解释: 排序顺序。 约束限制: 不涉及。 取值范围: ASC: 正序 asc: 正序 DESC: 逆序 desc: 逆序 默认取值: 不涉及。 states 否 Array of strings 参数解释: 应用状态列表。 约束限制: 不涉及。 取值范围: abort: 部署中止 failed: 部署失败 not_started: 取消执行 pending: 排队中 running: 正在部署 succeeded: 部署成功 timeout: 部署超时 not_executed: 未执行 默认取值: 不涉及。 group_id 否 String 参数解释: 应用的分组id,传入no_grouped为查询未分组的应用。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符 或者 no_grouped。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_num Integer 参数解释: 应用总数。 取值范围: 不涉及。 result Array of AppExecutionInfo objects 参数解释: 应用列表数组。 表4 AppExecutionInfo 参数 参数类型 描述 id String 参数解释: 应用id。 取值范围: 由英文字母、数字组成,且长度为32个字符。 name String 参数解释: 应用名称。 取值范围: 由中文字符、英文字母、数字及“_”、“-”组成,且长度为[3-128]个字符。 duration String 参数解释: 部署时间。 取值范围: 不涉及。 is_disable Boolean 参数解释: 当前应用是否被禁用。 取值范围: true: 被禁用 false: 未被禁用 project_id String 参数解释: 项目id。 取值范围: 由英文字母、数字组成,且长度为32个字符。 project_name String 参数解释: 项目名称。 取值范围: 长度为[3,128]个字符。 is_care Boolean 参数解释: 当前用户是否已收藏。 取值范围: true: 已收藏 false: 未收藏 can_modify Boolean 参数解释: 是否有编辑权限。 取值范围: true: 有权限 false: 无权限 can_delete Boolean 参数解释: 是否有删除的权限。 取值范围: true: 有权限 false: 无权限 can_view Boolean 参数解释: 是否有查看权限。 取值范围: true: 有权限 false: 无权限 can_execute Boolean 参数解释: 是否有部署权限。 取值范围: true: 有权限 false: 无权限 can_copy Boolean 参数解释: 是否有复制权限。 取值范围: true: 有权限 false: 无权限 can_manage Boolean 参数解释: 是否有编辑应用权限矩阵的权限。 取值范围: true: 有权限 false: 无权限 can_create_env Boolean 参数解释: 是否有创建环境的权限。 取值范围: true: 有权限 false: 无权限 can_disable Boolean 参数解释: 是否有禁用应用的权限。 取值范围: true: 有权限 false: 无权限 deploy_system String 参数解释: 部署类型模式。 取值范围: deployTemplate: 部署模板 create_user_id String 参数解释: 应用创建者用户id。 取值范围: 由英文字母、数字组成,且长度为[1,32]个字符。 create_tenant_id String 参数解释: 应用创建者租户id。 取值范围: 由英文字母、数字组成,且长度为[1,32]个字符。 create_time String 参数解释: 创建时间。格式为yyyy-MM-dd HH:mm:ss。例如:2021-02-25 10:37:27。 取值范围: 不涉及。 update_time String 参数解释: 修改时间。格式为yyyy-MM-dd HH:mm:ss。例如:2021-02-25 10:37:27。 取值范围: 不涉及。 execution_time String 参数解释: 最后一次部署时间。格式为yyyy-MM-dd HH:mm:ss。例如:2021-02-25 10:37:27。 取值范围: 不涉及。 end_time String 参数解释: 部署结束时间。格式为yyyy-MM-dd HH:mm:ss。例如:2021-02-25 10:37:27。 取值范围: 不涉及。 execution_state String 参数解释: 部署状态。 取值范围: 不涉及。 release_id Integer 参数解释: 部署记录序列号。 取值范围: 不涉及。 executor_id String 参数解释: 部署者id。 取值范围: 由英文字母、数字组成,且长度为[1,32]个字符。 executor_nick_name String 参数解释: 部署者昵称。 取值范围: 不涉及。 arrange_infos Array of TaskBaseResponseBody objects 参数解释: 部署任务信息。 表5 TaskBaseResponseBody 参数 参数类型 描述 id String 参数解释: 部署任务id。 取值范围: 由英文字母、数字组成,且长度为32个字符。 state String 参数解释: 部署任务状态。 取值范围: Available: 可执行状态 Draft: 草稿状态 deploy_system String 参数解释: 部署类型模式。 取值范围: deployTemplate: 部署模板
  • URI GET /v2/history/tasks/{task_id}/params 表1 路径参数 参数 是否必选 参数类型 描述 task_id 是 String 参数解释: 部署任务id。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 表2 Query参数 参数 是否必选 参数类型 描述 record_id 否 String 参数解释: 执行记录id。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 [数组元素] Array of ConfigInfo objects 查询部署记录执行参数返回体 表5 ConfigInfo 参数 参数类型 描述 name String 参数解释: 参数名。 取值范围: 不涉及。 type String 参数解释: 参数类型。 取值范围: 不涉及。 value String 参数解释: 参数值。 取值范围: 不涉及。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 result Array of AppDeleteResult objects 批量删除应用结果 total_num Integer 批量删除应用总数 表4 AppDeleteResult 参数 参数类型 描述 application_id String 应用id application_name String 应用名称 status String 删除是否成功 success | error error_reason String 删除失败原因
  • 请求示例 https://{endpoint}/v2/applications/batch-delete { "application_ids" : [ "eac65c10c5c34df1824af96ec93a9eea", "3ba2ad194ff141e39b1d3d0749242858" ], "project_id" : "0a38ce9ba3c740c199a0f872b6163661" }
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : [ { "application_id" : "eac65c10c5c34df1824af96ec93a9eea", "application_name" : "应用名称1", "error_reason" : "", "status" : "success" }, { "application_id" : "eac65c10c5c34df1824af96ec93a9eeb", "application_name" : "应用名称2", "error_reason" : "该用户没有权限", "status" : "error" } ], "total_num" : 2 }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表2 请求Body参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id application_ids 是 Array of strings 应用id列表
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : { "id" : "a21d1951433c47a9b72cb72933d27df8", "name" : "Test_Copy_92131", "region" : "cn-north-7", "is_disable" : false }, "status" : "success" }
  • 请求示例 https://{endpoint}/v1/projects/0a38ce9ba3c740c199a0f872b6163661/applications/groups/move { "application_ids" : [ "a958794f9f4f4a24a96950c9cb279a4d", "a958794f9f4f4a24a96950c9cb279a4f" ], "group_id" : "ec3ccc617cf3405b8a6236f26223112b" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 group_id 是 String 分组id application_ids 是 Array of strings 应用id列表
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result Array of MoveAppToGroupResult objects 移动应用至指定分组结果,仅返回移动失败的列表 status String 请求成功失败状态 表5 MoveAppToGroupResult 参数 参数类型 描述 code String 是否失败 application_id String 应用id application_name String 应用名称 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表2 请求Body参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id,获取方式请参见获取项目id。 project_name 是 String 项目名称 template_id 是 String 部署模板id task_name 是 String 应用名称 slave_cluster_id 否 String 自定义slave资源池id configs 否 Array of ConfigInfoDO objects 部署参数类 表3 ConfigInfoDO 参数 是否必选 参数类型 描述 name 否 String 部署参数名称,用户可自定义 type 否 String 类型,如果填写name字段,则type必选,若type为空则默认为text description 否 String 描述 value 否 String 部署参数值 task_id 否 String 部署任务id,创建应用后由系统自动生成 static_status 否 Integer 表示是否为静态参数,值为1时不支持部署时变更参数,值为0时支持,并且也会把该参数上报流水线 limits 否 Array of ParamTypeLimits objects 当参数类型为enum枚举类型时,必须填写可选值 表4 ParamTypeLimits 参数 是否必选 参数类型 描述 name 否 String 枚举值可选参数
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status String 请求成功失败状态 total Integer 总数量 result Array of EnvironmentBaseInfo objects 环境基本信息列表 表5 EnvironmentBaseInfo 参数 参数类型 描述 name String 环境名称 os String 操作系统:windows|linux uuid String 环境id group_id String 主机集群id host_count Integer 环境下主机数量
  • 响应示例 状态码: 200 OK 请求响应成功 { "status" : "success", "result" : [ { "name" : "新建环境测试权限", "os" : "linux", "uuid" : "c51d2173c541496c9561f77ccdacf13e", "group_id" : "c51d2173c541496c9561f77ccdacf13e", "host_count" : 0 } ], "total" : 1 }
  • URI GET /v1/applications/{application_id}/host-groups/base/infos 表1 路径参数 参数 是否必选 参数类型 描述 application_id 是 String 应用id 表2 Query参数 参数 是否必选 参数类型 描述 project_uuid 是 String 项目id os 否 String 操作系统:windows|linux page_index 否 Integer 分页页码 page_size 否 Integer 分页查询每页条数 name 否 String 按主机集群名称搜索关键字
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status String 请求成功失败状态 total Integer 总数量 result Array of EnvironmentHostInfo objects 环境下主机信息列表 表5 EnvironmentHostInfo 参数 参数类型 描述 host_id String 主机id ip String 主机ip,如:161.17.101.12 port Integer ssh端口,如:22 permission EnvironmentHostPermission object 环境权限详情 group_id String 主机集群id host_name String 主机名 as_proxy Boolean 是否为代理机 proxy_host_id String 代理机id proxy_host_name String 代理机名称 owner_id String 主机所属人id owner_name String 主机所属人名称 connection_status String 连通性状态 lastest_connection_time String 上次连通时间 connection_result String 连通性验证结果 nick_name String 创建人昵称 表6 EnvironmentHostPermission 参数 参数类型 描述 can_delete Boolean 是否有删除权限 can_deploy Boolean 是否有部署权限 can_edit Boolean 是否有编辑权限 can_manage Boolean 是否有权限管理权限 can_view Boolean 是否有查看权限
  • 响应示例 状态码: 200 OK 请求响应成功 { "status" : "success", "result" : [ { "ip" : "100.85.172.31", "port" : 22, "permission" : { "can_view" : true, "can_edit" : true, "can_delete" : true, "can_deploy" : true, "can_manage" : true }, "host_id" : "13c208e61c9541ab9895f450fd1cbf7c", "host_name" : "test", "as_proxy" : false, "group_id" : "2a8c2da888c04a5eaff10d0787c90ea4", "proxy_host_id" : "", "proxy_host_name" : null, "owner_id" : "6baa7454109d47c192f22078fe6cda20", "owner_name" : "devcloud_devcloud_l00490255_01", "nick_name" : "devcloud_devcloud_l00490255_01", "connection_status" : "failed", "connection_result" : "连接失败", "lastest_connection_time" : "2024-05-31 14:47:52" } ], "total" : 1 }
  • URI GET /v1/applications/{application_id}/environments/{environment_id}/hosts 表1 路径参数 参数 是否必选 参数类型 描述 application_id 是 String 应用id environment_id 是 String 环境id 表2 Query参数 参数 是否必选 参数类型 描述 key_field 否 String 主机名、ip关键字模糊搜索 as_proxy 否 Boolean 是否为代理机,true为代理机 page_index 否 Integer 分页页码 page_size 否 Integer 分页查询每页条数
  • 响应示例 状态码: 200 OK 请求响应成功 { "status" : "success", "total" : 1, "result" : [ { "name" : "testwyk", "description" : "11122211", "os" : "linux", "nick_name" : "AB边账号", "id" : "ab7647b0863c4e969c8949d38d591339", "project_id" : "6039d4480efc4dddb178abff98719913", "permission" : { "can_view" : true, "can_edit" : true, "can_delete" : true, "can_add_host" : true, "can_manage" : true, "can_copy" : true }, "host_count" : 1, "env_count" : 1, "is_proxy_mode" : 1, "slave_cluster_id" : "" } ] }
  • URI GET /v1/resources/host-groups 表1 Query参数 参数 是否必选 参数类型 描述 project_id 是 String 参数解释: 项目id,获取方式请参见获取项目id。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 name 否 String 参数解释: 主机集群名称中的关键字。 约束限制: 不涉及。 取值范围: 只能由中文字符、英文字母、数字及"-"、"_"、"."组成,且长度为[3-128]个字符。 默认取值: 不涉及。 os 否 String 参数解释: 主机集群的操作系统类型。 约束限制: 不涉及。 取值范围: windows:windows操作系统类型。 linux:linux操作系统类型。 默认取值: 不涉及。 page_index 否 Integer 参数解释: 分页查询页码数。 约束限制: 不涉及。 取值范围: 1-2147483647 默认取值: 1 page_size 否 Integer 参数解释: 分页查询每页显示的条目数量。 约束限制: 不涉及。 取值范围: 1-1000 默认取值: 1000 sort_field 否 String 参数解释: 查询排序字段。 约束限制: 不涉及。 取值范围: nick_name:用户昵称。 name:主机集群名称。 默认取值: 不涉及。 sort_type 否 String 参数解释: 排序方式。 约束限制: 不涉及。 取值范围: desc:降序排列。 asc:升序排列。 默认取值: desc is_proxy_mode 否 Integer 参数解释: 是否为代理模式主机集群。 约束限制: 不涉及。 取值范围: 0:非代理模式主机集群。 1:代理模式主机集群。 默认取值: 不涉及 slave_cluster_id 否 String 参数解释: 传default查询使用官方资源池主机集群列表,传自托管资源池id查询使用该自托管资源池的主机集群列表。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符,或传default查询使用官方资源池的主机集群列表。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 参数解释: 请求成功、失败状态。 取值范围: success:请求成功。 failed:请求失败。 total Integer 参数解释: 主机集群个数。 取值范围: 0-1000 result Array of HostClusterInfo objects 参数解释: 主机集群列表。 约束限制: 主机集群数量不超过1000。 表4 HostClusterInfo 参数 参数类型 描述 id String 参数解释: 主机集群id。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 host_count Integer 参数解释: 集群内主机数量。 取值范围: 0-200 name String 参数解释: 主机集群名称。 取值范围: 只能由中文字符、英文字母、数字及"-"、"_"、"."组成,且长度为[3-128]个字符。 project_id String 参数解释: 项目id,获取方式请参见获取项目id。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 os String 参数解释: 主机集群的操作系统类型。 取值范围: windows:windows操作系统类型。 linux:linux操作系统类型。 slave_cluster_id String 参数解释: 自托管资源池id。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 description String 参数解释: 主机集群描述信息。 取值范围: 字符串,长度为[0-500]个字符。 permission PermissionClusterDetail object 参数解释: 主机集群权限信息。 约束限制: 不涉及。 nick_name String 参数解释: 用户昵称。 取值范围: 字符串,长度为[1-30]个字符。 env_count Integer 参数解释: 主机集群关联环境数量。 取值范围: 0-200 is_proxy_mode Integer 参数解释: 是否为代理模式主机集群。 约束限制: 不涉及。 取值范围: 0:非代理模式主机集群。 1:代理模式主机集群。 默认取值: 不涉及 表5 PermissionClusterDetail 参数 参数类型 描述 can_view Boolean 参数解释: 是否有查看权限。 取值范围: true:有查看权限。 false:无查看权限。 can_edit Boolean 参数解释: 是否有编辑权限。 取值范围: true:有编辑权限。 false:无编辑权限。 can_delete Boolean 参数解释: 是否有删除权限。 取值范围: true:有删除权限。 false:无删除权限。 can_add_host Boolean 参数解释: 是否有添加主机权限。 取值范围: true:有添加主机权限。 false:无添加主机权限。 can_manage Boolean 参数解释: 是否有管理主机集群权限矩阵的权限。 取值范围: true:有管理主机集群权限矩阵的权限。 false:无管理主机集群权限矩阵的权限。 can_copy Boolean 参数解释: 是否有复制主机的权限。 取值范围: true:有复制主机的权限。 false:无复制主机的权限。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 as_proxy 否 Boolean 是否为代理主机 authorization 否 DeploymentHostAuthorizationBody object 登录主机鉴权,使用密码登录则填写密码即可,使用密钥则填写密钥,二选一即可。 host_name 是 String 主机名称 ip 是 String IPv4/IPv6格式的IP地址 port 是 Integer ssh端口,如:22 proxy_host_id 否 String 代理主机id sync 否 Boolean 是否同步主机信息 install_icagent 否 Boolean 是否安装icAgent 表4 DeploymentHostAuthorizationBody 参数 是否必选 参数类型 描述 username 是 String 用户名,可输入中英文,数字和符号(-_.)。 password 否 String 密码,认证类型为0时,密码必填。 private_key 否 String 密钥,认证类型为1时,密钥必填 trusted_type 是 Integer 认证类型,0表示使用密码认证,1表示使用密钥认证
  • 请求示例 https://{endpoint}/v1/resources/host-groups/6bec5f67ab9b4c34a21c7ffe0b0191c8/hosts/a94facdc4b1e40d799dbe6de91167072 { "as_proxy" : false, "host_name" : "hostName", "install_icagent" : true, "ip" : "100.101.28.215", "port" : 22, "proxy_host_id" : "", "authorization" : { "username" : "root", "password" : "*****", "private_key" : "", "trusted_type" : 0 } }
共100000条