为什么我不能通过 rest API 更改 cisco apic 上端口的管理状态

Why I can't change the administrative state of a port on cisco apic via rest API

当我尝试通过 rest API (aci_rest) 更改 Cisco APIC 上端口的管理状态时我收到以下错误:

"msg": "APIC Error 170: Invalid access, MO: l1PhysIf",
"status": -1

有人知道吗?
提前致谢。

- name: Change admin state of the port 
  aci_rest:
    hostname: "{{ inventory_hostname }}"
    username: "{{ aci_user }}"
    password: "{{ aci_password }}"
    validate_certs: no
    path: "/api/node/mo/topology/pod-{{ pod_id }}/node-{{ node_id }}/sys/phys-[eth{{ interface }}].json"  
    method: post
    content:
      {
        "l1PhysIf": {
          "attributes": {
            "adminSt":"down",
          }
        }
     }

我已经解决了这个问题。 Cisco 限制了“l1PhysIf”对象,并且有如下文档: Class l1:PhysIf(混凝土) Class ID:3627 Class 标签:第 1 层物理接口配置 加密:false - 可导出:false - 持久性:true - 可配置:false - 受限额限制:禁用 - 抽象层:具体模型 - APIC NX 处理:禁用 写入权限:[不可配置]

我改用了“fabricRsOosPath”并且它起作用了。

同样的事情,但只是想添加一个描述。我锁定了一个物理端口对象。有点。但是描述?

上面提到的class没有任何适用于端口描述的属性。有人成功过吗?

我目前只是使用 Postman 来测试,但最终会把它扔进 python

API Post(例如端口 10):

 https://{{url}}/api/node/mo/topology/pod-1/node-101/sys/phys-[eth1/10].json

JSON正文:

 {
     "l1PhysIf":{
         "attributes":{
             "descr": "CHANGED"
            }
        }
        }

响应:400 错误请求

{
     "error": {
          "attributes": {
               "code": "170",
               "text": "Invalid access, MO: l1PhysIf"
               }
          }
}