华为乾坤-URL规则

时间:2025-02-17 11:38:20

URL规则

开放可编程接口中各业务模块的URL支持拼接,手册中仅给出常用的URL,其他URL可通过如下规则进行拼接:

请求格式:

推荐使用/restconf/v2前缀的接口:

/restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}

不推荐使用/restconf/v1前缀的接口:

/restconf/v1/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}

/restconf/v2和/restconf/v1接口前缀的区别:

表1

请求类型

/restconf/v2

/restconf/v1

GET

支持:查询指定对象的接口

支持:查询指定对象的接口

POST

支持:创建接口,如果对象已经存在,创建失败

支持:创建接口,如果对象已经存在,创建失败

PUT

支持:全量更新接口,字段不传会被删除

支持:增量更新接口,字段不传不会被删除

DELETE

支持:删除接口,删除指定对象,如果对象不存在,返回数据不存在

支持:删除接口,删除指定对象,如果对象不存在,返回数据不存在

PATCH

支持:增量更新接口,字段不传不会被删除

不支持

请求参数:/restconf/v2和/restconf/v1接口的请求参数逻辑均相同
  • neId:设备id
  • moduleName:模块名称,各业务模块的模块名请参考各章节
  • xxx:取值说明如下:
    • 不填写,对整个模块进行操作。
    • API手册中,标识为必填的字段,使用字段值进行拼接;没有标识为必填的字段,使用字段名拼接。
    • {xxx}可以支持16个层级,即:

      /restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}

      /restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}/{xxx}

      /restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}/{xxx}/{xxx}

      /restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/{moduleName}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}/{xxx}

示例:以route-policy为例,假设route-policy的数据如下:

{
"huawei-nce-e-route-policy:route-policy": [
{
"name": "policy1",
"nodes": [
{
"sequence": 1,
"match-mode": "permit",
"condition": {
"community-filter": [
{
"community-filter-name": "communityFilterName1"
}
],
"ext-community-filter": [
{
"ext-community-filter-name": "extCommunityFilterName1"
}
]
}
}
]
}
]
}
  • 不填写{xxx}。

    URL为:/restconf/v2/data/huawei-ac-nes-device:nes/ne/{id}/huawei-nce-e-route-policy:route-policy,其中PUT的请求体可参考GET的返回结果,“huawei-nce-e-route-policy:route-policy”为数组,可包含多个元素,示例如下:

    {
    "huawei-nce-e-route-policy:huawei-nce-e-route-policy:route-policy": [
    {
    "name": "policy1",
    "nodes": [
    {
    "sequence": 1,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    }
    }
    ]
    },{
    "name": "policy2",
    "nodes": [
    {
    "sequence": 1,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    }
    }
    ]
    }
    ]
    }
  • 假设文档中已说明参数名称为“name”,对应参数说明为“必填字段”

    拼接时使用name的值拼接,URL为:/restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/huawei-nce-e-route-policy:route-policy/policy1,其中PUT的请求体可参GET的返回结果,“huawei-nce-e-route-policy:route-policy”为数组,但仅能包含“name”“policy1”的一个元素,示例如下:

    {
    "huawei-nce-e-route-policy:huawei-nce-e-route-policy:route-policy": [
    {
    "name": "policy1",
    "nodes": [
    {
    "sequence": 1,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    }
    ]
    }
    ]
    }
  • 假设文档中已说明参数名称为“nodes”对应的参数说明非“必填字段”,拼接时使用字段名nodes拼接,URL为:/restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/huawei-nce-e-route-policy:route-policy/policy1/nodes,其中PUT的请求体可参GET的返回结果,“huawei-nce-e-route-policy:nodes”为数组,可包含多个元素,示例如下:
    {
    "huawei-nce-e-route-policy:nodes": [
    {
    "sequence": 1,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    },
    {
    "sequence": 2,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    }
    ]
    }
  • 假设文档中已说明参数名称为“sequence”,对应的参数说明为“必填参数”

    拼接时使用“sequence”的值拼接,URL为:/restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/huawei-nce-e-route-policy:route-policy/policy1/nodes/1,其中PUT的请求体可参GET的返回结果,“huawei-nce-e-route-policy:nodes”为数组,但仅能包含“sequence”为1的一个元素:

    {
    "huawei-nce-e-route-policy:nodes": [
    {
    "sequence": 1,
    "match-mode": "permit",
    "condition": {
    "community-filter": [
    {
    "community-filter-name": "communityFilterName1"
    }
    ],
    "ext-community-filter": [
    {
    "ext-community-filter-name": "extCommunityFilterName1"
    }
    ]
    }
    }
    ]
    }
  • 假设文档中已说明参数名称为“match-mode”,参数说明不是“必填字段”

    拼接时使用字段名“match-mode”拼接,URL为:/restconf/v2/data/huawei-ac-nes-device:nes/ne/[neId]/huawei-nce-e-route-policy:route-policy/policy1/nodes/1/match-mode,其中PUT的请求体可参GET的返回结果为:

    {
    "huawei-nce-e-route-policy:match-mode": "permit"
    }
support.huaweicloud.com/qiankuncmn-qiankuncs/toctopics/zh-cn_topic_0000002159327125.html