O.K.
O.K.

Reputation: 95

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

When I try to change the administrative state of a port on the Cisco APIC via rest API (aci_rest) then I'm getting the following error :

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

Does anyone have any idea about that?
Thanks in advance.

- 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",
          }
        }
     }

Upvotes: -2

Views: 851

Answers (2)

acousticpanic
acousticpanic

Reputation: 21

Same thing here, but just trying to add a description. I get locking down a physical port object. Kinda. But a description?

The class mentioned above doesn't have any attribs that apply to a port description. Anyone have success at this?

I'm currently just using Postman to test, but will eventually throw this into python

API Post (port 10 for example):

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

JSON body:

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

Response: 400 Bad Request

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

Upvotes: 0

O.K.
O.K.

Reputation: 95

I've solved the problem. Cisco has restricted "l1PhysIf" object and there is documentation which looks like: Class l1: PhysIf (CONCRETE) Class ID:3627 Class Label: Layer 1 Physical Interface Configuration Encrypted: false - Exportable: false - Persistent: true - Configurable: false - Subject to Quota: Disabled - Abstraction Layer: Concrete Model - APIC NX Processing: Disabled Write Access: [NON CONFIGURABLE]

I've used "fabricRsOosPath" instead and it has worked.

Upvotes: 0

Related Questions