• [低码编排] 【服务构建器系列课程】如何通过服务构建器实现云内外协同
    【服务构建器系列课程】如何通过服务构建器实现云内外协同   ~~~视频课程敬请期待~~~ 
  • [低码编排] 【服务构建器系列课程】如何通过服务构建器将零散的IT能力标准化-高阶能力
    【服务构建器系列课程】如何通过服务构建器将零散的IT能力标准化-高阶能力    ~~~视频课程敬请期待~~~  
  • [低码编排] 【服务构建器系列课程】如何通过服务构建器将零散的IT能力标准化-基础能力
    【服务构建器系列课程】如何通过服务构建器将零散的IT能力标准化-基础能力    ~~~视频课程敬请期待~~~
  • [低码编排] 【服务构建器系列课程】手把手教你重编一个弹性云服务器
    【服务构建器系列课程】手把手教你重编一个弹性云服务器   ~~~视频课程敬请期待~~~  
  • [低码编排] 【服务构建器系列课程】服务构建器基础入门
    【服务构建器系列课程】服务构建器基础入门   ~~~视频课程敬请期待~~~
  • [集成开发] 【ManageOne运营侧】代维管理
    1 场景说明本贴所写指导适用于华为云Stack ManageOne 6.5.x、8.x版本。从ManageOne的租户模型中,我们了解到一级VDC管理员只能管理其所在的VDC,不能跨VDC管理,如果现网项目中有多个一级VDC,就需要第三方系统保存多个一级VDC管理员账号,存在安全风险且维护困难;此时,可以通过代维管理员,将多个一级VDC加入到指定的代维管理员的代维租户列表,这样第三方系统就可以使用一个账号管理多个一级VDC了;代维管理员实际上是通过置换token的方式,获得对一级VDC的管理权限,一旦代维管理员获得了对一级VDC管理权限,就如同一级VDC管理员一样,可以对一级VDC内的子级VDC、project、用户进行管理,也可以在指定的project中申请资源;若使用代维管理员账号在指定VDC中申请云资源,会占用指定VDC的资源配额;若使用代维管理员账号在指定VDC中删除云资源,会释放指定VDC中占用的资源配额。本帖主要给出如何使用代维管理员账号获得指定VDC、project的管理权限(即指定VDC、project的token),对VDC、project、用户和云资源的管理2 准备工作2.1获取调用接口的IP和域名参考帖子:cid:link_0,获取APIGateway的浮动IP,IAM对外访问域名和运营面对外访问域名。2.2 获取运营管理员账号请联系项目中的华为服务工程师,获取ManageOne运营管理员账号密码。2.3 创建代维管理员(已创建可跳过)6.5.1版本参考如下步骤创建代维管理员:步骤1 使用运营管理员登录ManageOne运营面,依次点击“租户”-->“租户代维”,打开代维租户管理界面,点击“创建代维管理员”,如下图所示:步骤2 在创建代维管理员界面,填写用户名,密码,然后选择需要代维的租户列表,并点击“创建”,如下图所示:8.0版本,请参考如下步骤创建代维管理员步骤1 使用运营管理员登录ManageOne运营面,依次点击“系统”-->“权限管理”-->"用户",打开用户管理界面,点击“创建用户”,如下图所示:步骤2 在创建用户界面中,选择“代维”,填写用户名,密码,然后选择需要代维的租户列表,并点击“创建”,如下图所示:3 接口调用步骤代维管理员置换指定租户、project下的token流程如下:步骤1 获取代维管理员的租户名使用代维管理员用户登录ManageOne运营面,进入“选择代维租户和资源集”页面后,按“F12”(以Chrome浏览器为例),选择“网络”页签,然后刷新页面,在控制台获取到的链接列表中,找到“me”,然后在右侧“预览”页签中,找到“domainName”即代为管理员的租户名。(注:此租户名通常为“audn_”开头,与代维用户代管的租户名不相同)。步骤2 获取代维管理员token接口URI:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Content-Type:application/json;charset=UTF-8Accept:application/json; charset=UTF-8请求体:{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "domain": { "name": "audn_1f7af046-6567-4ec6-93a3-470" }, "name": "XXXXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "audn_1f7af046-6567-4ec6-93a3-470" } } }}这里domain name的值为代维管理员所属的domain的名称,由步骤1获得name和password分别为代维管理员的用户名和密码响应头(Header)示例:Transfer-Encoding →chunked Connection →keep-alive X-Subject-Token →MIIEJSDVVDFASKoZIhvXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcNAQcCZzTOuAZ8这里我们从响应头中获得了代维管理员的token(X-Subject-Token)。响应体(Body)示例:{    "token": {        "expires_at": "2022-06-24T02:49:18.402000Z",        "methods": [            "password"        ],        "catalog": [],        "domain": {            "name": "audn_1f7af046-6567-4ec6-93a3-470",            "id": "095543b046514bdbab988d4ad3089a28"        },        "roles": [            {                "name": "te_admin",                "id": "985dc76053f94685a15eafc3cd9f5da2"            },            {                "name": "mo_agency",                "id": "8299bcd6d9464c55a6bf963f0d8e678c"            },            {                "name": "te_agency",                "id": "fc85d26a9db847f293265c8c46e19a2c"            },            {                "name": "secu_admin",                "id": "d9920b033be744f1996d1e84281c94e8"            },            {                "name": "vdc_adm",                "id": "4d0cd24102504767b33fd55d915c55e8"            }        ],        "issued_at": "2022-06-23T02:49:18.402000Z",        "user": {            "domain": {                "name": "audn_1f7af046-6567-4ec6-93a3-470",                "id": "095543b046514bdbab988d4ad3089a28"            },            "name": "hzp_dw",            "id": "ef5dbdcce2a047bb8b10fb69507a5bd1"        }    }}取响应体中的token.user.id为代为管理员的用户id,此环境为ef5dbdcce2a047bb8b10fb69507a5bd1。步骤3 查询代维管理员代维的租户列表这里我们查询代维管理员详情,获得该代维管理员代维的租户列表,为后续置换token做准备。接口URI:https://{运营侧北向接口对外域名}/rest/vdc/v3.0/agencies/users/{agency_user_id}(此处agency_user_id为步骤2中获得的代维管理员的用户ID)请求方法:GET请求头(这里的token为步骤1中获取的运营管理员token):Content-Type:application/json;charset=UTF-8Accept:application/json; charset=UTF-8X-Auth-Token:MIIEMQYJKoZIhvXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcNAQcCZzTOuXR9请求体:NULL响应体(示例):{    "limit_access": "false",    "lock_period": null,    "login_config": null,    "whiteList": [],    "user": {        "resource_tenant_id": "",        "level": null,        "roles": [            {                "id": "00000000-0000-0000-0000-000000000004",                "name": "agencyManager",                "display_name": "Agency Admin",                "user_role_type": null,                "description": "role_role_view_para_desc_content_agencyMananger_value"            }        ],        "trust_vdc_list": [            {                "name": "hzp_vdc",                "id": "16ea1a6e341d44e385fb3cb077c3b63f",                "description": "",                "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",                "domain_name": "hzp_vdc",                "agency_name": "aN_101e3806-761e-4264-ad60-cfca0",                "agency_id": "3d65090751424616b93ded9068394e8c"            },            {                "name": "hzp_vdc_2",                "id": "3dd28cba7a28416cbab8b62bfe0f9e02",                "description": "",                "domain_id": "3dd28cba7a28416cbab8b62bfe0f9e02",                "domain_name": "hzp_vdc_2",                "agency_name": "aN_5a1067a9-f94d-4bcf-a8be-f9693",                "agency_id": "c31134a891bd45feb97861c5d732d1e7"            }        ],        "description": "",        "areacode": null,        "createAt": null,        "enabled": "true",        "vdc_id": null,        "domain_id": "095543b046514bdbab988d4ad3089a28",        "domain_name": "audn_1f7af046-6567-4ec6-93a3-470",        "user_type": "0",        "display_name": null,        "phone": "",        "name": "hzp_dw",        "id": "ef5dbdcce2a047bb8b10fb69507a5bd1",        "email": ""    }}trust_vdc_list中所列出的清单即为该代维管理员所代维的租户列表,这里我们需要获取被代维的租户的名称(trust_vdc_list中name的值),租户的ID(trust_vdc_list中domain_id的值)和代维名称(trust_vdc_list中agency_name的值),为后续置换token做准备。 步骤4 查询指定租户中的project列表(可选)若您不需要拥有指定的project中资源的管理权限,这一步可以跳过。接口URI:https://{运营侧北向接口对外域名}/rest/vdc/v3.1/agencies/projects?domain_id={domain_id}(domain_id为被代维的租户的domain ID,由步骤3获取trust_vdc_list中domain_id的值)这里需要使用代维管理员的token,由步骤4获取请求方法:GET请求头:Content-Type:application/json;charset=UTF-8Accept:application/json; charset=UTF-8X-Auth-Token:MIIEJSDVVDFASKoZIhvXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcNAQcCZzTOuAZ8请求体:NULL响应体(示例):{    "total": 3,    "projects": [        {            "id": "6934bce513274fd9b20955c3db9728f0",            "name": "solution-advance-1_hzp_project",            "description": "",            "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",            "enabled": true,            "tenant_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",            "is_shared": false,            "tenant_name": "hzp_vdc",            "create_user_name": "bss_admin",            "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed",            "regions": [                {                    "region_id": "solution-advance-1",                    "region_name": {                        "zh_cn": "东莞",                        "en_us": "东莞"                    },                    "region_status": "normal"                }            ]        },        {            "id": "630b7dd529344d56bf38c0a6ecab4fc6",            "name": "solution-advance-1_hzp_project2",            "description": "",            "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",            "enabled": true,            "tenant_id": "bf588c5a-8d05-49bd-a93d-e937286893e5",            "is_shared": false,            "tenant_name": "hzp_vdc2",            "create_user_name": "hzp_admin",            "create_user_id": "d0cc23141778469f82854c5269d3d9ee",            "regions": [                {                    "region_id": "solution-advance-1",                    "region_name": {                        "zh_cn": "东莞",                        "en_us": "东莞"                    },                    "region_status": "normal"                }            ]        },        {            "id": "51792d0ec2624c98b316fde97956531e",            "name": "solution-advance-2_hzp_project",            "description": "",            "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",            "enabled": true,            "tenant_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",            "is_shared": false,            "tenant_name": "hzp_vdc",            "create_user_name": "bss_admin",            "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed",            "regions": [                {                    "region_id": "solution-advance-2",                    "region_name": {                        "zh_cn": "华南",                        "en_us": "华南"                    },                    "region_status": "normal"                }            ]        }    ]} 此处我们获得了指定租户下的project列表,我们需要取到project的ID步骤5 获取代维管理员在指定租户、指定project中的token获取代维管理员在指定租户中的token,我们需要用到步骤4中获得的代为管理员的token,步骤3中获得的被代维租户的租户名和代维名称。请求URL: https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头(请求头中token为步骤4中获得的代维管理员token):Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:MIIEJSDVVDFASKoZIhvXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcNAQcCZzTOuAZ8请求体样例1(指定租户、指定projet):{    "auth": {        "identity": {            "methods": ["assume_role"],            "assume_role": {                "domain_name": "hzp_vdc",               "xrole_name": "aN_101e3806-761e-4264-ad60-cfca0"            }        },        "scope": {            "project": {                "domain": {                    "name": "hzp_vdc"                    },               "name": "solution-advance-1_hzp_project"            }        }    }}使用此请求体置换得到的token,可以对指定的租户中的VDC、用户和project进行管理,还可以管理指定的project中的资源(scope中指定的project)。请求体样例2(指定租户,不指定project):{ "auth": { "identity": { "methods": ["assume_role"], "assume_role": { "domain_name": "hzp_vdc", "xrole_name": "aN_101e3806-761e-4264-ad60-cfca0", "restrict": { "roles": ["secu_admin", "te_admin", "vdc_owner", "vdc_adm", "tag_adm"] } } }, "scope": {   "domain": { "name": "hzp_vdc" } } }}使用此请求体置换得到的token,可以对指定的租户中的VDC、用户和project进行管理,不能管理资源。请求体中参数说明如下:methods:获取token的方法,此处我们采用置换token方式,故而取值为:assume_roledomain_name:被代维的租户的租户名,从步骤3获取的trust_vdc_list中name的值xrole_name:代为管理员在指定租户中的代维名称,从步骤3获取的trust_vdc_list中agency_name的值restrict:置换所得的token所拥有的权限,参考样例填写即可scope中的project.domain.name:与domain_name取值相同scope中的project.id:需要代维的project的ID,由步骤4的响应体中获取响应头示例:Content-Type →application/json; charset=utf-8 Transfer-Encoding →chunked Connection →keep-alive X-Subject-Token →MIIFCAYJKoZIhvcNAQcCoIIE+TCCBPUXXXXXgSe63UKRXxi5AxhHv-0U=从响应头中,我们获得了置换的token。如果需要在不同的project中管理资源,需要再次置换token,获得目标project的权限 
  • [集成开发] 【ManageOne运营侧】查询资源集
    1 VDC模型介绍请参考此链接:cid:link_02 约束条件本文适用于ManageOne 6.5.0及以上版本。3 场景说明本文档用于指导开发者获取租户和用户信息,便于第三方系统同步ManageOne的组织架构以及用户信息(如用户名、电话、email等)。4 租户信息同步目录:4.1 准备工作 4.2 获取管理员token 4.3 Project(资源集/项目) 1. 查询VDC关联的Project 2. 查询用户关联的Project4.1 准备工作正式对接前,请参考如下步骤,获取对应的IP、用户:参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html联系项目中,华为交付工程师,获取运营管理员账号、密码,或使用已创建的VDC管理员账号。运营管理员可管理所有租户,VDC管理员可管理本级和子级VDC。4.2 获取管理员token请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:(注:运营管理员的domain name固定为mo_bss_admin,VDC管理员的domain name为租户名。){ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token 4.3 Project(资源集/项目)1. 查询VDC关联的ProjectURLGET https://{SC北向接口域名}/rest/vdc/v3.1/vdcs/{vdc_id}/projects?start=0&limit=100其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-100之间,默认值为10。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询指定VDC中资源集集合“接口。)参数类型描述inheritboolean是否查询VDC下所有可见VDC关联的资源集。默认值:falsenamestring模糊搜索所使用的名称字段,长度在1-64之间。sort_dirstring排序方向,取值范围asc,desc。默认值:asc请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "total": 1,    "projects": [       {            "id": "6aa4d449d6fe4ea68c7cacb1a9803959",            "name": "cn-global-205_hzp_project",            "description": "",            "domain_id": "e1fcb3ba48a64cb2acb5894bcd6d892d",            "enabled": true,            "tenant_id": "d8e2a487-843b-4309-9d14-e845f593411f",            "is_shared": false,            "tenant_name": "hzp_vdc",            "create_user_id": "b9fd4029af7a4b71a085048b9bbe9072",            "create_user_name": "bss_admin",            "regions": [               {                    "region_id": "cn-global-205",                    "region_name": {                        "zh_cn": "西安",                        "en_us": "西安"                   },                    "region_type": null,                    "region_status": "normal"               }           ]       }   ]}其中,id为project Id,name为project名称,domain_id为project所在的租户Id,tenant_id为project所属的VDC Id;tenant_name为project所属的VDC名称;description为project描述;regions为project关联的region信息。2. 查询用户关联的ProjectURLGET https://{SC北向接口域名}/rest/vdc/v3.1/users/{user_id}/projects?start=0&limit=100其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-100之间,默认值为10。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询指定VDC中资源集集合“接口。)参数类型描述inheritboolean是否查询VDC下所有可见VDC关联的资源集。默认值:falsenamestring模糊搜索所使用的名称字段,长度在1-64之间。sort_dirstring排序方向,取值范围asc,desc。默认值:asc请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "total": 1,    "projects": [       {            "regions": [               {                    "region_id": "cn-global-205",                    "region_status": "normal",                    "region_name": {                        "zh_cn": "西安",                        "en_us": "西安"                   }               }           ],            "id": "6aa4d449d6fe4ea68c7cacb1a9803959",            "name": "cn-global-205_hzp_project",            "iam_project_name": "cn-global-205_hzp_project",            "display_name": "cn-global-205_hzp_project",            "description": "",            "enabled": true,            "domain_id": "e1fcb3ba48a64cb2acb5894bcd6d892d",            "tenant_id": "d8e2a487-843b-4309-9d14-e845f593411f",            "tenant_name": "hzp_vdc",            "level": "1",            "role_id": null,            "role_name": null,            "is_shared": "false"       }   ]}其中,id为project Id,name为project名称,domain_id为project所在的租户Id,tenant_id为project所属的VDC Id;tenant_name为project所属的VDC名称;description为project描述;regions为project关联的region信息。
  • [集成开发] 【ManageOne运营侧】用户查询
    1 VDC模型介绍请参考此链接:cid:link_02 约束条件本文适用于ManageOne 6.5.0及以上版本。3 场景说明本文档用于指导开发者获取租户和用户信息,便于第三方系统同步ManageOne的组织架构以及用户信息(如用户名、电话、email等)。4 租户信息同步目录:4.1 准备工作 4.2 获取管理员token 4.3 用户 1. 查询用户列表 2. 查询用户详情  4.1 准备工作正式对接前,请参考如下步骤,获取对应的IP、用户:参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html联系项目中,华为交付工程师,获取运营管理员账号、密码,或使用已创建的VDC管理员账号。运营管理员可管理所有租户,VDC管理员可管理本级和子级VDC。4.2 获取管理员token请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:(注:运营管理员的domain name固定为mo_bss_admin,VDC管理员的domain name为租户名。){ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token 4.3 用户1. 查询用户列表接口约束:运营管理员token可查询全量用户。VDC管理员仅可查询本VDC以及子级VDC的用户。URLGET https://{SC北向接口域名}/rest/vdc/v3.0/users?limit=100&start=0URL常用参数:(完整参数请参考《ManageOne 运营面API参考》)start:分页查询的起始位置,最小值:0 ,最大值:2147483647 ,默认值:0。可选。limit:限制每页显示的条目数量,最小值:1,最大值:100 ,默认值:10。可选。tenant_id:用户归属的VDC ID。可选。name:按照名称或显示名字段模糊搜索。长度:1到128个字符。可选。exact:是否精确匹配,枚举值:true和false,默认值:false。可选。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "total": 1,    "users": [       {            "enabled": "true",            "description": "",            "email": "",            "areacode": "",            "phone": "",            "vdc_name": "hzp_vdc",            "resource_tenant_id": null,            "level": null,            "roles": [               {                    "id": "00000000-0000-0000-0000-000000000001",                    "name": "vdcServiceManager",                    "display_name": "VDC Admin",                    "user_role_type": "0"               }           ],            "display_name": "",            "vdc_id": "8c3e288e-49a5-4eab-90a0-47916dac8589",            "domain_id": "9b01faf18f454c59a6fd157f0c82e556",            "domain_name": "hzp_vdc",            "user_type": "0",            "name": "hzp_admin",            "login_at": "2022-04-18 01:24:27.0",            "id": "b7f8bc098f4f4891b93eeff5dcdfc6b5",            "create_at": "2022-02-23 06:55:53.0"       }   ]}其中,id为用户Id,name为用户名称,domain_id为租户Id,vdc_id为所属的VDC Id。2. 查询用户详情接口约束:运营管理员token可查询全量用户。VDC管理员仅可查询本VDC以及子级VDC的用户。URLGET https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}其中,user_id为用户id。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "limit_access": "false",    "lock_period": null,    "login_config": null,    "whiteList": null,    "user": {        "enabled": "true",        "description": "",        "email": "",        "areacode": null,        "phone": "",        "projects": [],        "ldap_id": null,        "level": "1",        "resource_tenant_id": null,        "roles": [           {                "id": "00000000-0000-0000-0000-000000000001",                "name": "vdcServiceManager",                "display_name": "VDC Admin",                "user_role_type": null,                "description": "role_role_view_para_desc_content_vdcServiceManager_value"           }       ],        "groups": [           {                "id": "8afb852688194e408f4edf4bf8c8a690",                "name": "SC_289yUXfSpzD",                "description": "",                "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",                "role_name": null,                "vdc_name": "SC_289OHFUVQdL",                "role_id": null,                "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444"           },           {                "id": "cdafab1cfe2e4c129d4878b13e171333",                "name": "admin_bc0366f0-3b60-486f-a88e-2a38266dd444",                "description": "Default VDC administrator group, having the permission to manage services in the VDC that the user group belongs to and its lower-level VDCs.",                "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",                "role_name": "vdcServiceManager",                "vdc_name": "SC_289OHFUVQdL",                "role_id": "00000000-0000-0000-0000-000000000001",                "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444"           }       ],        "display_name": null,        "second_verify": "false",        "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444",        "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",        "domain_name": "SC_289OHFUVQdL",        "user_type": "0",        "name": "SC_289yUXfSpzD",        "login_at": null,        "id": "b76fc5607bff4ec094891c930cf3b0de",        "tag": "vdc",        "top_vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444",        "ldap_name": null   },    "federation_regions": []}其中,id为用户Id,name为用户名称,domain_id为租户Id,vdc_id为所属的VDC Id。groups为用户绑定的用户组。 
  • [集成开发] 【ManageOne运营侧】租户查询
    1 VDC模型介绍请参考此链接:cid:link_02 约束条件本文适用于ManageOne 6.5.0及以上版本。3 场景说明本文档用于指导开发者获取租户和用户信息,便于第三方系统同步ManageOne的组织架构以及用户信息(如用户名、电话、email等)。4 租户信息同步目录:4.1 准备工作 4.2 获取管理员token 4.3 租户/VDC 1. 查询VDC列表 2. 查询VDC详情  4.1 准备工作正式对接前,请参考如下步骤,获取对应的IP、用户:参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html联系项目中,华为交付工程师,获取运营管理员账号、密码,或使用已创建的VDC管理员账号。运营管理员可管理所有租户,VDC管理员可管理本级和子级VDC。4.2 获取管理员token请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:(注:运营管理员的domain name固定为mo_bss_admin,VDC管理员的domain name为租户名。){ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token4.3 租户/VDC1. 查询VDC列表URLGET https://{SC北向接口域名}/rest/vdc/v3.0/vdcs?start=0&limit=1000其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-1000之间,默认值为20。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询VDC列表“接口。)参数类型描述namestringVDC名称,长度在0-128之间。upper_vdc_idstring上级VDC id。domain_idstring所属租户id。levelint32VDC级别,取值在1-5之间。sort_keystring排序字段,支持按create_at、name字段排序。默认值:name。sort_dirstring排序方向,取值范围asc,desc。默认值:asc。is_domainstring是否为租户,1代表是,0代表不是。query_namestring过滤字段。取值范围domainName,upperVdcName,extraquery_valuestring过滤字段值。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 4, "vdcs": [ { "id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "name": "hzp_vdc", "tag": "vdc", "description": null, "upper_vdc_id": "0", "upper_vdc_name": null, "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 2, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 1, "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed", "create_user_name": "bss_admin", "create_at": 1650350228000, "utc_create_at": "2022-04-19 06:37:08.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null }, { "id": "bf588c5a-8d05-49bd-a93d-e937286893e5", "name": "hzp_vdc2", "tag": "vdc", "description": "", "upper_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "upper_vdc_name": "hzp_vdc", "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 1, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 2, "create_user_id": "d0cc23141778469f82854c5269d3d9ee", "create_user_name": "hzp_admin", "create_at": 1651040610000, "utc_create_at": "2022-04-27 06:23:30.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null } ]}响应体字段说明如下:id:VDC idname:vdc名称level:vdc级别,取值在1-5之间。description:描述domain_id:租户iddomain_name:租户名create_at/utc_create_at:创建时间upper_vdc_id:上级VDC idupper_vdc_name:上级VDC 名称project_count:project数量top_vdc_id:所在的一级VDC id。2. 查询VDC详情URLGET https://{SC北向接口域名}/rest/vdc/v3.0/vdcs/{vdc_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{    "vdc": {        "id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",        "name": "hzp_vdc",        "tag": "vdc",        "description": null,        "upper_vdc_id": "0",        "upper_vdc_name": null,        "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",        "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}",        "ecs_used": 0.0,        "evs_used": 0.0,        "project_count": 0,        "enabled": true,        "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",        "level": 1,        "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed",        "create_user_name": "bss_admin",        "create_at": 1650321428000,        "utc_create_at": null,        "domain_name": "hzp_vdc",        "ldap_id": null,        "process_id": null,        "regions": [           {                "region_id": "solution-advance-1",                "region_name": "{\"zh_cn\":\"东莞\",\"en_us\":\"东莞\"}",                "region_type": "private_cloud",                "cloud_infras": [                   {                        "cloud_infra_id": "FUSION_CLOUD_solution-advance-1",                        "cloud_infra_name": "OpenStack_solution-advance-1",                        "cloud_infra_status": "normal",                        "cloud_infra_type": "FUSION_CLOUD",                        "azs": [                           {                                "available_zone": "az0.dc0",                                "az_name": "华为技术有限公司",                                "az_status": "normal",                                "extend_param": "{\"cloud_location\":\"localcloud\"}"                           }                       ]                   }               ]           }       ],        "third_type": null,        "enterprise_id": null,        "mfa_status": "0",        "enterprise_project_id": null,        "cloud_federation_rate": {},        "cloud_federation_status": false   }}响应体字段说明如下:id:VDC idname:vdc名称level:vdc级别,取值在1-5之间。description:描述domain_id:租户iddomain_name:租户名create_at/utc_create_at:创建时间upper_vdc_id:上级VDC idupper_vdc_name:上级VDC 名称project_count:project数量top_vdc_id:所在的一级VDC id。region:区域详情。类型:对象数组。region包含以下字段:region_id:区域idregion_name:区域名称region_type:区域类型cloud_infras:资源池详情。对象类型。cloud_infras包含以下字段:cloud_infra_id:资源池idcloud_infra_name:资源池名称cloud_infra_status:资源池状态cloud_infra_type:资源池类型azs:可用分区详情。类型:对象数组。azs包含以下字段:available_zone:可用分区idaz_name:可用分区名称az_status:可用分区状态。extend_param:拓展参数。 
  • [集成开发] 【ManageOne运维侧】用户管理
    1 接口说明从ManageOne 8.2.1版本起,IAM会对OC(运维面)用户进行纳管,第三方可通过SC接口对OC用户进行管理。可用于以下场景:1.客户有自己的统一密码管理系统,需要对OC用户的密码进行管理2.MO已对接第三方统一认证中心,并且有从第三方平台单点登录至OC的需求,此时需要在OC创建相应的用户。2 接口约束1. 支持ManageOne 8.2.1及以上版本2. 当前仅运营管理员(mo_bss_admin)租户下的用户添加OC权限,VDC管理员、代维管理员等其他角色不支持添加OC权限。3 使用指导3.1 准备工作正式对接前,请参考如下步骤,获取对应的IP、用户:参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html联系项目中,华为交付工程师,获取运营管理员账号、密码.3.2 调用步骤步骤0:获取运营管理员token请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:(注:运营管理员的domain name固定为mo_bss_admin,以下请求体只需要替换用户名和密码即可。){ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token步骤1:查询运营管理员所属的VDCURLGET https://{SC北向接口域名}/rest/vdc/v3.0/vdcs?name=mo_bss_admin请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 1, "vdcs": [ { "id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "name": "mo_bss_admin", "tag": "system", "description": "mo_bss_admin", "upper_vdc_id": "0", "upper_vdc_name": null, "top_vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "extra": null, "ecs_used": 0.0, "evs_used": 0.0, "project_count": 0, "enabled": true, "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "level": 1, "create_user_id": "83cef006b4104f7084fc6ec2095004d7", "create_user_name": "bss_admin", "create_at": 1678128580000, "utc_create_at": "2023-03-06 18:49:40.0", "domain_name": "mo_bss_admin", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null } ]}取id字段为mo_bss_admin的VDC id。 步骤2:创建不带权限的运营管理员用户URLPOST https://{SC北向接口域名}/rest/vdc/v3.2/vdcs/{vdc_id}/users其中,vdc_id通过步骤1获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{    "user": {        "name": "testuser123",        "password": "tT123456#"   }}user对象中可包含以下参数:name:用户名,只能由英文字母(区分大小写)、数字和特殊字符@._-组成,不能以“op_svc”、“paas_op”或\开头,且不能以\结尾,且不能命名为admin,power_user或guest。长度范围是4到32位。必选。display_name:用户别名,由除">"和"<"之外的字符组成,0-128个字符。可选。password:密码,包含以下四种字符的三种: 大写字母、小写字母、数字、特殊字符(除<和>字符),且必须包含特殊字符,不能包含名字正序或逆序。长度:8到32个字符 。可选。description:描述,不能包含<或者>字符。长度:0到255个字符。可选。email:邮箱,符合邮箱格式,长度:0到64个字符。可选。areacode:国际区号,只能为数字,长度:0到10个字符。可选。phone:手机号,只能为数字,长度:0到32个字符。可选。enabled:用户状态,枚举值:true和false,默认为true。为false时,表示用户处于停用状态。可选。auth_type:用户类型。枚举值:'0','1','2','4',默认值为'0'。为'0'表示本地认证,为'1'表示SAML认证,为'2'表示LDAP认证,为'4'表示OC的API用户。可选。ldap_id:ldap ID。auth_type为1或2时需要填写此参数。可选。响应体示例{    "user": {        "id": "a674600f05ad4cb086d5a60c6847e920",        "domain_id": "e1fcb3ba48a64cb2acb5894bcd6d892d",        "domain_name": "hzp_vdc",        "name": "testuser123",        "display_name": null,        "enabled": true,        "description": null,        "vdc_id": "d8e2a487-843b-4309-9d14-e845f593411f",        "vdc_name": "hzp_vdc",        "ldap_id": null,        "create_at": 1657358889000,        "login_at": 0,        "auth_type": "0",        "group_count": null,        "user_type": null   }}其中,取id字段为用户Id。步骤3:查询OC的用户组列表(创建API用户可跳过)URLGET https://{SC北向接口域名}/rest/vdc/v3.2/vdcs/{vdc_id}/groups?start=0&limit=100其中,vdc_id从步骤1获取,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-100之间,默认值为10。可包含如下查询条件:参数类型描述namestring按照名称或显示名字段模糊搜索。长度:1到64个字符。sort_keystring排序字段。枚举值:name。默认值为name。sort_dirstring排序方向。枚举值:desc 和asc,默认值:asc。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{ "total": 6, "groups": [ { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "279b2ca362cb4a3d99077eef7a386877", "name": "Administrators", "description": "Administrators", "create_at": 1678185136000, "type": "default", "tag": "all" }, { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "e9dc8c8a27d34029aafd8f5fd432b795", "name": "AuditManagers", "description": "AuditManagers", "create_at": 1678185135000, "type": "default", "tag": "all" }, { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "c11519130ea14e9dbb17e1f8ea42fd9d", "name": "NorthUserGroup", "description": "NorthUserGroup", "create_at": 1678185136000, "type": "default", "tag": "sys_adm" }, { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "d30066372a8f40148d9406a7e94d76d7", "name": "ReadOnlyUserGroup", "description": "ReadOnlyUserGroup", "create_at": 1678185136000, "type": "default", "tag": "sys_adm" }, { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "ec23408b124a4f0eb7fe1af69c8261f3", "name": "SecurityAdministrators", "description": "SecurityAdministrators", "create_at": 1678185135000, "type": "default", "tag": "all" }, { "domain_id": "09d95085ad7048dbb157d07fa22e9cd1", "domain_name": "mo_bss_admin", "vdc_id": "8ff07323-defd-4188-b5f7-7c09feb76ced", "vdc_name": "mo_bss_admin", "id": "417f9669e6e246ad9904283b45b508c3", "name": "admin_09d95085ad7048dbb157d07fa22e9cd1", "description": "admin_09d95085ad7048dbb157d07fa22e9cd1 description", "create_at": 1678128577000, "type": "default", "tag": "all" } ]}此处,我们根据“name”字段,过滤得到我们需要的用户组的ID。例如,根据“管理员”用户组的name“Administrators”,可查找到其对应的id为“279b2ca362cb4a3d99077eef7a386877”。ManageOne预置的OC角色请参考下表:角色接口名称(name)说明管理员Administrators拥有除“用户管理”、“查询安全日志”、“查看在线用户”和“查询个人安全日志”之外的所有权限。安全管理员组SecurityAdministrators拥有“用户管理”、“License管理”、“密码管理”、“查看在线用户”、“查询安全日志”和“更新ACL策略”的权限。安全审计员AuditManagers拥有所有日志的查询和管理权限,包括“系统管理 > 日志管理”的权限以及统一日志的“查询权限”和“管理权限”。只读用户组ReadOnlyUserGroup拥有界面查看权限,不具有操作权限。步骤4:将用户加入指定用户组(创建API用户可跳过)URLPUT https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id}/users/{user_id}其中,user_id从步骤2获取,group_id通过步骤3获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无状态码:204(成功)响应体:无至此,拥有OC操作权限的用户就创建完成了。
  • [集成开发] 【ManageOne运营侧】授权管理
    1 VDC模型介绍请参考此链接:cid:link_02 约束条件本文适用于ManageOne 8.1.0及以上版本。3 场景说明自8.0.3版本起,ManageOne加入用户组特性,并支持关联权限。管理员可通过细粒度授权来控制用户能使用的云服务范围,例如限制用户只能使用CCE服务,或给用户只读权限,将用户权限最小化。8.1.0版本后,ManageOne支持通过API管理用户组。4 创建细粒度授权用户目录:4.1 准备工作4.2 创建用户组步骤0:获取管理员token 步骤1:查询VDC列表 步骤2:创建用户组 步骤3:查询VDC下的用户组列表(可选) 4.3 创建VDC用户步骤1:创建不带权限的VDC用户步骤2:将用户加入指定用户组4.4 为指定用户组授权指定资源集步骤1:查询租户下的权限列表步骤2:为指定用户组授权资源集权限4.5 其他接口1. 将用户从指定用户组移除 2. 删除用户组 3. 查询用户绑定的用户组 4. 删除用户4.1 准备工作1. 正式对接前,请参考如下步骤,获取对应的IP、用户:参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html联系项目中,华为交付工程师,获取运营管理员账号、密码,或使用已创建的VDC管理员账号。运营管理员可管理所有租户,VDC管理员可管理本级和子级VDC。2. 请确保在创建用户前已经完成VDC和Project(资源集)的创建。4.2 创建用户组步骤0:获取管理员token请求URL:https://{IAM对外访问域名}/v3/auth/tokens请求方法:POST请求头:Accept:application/jsonContent-Type:application/json;charset=UTF-8请求体:(注:运营管理员的domain name固定为mo_bss_admin,VDC管理员的domain name为租户名。){ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "mo_bss_admin" }, "name": "XXXX", "password": "XXXXXX" } } }, "scope": { "domain": { "name": "mo_bss_admin" } } }}返回的token在响应头中,示例如下:HTTP/1.1 201 CreatedContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==X-Subject-Token的值即为我们所需要的token步骤1:查询VDC列表URLGET https://{SC北向接口域名}/rest/vdc/v3.0/vdcs?start=0&limit=1000其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-1000之间,默认值为20。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询VDC列表“接口。)参数类型描述namestringVDC名称,长度在0-128之间。upper_vdc_idstring上级VDC id。domain_idstring所属租户id。levelint32VDC级别,取值在1-5之间。sort_keystring排序字段,支持按create_at、name字段排序。默认值:name。sort_dirstring排序方向,取值范围asc,desc。默认值:asc。is_domainstring是否为租户,1代表是,0代表不是。query_namestring过滤字段。取值范围domainName,upperVdcName,extraquery_valuestring过滤字段值。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 4, "vdcs": [ { "id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "name": "hzp_vdc", "tag": "vdc", "description": null, "upper_vdc_id": "0", "upper_vdc_name": null, "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 2, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 1, "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed", "create_user_name": "bss_admin", "create_at": 1650350228000, "utc_create_at": "2022-04-19 06:37:08.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null }, { "id": "bf588c5a-8d05-49bd-a93d-e937286893e5", "name": "hzp_vdc2", "tag": "vdc", "description": "", "upper_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "upper_vdc_name": "hzp_vdc", "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 1, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 2, "create_user_id": "d0cc23141778469f82854c5269d3d9ee", "create_user_name": "hzp_admin", "create_at": 1651040610000, "utc_create_at": "2022-04-27 06:23:30.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null } ]}复制部分响应体字段说明如下: id:VDC idname:vdc名称level:vdc级别,取值在1-5之间。description:描述domain_id:租户iddomain_name:租户名create_at/utc_create_at:创建时间upper_vdc_id:上级VDC idupper_vdc_name:上级VDC 名称project_count:project数量top_vdc_id:所在的一级VDC id。步骤2:创建用户组URLPOST https://{SC北向接口域名}/rest/vdc/v3.2/vdcs/{vdc_id}/groups请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{    "group": {        "description": "123",        "name": "vdcuser776"   } }参数说明:name:用户组名称,不能以数字开头。只能由英文字母,中文,数字,中划线,下划线组成,且不能命名为admin、power_user、或guest。长度范围是1到64位。必选。description:描述,不能包含<或者>字符。长度:0到255个字符。可选。响应体示例{    "group": {        "domain_id": null,        "domain_name": null,        "vdc_id": null,        "vdc_name": null,        "id": "a1b428ffe3ff470296813a73276a3bc0",        "name": "vdcuser776",        "description": "123",        "create_at": 0,        "type": null,        "display_name": "vdcuser776",        "vdc_level": 0   }}其中,id为用户组Id;name为用户组名称;display_name为用户组显示名称。相关接口:删除用户组:DELETE https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id},无请求体和响应体,成功状态码204。步骤3:查询VDC下的用户组列表(可选)URLGET https://{SC北向接口域名}/rest/vdc/v3.2/vdcs/{vdc_id}/groups?start=0&limit=100其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-100之间,默认值为10。可包含如下查询条件:参数类型描述namestring按照名称或显示名字段模糊搜索。长度:1到64个字符。sort_keystring排序字段。枚举值:name。默认值为name。sort_dirstring排序方向。枚举值:desc 和asc,默认值:asc。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "total": 2,    "groups": [       {            "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",            "domain_name": "hzp_vdc",            "vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",            "vdc_name": "hzp_vdc",            "id": "8e2deaa2fb7e4226b3f8b43a2b6bd11b",            "name": "admin_d86c3636-c637-4ee6-93ca-16c34b38b5c0",            "description": "Default VDC administrator group, having the permission to manage services in the VDC that the user group belongs to and its lower-level VDCs.",            "create_at": 1650350228000,            "type": "default"       },       {            "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f",            "domain_name": "hzp_vdc",            "vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0",            "vdc_name": "hzp_vdc",            "id": "943abaee2ce34fd4ac3c4c4eb9368e05",            "name": "test1234",            "description": "",            "create_at": 1650977723000,            "type": "custom"       }   ]}响应体字段说明: total:总量 groups:用户组详情。对象数组。groups包含如下字段:domain_id:租户ID。domain_name:租户名称。vdc_id:VDC ID。vdc_name:VDC名称。id:用户组ID。name:用户组名称。description:用户组描述信息。create_at:用户组创建时间。type:用户组类型。default:系统预置的用户组;custom:自定义用户组。4.3 创建VDC用户步骤1:创建不带权限的VDC用户注:运营管理员角色用户必须使用运营管理员token才能创建;VDC管理员token仅可在本VDC或子级VDC下创建用户。运营管理员token支持在任意VDC下创建用户。URLPOST https://{SC北向接口域名}/rest/vdc/v3.2/vdcs/{vdc_id}/users其中,vdc_id为用户所属VDC的Id请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{    "user": {        "name": "testuser123",        "password": "tT123456#"   }}user对象中可包含以下参数:name:用户名,只能由英文字母(区分大小写)、数字和特殊字符@._-组成,不能以“op_svc”、“paas_op”或\开头,且不能以\结尾,且不能命名为admin,power_user或guest。长度范围是4到32位。必选。display_name:用户别名,由除">"和"<"之外的字符组成,0-128个字符。可选。password:密码,包含以下四种字符的三种: 大写字母、小写字母、数字、特殊字符(除<和>字符),且必须包含特殊字符,不能包含名字正序或逆序。长度:8到32个字符 。可选。description:描述,不能包含<或者>字符。长度:0到255个字符。可选。email:邮箱,符合邮箱格式,长度:0到64个字符。可选。areacode:国际区号,只能为数字,长度:0到10个字符。可选。phone:手机号,只能为数字,长度:0到32个字符。可选。enabled:用户状态,枚举值:true和false,默认为true。为false时,表示用户处于停用状态。可选。auth_type:用户类型。枚举值:'0','1','2',默认值为'0'。为'0'表示本地认证,为'1'表示SAML认证,为'2'表示LDAP认证。可选。ldap_id:ldap ID。auth_type不为0时需要填写此参数。可选。响应体示例{    "user": {        "id": "a674600f05ad4cb086d5a60c6847e920",        "domain_id": "e1fcb3ba48a64cb2acb5894bcd6d892d",        "domain_name": "hzp_vdc",        "name": "testuser123",        "display_name": null,        "enabled": true,        "description": null,        "vdc_id": "d8e2a487-843b-4309-9d14-e845f593411f",        "vdc_name": "hzp_vdc",        "ldap_id": null,        "create_at": 1657358889000,        "login_at": 0,        "auth_type": "0",        "group_count": null,        "user_type": null   }}其中,id为用户Id。步骤2:将用户加入指定用户组URLPUT https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id}/users/{user_id}其中,user_id需要通过“查询用户”接口获取,group_id需要通过“查询VDC下的用户组列表”接口获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无状态码:204(成功)响应体:无4.4 为指定用户组授权指定资源集步骤1:查询租户下的权限列表URLGET https://{SC北向接口域名}/rest/vdc/v3.0/OS-ROLE/roles/third-party/roles?domain_id={domain_id}其中,domain_id为租户id,可从4.2章节的步骤1获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{    "system_roles": [       {            "id": "985dc76053f94685a15eafc3cd9f5da2",            "domain_id": null,            "domain_name": null,            "name": "te_admin",            "display_name": "Tenant Administrator",            "flag": null,            "catalog": "BASE",            "type": "AA",            "description_cn": "全部云服务管理员(除IAM管理权限)",            "description": "Tenant Administrator (Exclude IAM)",            "cloud_platform": "private_cloud",            "policy": {"Version":"1.0","Depends":[],"Statement":[{"Effect":"Allow","Action":["*"],"Resource":[]},{"Effect":"Deny","Action":["identity:*"],"Resource":[]}]}       },       {            "id": "086600a36bc44cb3a5cb9475ddc32da0",            "domain_id": null,            "domain_name": null,            "name": "readonly",            "display_name": "Tenant Guest",            "flag": null,            "catalog": "BASE",            "type": "AA",            "description_cn": "全部云服务只读权限(除IAM权限)",            "description": "Tenant Guest (Exclude IAM)",            "cloud_platform": "private_cloud",            "policy": {"Version":"1.0","Depends":[],"Statement":[{"Effect":"Allow","Action":["::Get","::List"],"Resource":[]},{"Effect":"Deny","Action":["identity:*"],"Resource":[]}]}       },       {            "id": "4d0cd24102504767b33fd55d915c55e8",            "domain_id": null,            "domain_name": null,            "name": "vdc_adm",            "display_name": "VDC Admin",            "flag": null,            "catalog": "VDC",            "type": "AA",            "description_cn": "具有所属VDC及下级VDC的业务管理权限",            "description": "Permission to manage services in the VDC that the user group belongs to and its lower-level VDCs",            "cloud_platform": "private_cloud",            "policy": {"Version":"1.0","Depends":[],"Statement":[{"Effect":"Allow","Action":["moscapp:service*:*","moscapp:resource*:*","moscapp:organization*:*","moscapp:operation*:*","moscapp:application*:*","moscapp:tenant-system*:*","moscapp:personal-center*:*"],"Resource":[]}]}       },       {            "id": "7c554e7930544a99868465c4954eb5cb",            "domain_id": null,            "domain_name": null,            "name": "vdc_readonly",            "display_name": "VDC Readonly",            "flag": null,            "catalog": "VDC",            "type": "AA",            "description_cn": "具有对租户中用户、资源集、自运维等的查询权限",            "description": "Permission to query information about users and resource sets as well as self-service OM data in the tenant that the user group belongs to",            "cloud_platform": "private_cloud",            "policy": {"Version":"1.0","Depends":[],"Statement":[{"Effect":"Allow","Action":["moscapp:service*:console","moscapp:service*.list","moscapp:service*.get","moscapp:resource*:console","moscapp:resource*:list","moscapp:resource*:get","moscapp:organization*:console","moscapp:organization*:list","moscapp:organization*:get","moscapp:operation*:console","moscapp:operation*:list","moscapp:operation*:get","moscapp:application*:console","moscapp:application*:list","moscapp:application*:get","moscapp:tenant-system*:console","moscapp:tenant-system*:list","moscapp:tenant-system*:get","moscapp:personal-center*:console","moscapp:personal-center*:list","moscapp:personal-center*:get"],"Resource":[]}]}       },   ],    "custom_roles": []}其中,取id字段为权限id。例如,vdc只读权限的id为7c554e7930544a99868465c4954eb5cb。步骤2:为指定用户组授权资源集权限URLPUT https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id}/roles其中,group_id为用户组id,从4.2章节的步骤2或步骤3获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例:{    "group": {        "action": "add",        "roles": [           {                "id": "086600a36bc44cb3a5cb9475ddc32da0",                "inherit": false,                "targets": [                   {                        "id": "6934bce513274fd9b20955c3db9728f0"                   }               ]           }       ]   }}请求参数说明:group包含以下字段:action:操作,取值可为add、delete;roles:角色。对象数组。roles包含以下字段:id:权限id,从步骤1获取。inherit:权限是否继承。targets:授权的目标资源集。对象数组。对象内包含资源集的id字段。4.4 其他接口1. 将用户从指定用户组移除URLDELETE https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id}/users/{user_id}其中,user_id需要通过“查询用户”接口获取,group_id需要通过“查询用户详情”接口获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无状态码:204(成功)响应体:无2. 删除用户组注:删除用户组后会自动解除用户与用户组关联关系,用户权限需重新添加,请谨慎操作。URLDELETE https://{SC北向接口域名}/rest/vdc/v3.2/groups/{group_id}其中,group_id需要通过“查询VDC下的用户组列表”接口获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无状态码:204(成功)响应体:无3. 查询用户绑定的用户组接口约束:运营管理员可查询全量用户。VDC管理员仅可查询本VDC以及子级VDC的用户。URLGET https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}其中,user_id为用户id。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{    "limit_access": "false",    "lock_period": null,    "login_config": null,    "whiteList": null,    "user": {        "enabled": "true",        "description": "",        "email": "",        "areacode": null,        "phone": "",        "projects": [],        "ldap_id": null,        "level": "1",        "resource_tenant_id": null,        "roles": [           {                "id": "00000000-0000-0000-0000-000000000001",                "name": "vdcServiceManager",                "display_name": "VDC Admin",                "user_role_type": null,                "description": "role_role_view_para_desc_content_vdcServiceManager_value"           }       ],        "groups": [           {                "id": "8afb852688194e408f4edf4bf8c8a690",                "name": "SC_289yUXfSpzD",                "description": "",                "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",                "role_name": null,                "vdc_name": "SC_289OHFUVQdL",                "role_id": null,                "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444"           },           {                "id": "cdafab1cfe2e4c129d4878b13e171333",                "name": "admin_bc0366f0-3b60-486f-a88e-2a38266dd444",                "description": "Default VDC administrator group, having the permission to manage services in the VDC that the user group belongs to and its lower-level VDCs.",                "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",                "role_name": "vdcServiceManager",                "vdc_name": "SC_289OHFUVQdL",                "role_id": "00000000-0000-0000-0000-000000000001",                "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444"           }       ],        "display_name": null,        "second_verify": "false",        "vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444",        "domain_id": "7111b7a59bff48fa983a6309fae3d7f7",        "domain_name": "SC_289OHFUVQdL",        "user_type": "0",        "name": "SC_289yUXfSpzD",        "login_at": null,        "id": "b76fc5607bff4ec094891c930cf3b0de",        "tag": "vdc",        "top_vdc_id": "bc0366f0-3b60-486f-a88e-2a38266dd444",        "ldap_name": null   },    "federation_regions": []}其中,id为用户Id,name为用户名称,domain_id为租户Id,vdc_id为所属的VDC Id。groups为用户绑定的用户组。4. 删除用户接口约束:1.删除用户时,需确保该用户没有未完成的审批流程、审批任务、订单。2.运营管理员token可删除任意用户,VDC管理员token仅可删除本VDC或子级VDC下的用户。URLDELETE https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体:无成功状态码:200
  • [集成开发] 【ManageOne运营侧】创建租户
    步骤0:获取运营管理员token参考:cid:link_0步骤1:创建租户/VDCURLPOST https://{SC北向接口域名}/rest/vdc/v3.1/vdcs请求体Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{ "vdc": { "upper_vdc_id": "0", "name": "testvdc", "description": "", "mfa_status": false }}参数说明:name:VDC名称,长度为1-64位,只能由中文、英文字母(不区分大小写)、数字、下划线组成,且不能以数字、"op_"、"shadow_"开头。upper_vdc_id:上级VDC的Id,若创建一级VDC(租户),则填写0。description:描述,长度在0-255之间,不能包含"<"和">"。mfa_status:该租户下用户是否开启双因子认证,false默认不开启。响应体示例{ "vdc": { "default_project": null, "default_project_name": null, "regions": [], "upper_vdc_id": "0", "name": "testvdc", "description": "", "mfa_status": false, "ldap_id": null, "all_quotas": "1", "processes": null, "third_type": "0", "cloud_federation_rate": null, "enterprise_id": null, "status": false, "tag": "vdc", "enterprise_detail": null, "extra": null, "create_user_name": null, "domain_description": null, "enabled": 1, "domain_id": "6383f8307d2d45efbc3d547c0afe07cc", "domain_name": null, "id": "8c8cca18-2418-4c4e-91ee-b1f848e0de25", "create_user_id": "a56bf873148944dfa0dacadd2e19be50", "is_domain": false, "level": 1, "create_at": 0 }}其中,id为VDC Id,name为VDC名称,domain_id为租户Id,upper_vdc_id为上级VDC Id。步骤2:查询Region列表,授权租户可用的Region、资源池、可用分区URLGET https://{SC北向接口域名}/rest/serviceaccess/v3.0/regions请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 2, "records": [ { "id": "dg-tky-12", "public_region_id": null, "type": "private_cloud", "name": "东莞", "status": "normal", "isLocal": true, "locales": "{\"zh_cn\":\"东莞\",\"en_us\":\"东莞\"}", "cloud_infras": [ { "id": "FUSION_CLOUD_dg-tky-12", "name": "OpenStack_dg-tky-12", "region_id": "dg-tky-12", "type": "FUSION_CLOUD", "version": "8.1", "status": "normal", "access_status": "connected", "description": null, "public_cloud_infra_id": null } ] }, { "id": "dg-tky-13", "public_region_id": null, "type": "private_cloud", "name": "华南Region2", "status": "normal", "isLocal": true, "locales": "{\"zh_cn\":\"华南Region2\",\"en_us\":\"华南Region2\"}", "cloud_infras": [ { "id": "FUSION_CLOUD_dg-tky-13", "name": "OpenStack_dg-tky-13", "region_id": "dg-tky-13", "type": "FUSION_CLOUD", "version": "8.1", "status": "normal", "access_status": "connected", "description": null, "public_cloud_infra_id": null } ] } ]}其中,从响应体中取records.id为region_id(如dg-tky-12),取records.cloud_infras.id为资源池id(如FUSION_CLOUD_dg-tky-12)步骤3:查询资源池下的可用分区列表URLGET https://{SC北向接口域名}/rest/serviceaccess/v3.0/available-zones?cloud_infra_id={cloud_infra_id}其中,cloud_infra_id从步骤2查询结果获取。请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 3, "records": [ { "az_id": "az0.dc1", "region_id": "dg-tky-12", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "name": "华为", "type": "KVM", "status": "normal", "extend_param": "{\"cloud_location\":\"localcloud\"}" }, { "az_id": "az0.dc2", "region_id": "dg-tky-12", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "name": "华为_x86", "type": "KVM", "status": "normal", "extend_param": "{\"cloud_location\":\"localcloud\"}" }, { "az_id": "az0.bms", "region_id": "dg-tky-12", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "name": "华为_BMS", "type": "Ironic", "status": "normal", "extend_param": "{\"cloud_location\":\"localcloud\"}" } ]}其中,取az_id为可用分区id,例如az0.dc1。步骤4:为租户/一级VDC授权Region、资源池、可用分区URLPUT https://{SC北向接口域名}/rest/vdc/v3.1/vdcs/{vdc_id}/regions其中,vdc_id从步骤1中的响应体获取。请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体示例:{ "regions": [ { "region_id": "dg-tky-12", "action": "bind", "cloud_infras": [ { "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "action": "bind", "available_zones": [ { "az_id": "az0.bms", "action": "bind" }, { "az_id": "az0.dc1", "action": "bind" }, { "az_id": "az0.dc2", "action": "bind" } ] } ] }, { "region_id": "dg-tky-13", "action": "bind", "cloud_infras": [ { "cloud_infra_id": "FUSION_CLOUD_dg-tky-13", "action": "bind", "available_zones": [ { "az_id": "az1.dc1", "action": "bind" } ] } ] } ]}如果需要解绑Region、资源池或可用分区,将上述请求体中的action字段的bind值改为unbind即可。状态码:204(成功)响应体:无步骤5:查询云资源池下外部网络列表(非一级VDC可跳过)URLGET https://{SC北向接口域名}/rest/serviceaccess/v3.0/external-networks?cloud_infra_id={cloud_infra_id}其中,cloud_infra_id需要为步骤4已授权的cloud_infra_id。请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "external_networks": [ { "id": "a340cd45-fa9f-41cb-96a8-672507e08f71", "name": "EIP_external_net", "location": null, "group": "group1", "service_availability_zones": [], "service_types": [ "Internet" ], "description": "" }, { "id": "8049223b-ed6a-40fd-b1e7-2d8390b31719", "name": "dummy_external_network", "location": null, "group": "group1", "service_availability_zones": [ "az0.dc2" ], "service_types": [ "Location" ], "description": "" } ], "total": 2}其中,取external_networks.id为外部网络的id,例如a340cd45-fa9f-41cb-96a8-672507e08f71。步骤6:为租户分配外部网络(非一级VDC可跳过)注:新创建的租户不执行此步骤则无法创建VPC、EIPURLPUT https://{SC北向接口域名}/rest/vdc/v3.0/vdcs/external-networks/{network_id}其中,network_id为步骤5的外部网络的id。请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体示例:{ "resource_id": "e030b8e0-621d-4bfd-b66b-212a86341f51", "cloudInfraId": "FUSION_CLOUD_dg-tky-12", "networkName": "external network", "associateAction": true}其中,resource_id为一级VDC的id,从步骤1获取;cloudInfraId为资源池id,为步骤5的url中填写的参数;networkName为网络名称,该值可自定义;associateAction为分配动作,true表示分配,false表示取消分配。步骤7:查询VDC列表(可选)URLGET https://{SC北向接口域名}/rest/vdc/v3.0/vdcs?start=0&limit=1000其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-1000之间,默认值为20。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询VDC列表“接口。)参数类型描述namestringVDC名称,长度在0-128之间。upper_vdc_idstring上级VDC id。domain_idstring所属租户id。levelint32VDC级别,取值在1-5之间。sort_keystring排序字段,支持按create_at、name字段排序。默认值:name。sort_dirstring排序方向,取值范围asc,desc。默认值:asc。is_domainstring是否为租户,1代表是,0代表不是。query_namestring过滤字段。取值范围domainName,upperVdcName,extraquery_valuestring过滤字段值。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例{ "total": 4, "vdcs": [ { "id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "name": "hzp_vdc", "tag": "vdc", "description": null, "upper_vdc_id": "0", "upper_vdc_name": null, "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 2, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 1, "create_user_id": "9d30a3d12bac4d879e9e9fb4274b76ed", "create_user_name": "bss_admin", "create_at": 1650350228000, "utc_create_at": "2022-04-19 06:37:08.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null }, { "id": "bf588c5a-8d05-49bd-a93d-e937286893e5", "name": "hzp_vdc2", "tag": "vdc", "description": "", "upper_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "upper_vdc_name": "hzp_vdc", "top_vdc_id": "d86c3636-c637-4ee6-93ca-16c34b38b5c0", "extra": "{\"manager\":\"\",\"phone\":\"\",\"email\":\"\"}", "project_count": 1, "enabled": true, "domain_id": "16ea1a6e341d44e385fb3cb077c3b63f", "level": 2, "create_user_id": "d0cc23141778469f82854c5269d3d9ee", "create_user_name": "hzp_admin", "create_at": 1651040610000, "utc_create_at": "2022-04-27 06:23:30.0", "domain_name": "hzp_vdc", "ldap_id": null, "third_id": null, "idp_name": null, "third_type": "0", "region_id": null, "enterprise_id": null, "az_id": null, "enterprise_project_id": null } ]}部分响应体字段说明如下: id:VDC idname:vdc名称level:vdc级别,取值在1-5之间。description:描述domain_id:租户iddomain_name:租户名create_at/utc_create_at:创建时间upper_vdc_id:上级VDC idupper_vdc_name:上级VDC 名称project_count:project数量top_vdc_id:所在的一级VDC id。4.4 创建Project步骤1:查询VDC支持的区域URLGET https://{SC北向接口域名}/rest/vdc/v3.1/vdcs/{vdc_id}/regions请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无响应体示例​{ "region_num": 1, "vdc_id": "e030b8e0-621d-4bfd-b66b-212a86341f51", "regions": [ { "region_id": "dg-tky-12", "action": null, "name": "{\"zh_cn\":\"东莞\",\"en_us\":\"东莞\"}", "type": "private_cloud", "status": "normal", "cloud_infras": [ { "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "name": "OpenStack_dg-tky-12", "type": "FUSION_CLOUD", "status": "normal", "available_zones": [ { "az_id": "az0.bms", "name": "华为_BMS", "status": "normal", "type": "Ironic", "extend_param": "{\"cloud_location\":\"localcloud\"}", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "quotas": [] }, { "az_id": "az0.dc1", "name": "华为", "status": "normal", "type": "KVM", "extend_param": "{\"cloud_location\":\"localcloud\"}", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "quotas": [] }, { "az_id": "az0.dc2", "name": "华为_x86", "status": "normal", "type": "KVM", "extend_param": "{\"cloud_location\":\"localcloud\"}", "cloud_infra_id": "FUSION_CLOUD_dg-tky-12", "quotas": [] } ], "quotas": [] } ] } ]}其中,取region_id为区域的id,例如dg-tky-12。步骤2:创建ProjectURLPOST https://{SC北向接口域名}/rest/vdc/v3.1/projects请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例:{ "project": { "tenant_id": "e030b8e0-621d-4bfd-b66b-212a86341f51", "name": "dg-tky-12_test_project", "display_name": "", "is_shared": "false", "description": "", "regions": [ { "region_id": "dg-tky-12" } ], "is_bind_external_network": true, "is_support_hws_service": true }}参数说明:tenant_id:填写project所属的vdc_id。与步骤1的url入参相同。必填。regions:绑定的区域id列表。必填。存在如下约束:如果绑定的region超过一个,那么仅支持HUAWEI CLOUD Stack 基础服务(计算、网络、存储),建议只绑定一个区域。name:project(项目/资源集)名称,必填。如果绑定的regions只有1个,名称需要加上“{region_id}_”前缀。is_shared:是否支持共享,true表示支持,false表示不支持。共享VPC的管理员创建VPC和子网并给下级VDC授予访问VPC中网络的权限,当“是否支持共享VPC”选择“是”时,拥有资源集授权的用户可以使用管理员在该资源集创建的VPC和子网,达到跨VDC的用户使用同一VPC的能力,使网络资源合理共享,实现更加灵活方便的管理和监控。选填。is_bind_external_network:是否绑定租户下分配的外部网络,true表示绑定,false表示不绑定。默认为true。选填。is_support_hws_service:资源集是否支持高阶云服务,true表示支持,false表示不支持。默认为false。如果绑定的region超过一个,此处只能填写false。选填。description:资源集描述,长度为0到255位,不能包含“<”和“>”。状态码:成功(201)响应体示例{ "project": { "id": "05713a92a38d45a8b4fa911fa3b9552e" }}注:非本级或上级VDC管理员需要授权才能获得project的操作权限,具体操作可参考“将用户加入指定用户组”、和“为指定用户组授权指定资源集”。步骤3:查询VDC关联的Project(可选)URLGET https://{SC北向接口域名}/rest/vdc/v3.1/vdcs/{vdc_id}/projects?start=0&limit=100其中,start为分页查询的起始位置,取值在0-2147483647之间,默认从0开始, 默认值为0。分页查询时,start需要为limit的整数倍;limit限制每页显示的条目数量,取值在1-100之间,默认值为10。可包含如下查询条件:(下表包含部分查询条件,全部查询条件请参考《ManageOne 运营面API参考.docx》中”查询指定VDC中资源集集合“接口。)参数类型描述inheritboolean是否查询VDC下所有可见VDC关联的资源集。默认值:falsenamestring模糊搜索所使用的名称字段,长度在1-64之间。sort_dirstring排序方向,取值范围asc,desc。默认值:asc请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体示例{ "total": 1, "projects": [ { "id": "6aa4d449d6fe4ea68c7cacb1a9803959", "name": "cn-global-205_hzp_project", "description": "", "domain_id": "e1fcb3ba48a64cb2acb5894bcd6d892d", "enabled": true, "tenant_id": "d8e2a487-843b-4309-9d14-e845f593411f", "is_shared": false, "tenant_name": "hzp_vdc", "create_user_id": "b9fd4029af7a4b71a085048b9bbe9072", "create_user_name": "bss_admin", "regions": [ { "region_id": "cn-global-205", "region_name": { "zh_cn": "西安", "en_us": "西安" }, "region_type": null, "region_status": "normal" } ] } ]}其中,id为project Id,name为project名称,domain_id为project所在的租户Id,tenant_id为project所属的VDC Id;tenant_name为project所属的VDC名称;description为project描述;regions为project关联的region信息。4.5 创建默认角色用户说明:此接口可创建系统默认角色用户(VDC管理员、VDC业务员、VDC只读管理员),支持租户用户绑定project。ManegeOne 8.0.3及以上版本,使用此接口创建租户用户,会自动创建同名用户组,并将用户与用户组绑定,然后绑定指定project。ManegeOne 8.0.3及以上版本使用此接口只能绑定系统默认角色,不支持细粒度授权特性,如果有此需求,请参考“如何通过API创建细粒度授权用户”。接口约束:运营管理员角色用户必须使用运营管理员token才能创建;VDC管理员token仅可在本VDC或子级VDC下创建用户。运营管理员token支持在任意VDC下创建用户。URLPOST https://{SC北向接口域名}/rest/vdc/v3.0/users请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{ "tenant_id": "1d165aa8-7309-4ec7-9854-8d24334bc6ed", "user": { "name": "testuser", "password": "tT123456#", "roles":["00000000-0000-0000-0000-000000000001"], "description":"" }}参数说明:tenant_id:用户所属VDC的Id(非domain_id),参考4.3的步骤7获取。若创建运营管理员为运营管理员的domain_id。user对象中包含以下参数:name:用户名,只能由英文字母(区分大小写)、数字和特殊字符@._-组成,不能以“op_svc”、“paas_op”或\开头,且不能以\结尾,且不能命名为admin、power_user、或guest。长度范围是4到32位。必选。password:密码,包含以下四种字符的三种: 大写字母、小写字母、数字、特殊字符(除<和>字符),且必须包含特殊字符,不能包含名字正序或逆序。长度:8到32个字符 。必选。roles:角色。数据类型:List。常用角色:运营管理员:“00000000-0000-0000-0000-000000000000”;VDC管理员:“00000000-0000-0000-0000-000000000001”;VDC业务员:“00000000-0000-0000-0000-000000000002”;VDC只读管理员:“00000000-0000-0000-0000-000000000005”。必选。projects:授权用户的资源集/项目列表。VDC管理员角色默认拥有所在VDC和子级VDC的资源集权限,可不填写。其他租户角色需要关联project才拥有对应资源集权限。运营管理员角色不需要填写此参数。数据类型:List。project id和获取方法可参考4.4章节的步骤2或步骤3。description:描述,不能包含<或者>字符。长度:0到255个字符。可选。email:邮箱,符合邮箱格式,长度:0到64个字符。可选。areacode:国际区号,只能为数字,长度:0到10个字符。可选。phone:手机号,只能为数字,长度:0到32个字符。可选。响应体示例{ "user": { "id": "811498d36a674e698b25d7d73c817f3f" }}其中,id为用户Id。4.6 其他接口1. 查询用户列表接口约束:运营管理员token可查询全量用户。VDC管理员仅可查询本VDC以及子级VDC的用户。URLGET https://{SC北向接口域名}/rest/vdc/v3.0/users?limit=100&start=0URL常用参数:(完整参数请参考《ManageOne 运营面API参考》)start:分页查询的起始位置,最小值:0 ,最大值:2147483647 ,默认值:0。可选。limit:限制每页显示的条目数量,最小值:1,最大值:100 ,默认值:10。可选。tenant_id:用户归属的VDC ID。可选。name:按照名称或显示名字段模糊搜索。长度:1到128个字符。可选。exact:是否精确匹配,枚举值:true和false,默认值:false。可选。请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx响应体示例{    "total": 1,    "users": [       {            "enabled": "true",            "description": "",            "email": "",            "areacode": "",            "phone": "",            "vdc_name": "hzp_vdc",            "resource_tenant_id": null,            "level": null,            "roles": [               {                    "id": "00000000-0000-0000-0000-000000000001",                    "name": "vdcServiceManager",                    "display_name": "VDC Admin",                    "user_role_type": "0"               }           ],            "display_name": "",            "vdc_id": "8c3e288e-49a5-4eab-90a0-47916dac8589",            "domain_id": "9b01faf18f454c59a6fd157f0c82e556",            "domain_name": "hzp_vdc",            "user_type": "0",            "name": "hzp_admin",            "login_at": "2022-04-18 01:24:27.0",            "id": "b7f8bc098f4f4891b93eeff5dcdfc6b5",            "create_at": "2022-02-23 06:55:53.0"       }   ]}其中,id为用户Id,name为用户名称,domain_id为租户Id,vdc_id为所属的VDC Id。2. 修改用户密码接口约束:运营管理员可修改任意用户的密码;VDC管理员仅可修改本VDC或子级VDC下的用户密码;VDC业务员仅可修改自己的密码。URLPUT https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}/password其中,user_id需要通过“查询用户列表”接口获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{ "user": { "original_password": "******", "password": "******" } }参数说明: original_password:原始密码。 password:密码,必须包含以下四种字符的三种: 大写字母、小写字母、数字、特殊字符(除<和>字符),且必须包含特殊字符,不能包含名字正序或逆序。长度:8到32个字符。状态码:200(重置密码成功)响应体:无3. 重置用户密码接口约束:运营管理员可重置任意用户的密码;VDC管理员仅可重置本VDC或子级VDC下的用户密码;VDC业务员仅可重置自己的密码。重置密码后,用户在第一次登录ManageOne页面时,会被要求修改密码,如果希望解除此限制,可以先调“重置用户密码”接口,再调“修改用户密码”接口。URLPUT https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}/reset-password其中,user_id需要通过“查询用户”接口获取。请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例{ "user": { "password": "*****" } }参数说明: password:密码,必须包含以下四种字符的三种: 大写字母、小写字母、数字、特殊字符(除<和>字符),且必须包含特殊字符,不能包含名字正序或逆序。长度:8到32个字符状态码:200(重置密码成功)响应体:无4. 修改用户基本信息URLPUT https://{SC北向接口域名}/rest/vdc/v3.2/users/{user_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例(完整参数请参考《ManageOne 运营面API参考》){ "user": { "description": "test" }}user中可包含如下字段:display_name:用户别名,由除">"和"<"之外的字符组成,0-128个字符。可选。enabled:用户状态,枚举值:true或false,默认为true。为false时,表示用户处于停用状态。可选。description:说明,不能包含<或>字符,长度:0到255个字符。可选。email:邮箱,符合邮箱格式,长度:0到64个字符。可选。areacode:国际区号,长度:0到10个字符。可选。phone:手机号,长度:0到32个字符。可选。状态码:204(成功)响应体:无5. 删除用户接口约束:1.删除用户时,需确保该用户没有未完成的审批流程、审批任务、订单。2.运营管理员token可删除任意用户,VDC管理员token仅可删除本VDC或子级VDC下的用户。URLDELETE https://{SC北向接口域名}/rest/vdc/v3.0/users/{user_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体:无成功状态码:2006. 修改Project基本信息URLPUT https://{SC北向接口域名}/rest/vdc/v3.0/projects/{project_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体示例(完整参数请参考《ManageOne 运营面API参考》){ "project": { "name": "name", "description": "desc" } }常用字段说明:name:资源集名称,以{region_id}_开头,只能由英文字母、中文、数字、中划线、下划线或者英文括号组成。长度范围1到64位。可选。display_name:资源集别名,不能包含“<”和“>”,长度为0到64位。可选。description:资源集描述,长度为0到255位,不能包含“<”和“>”。可选。状态码:204(成功)响应体:无7. 删除Project接口约束: 删除资源集时,需确保该资源集内的所有资源均已清除。若不满足,接口会报错“movdc-02284:Resource set xxxx has resources in use.”URLDELETE https://{SC北向接口域名}/rest/vdc/v3.0/projects/{project_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx请求体:无状态码:成功(204)响应体:无8. 删除租户/VDC接口约束:删除VDC时,需确保:1. 不存在子级VDC;2. VDC内不存在用户;3. VDC内不存在资源集。若不满足,接口会报错“movdc-01136:The VDC has x lower-level VDCs, x users, x resource sets that include resources.”URLDELETE https://{SC北向接口域名}/rest/vdc/v3.0/vdcs/{vdc_id}请求头Content-Type:application/json X-Auth-Token:x-xxxxxxxxxxx响应体:无成功状态码:204
  • [集成开发] 【ManageOne运维侧】分布式消息服务(DMS)性能查询
    1 数据分析平台介绍数据分析平台及相关接口可介绍参考:cid:link_02 分布式消息服务(DMS)性能查询注:调用API步骤可参考:cid:link_0HCS 8.5.1及以上版本支持查询。2.1 Kafka性能查询URLPOST https://{OC北向接口域名}/rest/analysis/v1/datasets/perf-namespace-sys-dms?pageNo=1&pageSize=1000请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体(建议endTime取当前时间的时间戳,beginTime取10分钟前的时间戳){    "timeRange": {        "beginTime": 1646985312000,        "endTime": 1647071952452   },    "filters": {   },    "dimensions": [       {            "field": "dimensions.object.id",            "index": 1       },       {            "field": "dimensions.object.name",            "index": 2       }   ],    "metrics": [       {            "aggType": "avg",            "field": "metrics.group_msgs"       },       {            "aggType": "avg",            "field": "metrics.current_partitions"       }   ]}注:响应体中的id可对应CLOUD_DMS_INSTANCE的resId。响应体中可能存在一些无性能数据的空字段,直接忽略即可。相关接口:查询DMS实例列表:GET https://{OC北向接口域名}/rest/tenant-resource/v1/instances/CLOUD_DMS_INSTANCE?pageNo=1&pageSize=1000指标说明(指标关键字/指标含义/单位) 上报频率:1min。(以OC资源性能界面显示为准) 注:如果未查询到性能数据,请登录”OC界面->集中监控->资源监控“,找到对应资源,检查该资源性能指标是否有数据。如果页面上无数据,表明该指标未上报数据;若页面上有数据,请检查参数是否有误。kafka(实例)性能指标:group_msgs--Kafka堆积消息数--Countcurrent_partitions--分区数--Countcurrent_topics--主题数--Countkafka(节点)性能指标:查询以下指标时,需添加维度dimensions.oridim.kafka_brokerbroker_bytes_in_rate--节点生产流量(Kafka)--byte/sbroker_connections--连接数--Countbroker_total_bytes_in_rate--网络入流量--byte/sbroker_cpu_usage--CPU使用率--%broker_disk_write_rate--磁盘写流量--byte/sbroker_memory_usage--内存使用率--%broker_alive--节点存活状态--Countbroker_disk_usage--磁盘容量使用率--%broker_disk_read_await--磁盘平均读操作耗时--msbroker_cpu_core_load--CPU核均负载--Countbroker_data_size--节点数据容量--bytebroker_fetch_mean--消费请求平均处理时长--msbroker_bytes_out_rate--节点消费流量(Kafka)--byte/sbroker_messages_in_rate--节点消息生产速率(Kafka)--Count/sbroker_disk_write_await--磁盘平均写操作耗时--msbroker_produce_mean--生产请求平均处理时长--msbroker_total_bytes_out_rate--网络出流量--byte/sbroker_disk_read_rate--磁盘读流量--byte/sbroker_heap_usage--Kafka进程JVM堆内存使用率--%kafka(消费组)性能指标:查询以下指标时,需添加维度dimensions.oridim.kafka_groupsconsumer_messages_consumed--消费组已消费消息数--Countconsumer_messages_remained--Kafka消费组可消费消息数--Countkafka(主题)性能指标:查询以下指标时,需添加维度dimensions.oridim.kafka_topicstopic_bytes_in_rate--主题生产流量--byte/stopic_data_size--主题数据容量--bytetopic_messages_in_rate--主题消息生产速率(Kafka)--Count/stopic_messages--主题消息总数--Counttopic_bytes_out_rate--主题消费流量(Kafka)--byte/s2.2 RocketMQ性能查询URLPOST https://{OC北向接口域名}/rest/analysis/v1/datasets/perf-namespace-sys-dms?pageNo=1&pageSize=1000请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体(建议endTime取当前时间的时间戳,beginTime取10分钟前的时间戳){ "timeRange": { "beginTime": 1646985312000, "endTime": 1647071952452 }, "filters": { }, "dimensions": [ { "field": "dimensions.object.id", "index": 1 }, { "field": "dimensions.object.name", "index": 2 } ], "metrics": [ { "aggType": "avg", "field": "metrics.current_queues" }, { "aggType": "avg", "field": "metrics.instance_produce_msg" } ]}注:响应体中的id可对应CLOUD_DMS_INSTANCE的resId。响应体中可能存在一些无性能数据的空字段,直接忽略即可。相关接口:查询DMS实例列表:GET https://{OC北向接口域名}/rest/tenant-resource/v1/instances/CLOUD_DMS_INSTANCE?pageNo=1&pageSize=1000指标说明(指标关键字/指标含义/单位) 上报频率:1min。(以OC资源性能界面显示为准) 注:如果未查询到性能数据,请登录”OC界面->集中监控->资源监控“,找到对应资源,检查该资源性能指标是否有数据。如果页面上无数据,表明该指标未上报数据;若页面上有数据,请检查参数是否有误。RocketMQ(实例)性能指标:current_queues--队列数--Countinstance_produce_msg--实例消息生产数(RocketMQ)--Countcurrent_topics--主题数--Countinstance_consume_msg--实例消息消费数(RocketMQ)--Countinstance_accumulation--RocketMQ堆积消息数--CountRocketMQ(节点)性能指标:查询以下指标时,需添加维度dimensions.oridim.reliablemq_brokerbroker_memory_usage--内存使用率--%broker_produce_p999--节点生产请求P99.9处理时长--msbroker_disk_usage--磁盘容量使用率--%broker_produce_rate--节点消息生产速率(RocketMQ)--Count/sbroker_produce_msg--节点消息生产数(RocketMQ)--Countbroker_cpu_core_load--CPU核均负载--Countbroker_produce_success_rate--生产成功率--%broker_produce_p99--节点生产请求P99处理时长--msbroker_consume_msg--节点消息消费数(RocketMQ)--Countbroker_produce_scheduled_msg--一分钟生产定时消息数--Countbroker_disk_write_rate--磁盘写流量--byte/sbroker_cpu_usage--CPU使用率--%broker_connections--连接数--Countbroker_total_bytes_in_rate--网络入流量--byte/sbroker_disk_read_await--磁盘平均读操作耗时--msbroker_disk_write_await--磁盘平均写操作耗时--msbroker_retention_period--消息保留时间--HOURSbroker_consume_rate--节点消息消费速率(RocketMQ)--Count/sbroker_total_bytes_out_rate--网络出流量--byte/sbroker_disk_read_rate--磁盘读流量--byte/sbroker_alive--节点存活状态--CountRocketMQ(消费组)性能指标:查询以下指标时,需添加维度dimensions.oridim.reliablemq_groupsgroup_accumulation--RocketMQ消费组可消费消息数--Countgroup_consume_msg--消费组消息消费数(RocketMQ)--CountRocketMQ(主题)性能指标:查询以下指标时,需添加维度dimensions.oridim.reliablemq_topicstopic_bytes_in_rate--主题生产流量--byte/stopic_consume_rate--主题消息消费速率(RocketMQ)--count/stopic_produce_rate--主题消息生产速率(RocketMQ)--Count/stopic_bytes_out_rate--主题消费流量--byte/stopic_consume_msg--主题消息消费数(RocketMQ)--Counttopic_produce_msg--主题消息生产数(RocketMQ)--CountRocketMQ(死信队列)性能指标:查询以下指标时,需添加维度dimensions.oridim.reliablemq_dlq_topicsdlq_accumulation--死信主题消息量--Count
  • [集成开发] 【ManageOne运维侧】云搜索服务(CSS)性能查询
    1 数据分析平台介绍数据分析平台及相关接口可介绍参考:cid:link_02 云搜索服务(CSS)性能查询注:调用API步骤可参考:cid:link_0URLPOST https://{OC北向接口域名}/rest/analysis/v1/datasets/perf-namespace-sys-es?pageNo=1&pageSize=1000请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体(建议endTime取当前时间的时间戳,beginTime取10分钟前的时间戳){    "timeRange": {        "beginTime": 1646985312000,        "endTime": 1647071952452   },    "filters": {   },    "dimensions": [       {            "field": "dimensions.object.id",            "index": 1       },       {            "field": "dimensions.object.name",            "index": 2       }   ],    "metrics": [       {            "aggType": "avg",            "field": "metrics.nodes_count"       },       {            "aggType": "avg",            "field": "metrics.avg_free_fs_size"       }   ]}注:响应体中的id可对应CLOUD_CSS_CLUSTER的resId。响应体中可能存在一些无性能数据的空字段,直接忽略即可。相关接口:查询css列表:GET https://{OC北向接口域名}/rest/tenant-resource/v1/instances/CLOUD_CSS_CLUSTER?pageNo=1&pageSize=1000指标说明(指标关键字/指标含义/单位) 上报频率:1min。(以OC资源性能界面显示为准) 注:如果未查询到性能数据,请登录”OC界面->集中监控->资源监控“,找到对应资源,检查该资源性能指标是否有数据。如果页面上无数据,表明该指标未上报数据;若页面上有数据,请检查参数是否有误。max_jvm_heap_usage--最大JVM堆使用率--%max_cpu_time_of_jvm_process--最大JVM进程使用的CPU时间--mssum_thread_pool_force_merge_rejected--Forcemerge队列中总的已拒绝任务数avg_max_file_descriptors--最大允许的文件描述符数avg_thread_pool_write_rejected--Write队列中平均已拒绝任务数max_mem_used_in_bytes--最大已用内存空间--bytesum_thread_pool_index_threads--Index线程池总大小avg_jvm_old_gc_count--JVM老年代平均GC次数IndexingLatency--平均索引延迟--msavg_thread_pool_index_threads--Index线程池平均大小total_fs_size--文件系统总大小--bytemax_current_opened_http_count--最大当前打开的Http连接数sum_thread_pool_force_merge_threads--ForceMerge线程池总大小sum_thread_pool_index_queue--Index队列中总排队任务数sum_thread_pool_bulk_rejected--Bulk队列中总的已拒绝任务数max_jvm_young_gc_time--最大JVM Young GC耗时--msavg_thread_pool_bulk_threads--Bulk线程池平均大小total_shards_count--分片数量sum_jvm_old_gc_count--JVM老年代总GC次数sum_thread_pool_write_threads--Write线程池总大小max_thread_pool_bulk_queue--Bulk队列中最大排队任务数avg_thread_pool_index_queue--Index队列中平均排队任务数avg_thread_pool_bulk_queue--Bulk队列中平均排队任务数sum_thread_pool_write_queue--Write队列中总排队任务数avg_mem_used_in_bytes--平均已用内存空间--byteavg_thread_pool_write_threads--Write线程池平均大小avg_jvm_old_gc_time--JVM老年代平均GC时间--msmax_jvm_old_gc_count--最大JVM Old GC次数max_cpu_usage--最大CPU利用率--%docs_count--文档数量max_thread_pool_search_queue--Search队列中最大排队任务数primary_shards_count--主分片数量avg_jvm_young_gc_count--JVM年轻代平均GC次数sum_thread_pool_force_merge_queue--ForceMerge队列中总排队任务数avg_mem_used_percent--平均已用内存比例--%sum_thread_pool_search_threads--Search线程池总大小coordinating_nodes_count--协调节点数量min_free_fs_size--最小可用存储空间--bytemaster_nodes_count--Master节点数量sum_open_file_descriptors--已打开的文件描述符数avg_thread_pool_write_queue--Write队列中平均排队任务数status--集群健康状态max_thread_pool_force_merge_queue--ForceMerge队列中最大排队任务数max_mem_used_percent--最大已用内存比例--%SearchRate--平均查询速率max_total_opened_http_count--最大全部打开的Http连接数avg_thread_pool_search_threads--Search线程池平均大小max_open_file_descriptors--已打开的最大文件描述符数sum_thread_pool_bulk_threads--Bulk线程池总大小sum_thread_pool_search_rejected--Search队列中总的已拒绝任务数max_mem_free_in_bytes--最大可用内存空间--byteingest_nodes_count--Client节点数量avg_thread_pool_search_queue--Search队列中平均排队任务数SearchLatency--平均查询延迟--msavg_thread_pool_force_merge_threads--ForceMerge线程池平均大小avg_load_average--平均节点Load值sum_jvm_old_gc_time--JVM老年代总GC时间--mssum_jvm_young_gc_count--JVM年轻代总GC次数sum_thread_pool_write_rejected--Write队列中总的已拒绝任务数max_load_average--最大节点Load值docs_deleted_count--被删除的文档数量sum_thread_pool_index_rejected--Index队列中总的已拒绝任务数max_mem_free_percent--最大可用内存比例sum_total_opened_http_count--历史已打开http连接数sum_jvm_young_gc_time--JVM年轻代总GC时间--msnodes_count--节点数量avg_cpu_usage--平均CPU使用率--%max_thread_pool_index_queue--Index队列中最大排队任务数data_nodes_count--数据节点数量max_jvm_young_gc_count--最大JVM Young GC次数avg_open_file_descriptors--已打开的平均文件描述符数sum_max_file_descriptors--最大允许的文件描述符数sum_thread_pool_bulk_queue--Bulk队列中总排队任务数avg_jvm_heap_usage--平均JVM堆使用率--%avg_mem_free_in_bytes--平均可用内存空间--byteavg_mem_free_percent--平均可用内存比例--%max_jvm_old_gc_time--最大JVM Old GC耗时--msavg_thread_pool_force_merge_queue--ForceMerge队列中平均排队任务数disk_util--磁盘使用率--%IndexingRate--平均索引速率avg_jvm_young_gc_time--JVM年轻代平均GC时间--mssum_thread_pool_search_queue--Search队列中总排队任务数free_fs_size--文件系统可用大小--byteindices_count--索引数量sum_current_opened_http_count--当前已打开http连接数max_virtual_memory_size_of_jvm_process--最大JVM进程使用的虚拟内存大小--byteavg_free_fs_size--平均可用存储空间--byte
  • [集成开发] AppCube性能查询
    1 数据分析平台介绍数据分析平台及相关接口可介绍参考:cid:link_02 AppCube性能查询注:调用API步骤可参考:cid:link_0URLPOST https://{OC北向接口域名}/rest/analysis/v1/datasets/perf-namespace-app-appcube?pageNo=1&pageSize=1000请求头Content-Type:application/jsonX-Auth-Token:x-xxxxxxxxxxx请求体(建议endTime取当前时间的时间戳,beginTime取10分钟前的时间戳){    "timeRange": {        "beginTime": 1646985312000,        "endTime": 1647071952452   },    "filters": {   },    "dimensions": [       {            "field": "dimensions.object.id",            "index": 1       },       {            "field": "dimensions.object.name",            "index": 2       }   ],    "metrics": [       {            "aggType": "avg",            "field": "metrics.appcube_nginx_apdex_overall"       },       {            "aggType": "avg",            "field": "metrics.appcube_nginx_response_time_avg"       }   ]}注:响应体中的id可对应CLOUD_APPCUBE_INSTANCE的resId。响应体中可能存在一些无性能数据的空字段,直接忽略即可。相关接口:查询appcube列表:GET https://{OC北向接口域名}/rest/tenant-resource/v1/instances/CLOUD_APPCUBE_INSTANCE?pageNo=1&pageSize=1000指标说明(指标关键字/指标含义/单位) 上报频率:1min。(以OC资源性能界面显示为准) 注:如果未查询到性能数据,请登录”OC界面->集中监控->资源监控“,找到对应资源,检查该资源性能指标是否有数据。如果页面上无数据,表明该指标未上报数据;若页面上有数据,请检查参数是否有误。appcube_nginx_apdex_overall--5分钟维度的应用性能指数--%appcube_nginx_request_byte_sent--5分钟内响应客户端请求消耗的平均带宽--MBpsappcube_nginx_tpm--实例每分钟处理请求的吞吐量之和--Count/mappcube_nginx_response_time_avg--实例每分钟请求平均响应时长--sappcube_nginx_request_client_error_rate--实例每分钟客户端请求错误率--%appcube_nginx_request_server_error_rate--实例每分钟服务端请求错误率--%appcube_cce_cluster_status--CCE集群健康状态appcube_dmax_tenantCurrentPages--DMAX当前已使用页面数量--Countappcube_dmax_tenantMaxPages--DMAX最大可用页面数量--Countappcube_dmax_tenantUsedPercent--DMAX页面使用率--%