Disabling the Guest Shell and Querying the Result

This section contains payload examples to demonstrate how to use the NX-API REST API to control the state of the Guest Shell on the Cisco Nexus 3000 and 9000 Series switches.

For more information about the Guest Shell, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-installation-and-configuration-guides-list.html/

Disabling the Guest Shell

Disabling the Guest Shell
POST http://<IP_address>/api/mo/sys/action.json
{
"actionLSubj": {
  "attributes": {
    "dn": "sys/action/lsubj-[sys]"
  }
  "children" : [{
    "guestshellGuestShellDisableLTask": {
      "attributes": {
        "adminSt": "start",
        "dn": "sys/action/lsubj-[sys]/guestshellGuestShellDisableLTask",
        "freq": "one-shot",
        "descr": ""
}}}]}}

Note: This example was added in Release 9.3(3).

If the Guest Shell is active and you want to stop it, freeing up memory and CPU resources, yet preserving the files on the Guest Shell rootfs, post a guestshellGuestShellDisableLTask action. You can re-enabled the Guest Shell at a later time by posting a guestshellGuestShellEnableLTask action.


CLI Commands

The CLI command is equivalent to the payload example displayed in the pane on the right.

guestshell disable


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
actionLSubj sys/action/lsubj-{[oDn]}
guestshellGuestShellDisableLTask sys/action/lsubj-{[oDn]}/guestshellGuestShellDisableLTask


actionLSubj Properties

The following table contains information about the actionLSubj properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
dn
reference:BinRef
A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.


guestshellGuestShellDisableLTask Properties

The following table contains information about the guestshellGuestShellDisableLTask properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminSt
action:AdminSt
scalar:Enum8
The administrative state of the object or policy.SELECTION:
  • 0 - unknown
  • 1 - start
  • 2 - stop
  • 3 - suspend
  • DEFAULT: unknown(0)
  • dn
    reference:BinRef
    A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.
    freq
    action:Freq
    scalar:Time
    Frequency at which tasks are executedSELECTION:
  • 0ull - one-shot
  • DEFAULT: 0
  • descr
    action:Descr
    string:Basic
    RANGE: Min: "0" Max: "128"


    Related Documentation

    For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

    http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

    See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

    https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

    For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

    https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

    Querying the Result of the Guest Shell Disable Request (Example 1)

    Querying the Result of the Guest Shell Disable Request (Example 1)
    
    GET http://<IP_Address>/api/mo/sys/action/lsubj-[sys]/guestshellGuestShellDisableRslt.json
    
    {
        "totalCount": "1",
        "imdata": [
            {
                "guestshellGuestShellDisableRslt": {
                    "attributes": {
                        "ack": "no",
                        "childAction": "",
                        "descr": "",
                        "dn": "sys/action/lsubj-[sys]/guestshellGuestShellDisableRslt",
                        "endTs": "never",
                        "modTs": "never",
                        "operSt": "processing",
                        "peerClassId": "guestshellGuestShellDisableLTask",
                        "qual": "",
                        "rSz": "100",
                        "rTm": "00:00:00:00.000",
                        "startTs": "2019-10-19T11:03:40.903+00:00",
                        "status": "",
                        "type": "clear"
                    }
                }
            }
        ]
    }
    

    Note: This example was added in Release 9.3(3).

    The endTs of “never” and operSt of “processing” indicates that the disable request is being processed, but it has yet to finish. Repeating the request for the disable result after some time shows an operSt attribute of “completed” and the time in which the disable request finished in the endTs attribute (see example 2).


    Verifying a DME Configuration
    The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

    MODN
    guestshellGuestShellDisableRslt sys/action/lsubj-{[oDn]}/guestshellGuestShellDisableRslt


    guestshellGuestShellDisableRslt Properties

    The following table contains information about the guestshellGuestShellDisableRslt properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

    Property NameData TypeDescriptionValues
    ack
    scalar:Bool
    The acknowledgement status of the fault. If a fault is acknowledged and cleared, it is immediately deleted. If a fault is not acknowledged and cleared, it is deleted after the retention interval.SELECTION:
  • false - no
  • true - yes
  • DEFAULT: no(false)
  • childAction
    mo:ModificationChildAction
    scalar:Bitmask32
    Delete or ignore. For internal use only.SELECTION:
  • 16384u - deleteAll
  • 4096u - ignore
  • 8192u - deleteNonPresent
  • DEFAULT: 0
  • descr
    action:Descr
    string:Basic
    RANGE: Min: "0" Max: "128"
    dn
    reference:BinRef
    A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.
    endTs
    mo:TStamp
    scalar:Date
    The date and time when the task ended.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • modTs
    mo:TStamp
    scalar:Date
    The time when this object was last modified.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • operSt
    action:OperSt
    scalar:Enum8
    The runtime state of the object or policy.SELECTION:
  • 0 - scheduled
  • 1 - processing
  • 2 - completed
  • 3 - cancelled
  • 4 - failed
  • 5 - indeterminate
  • 6 - suspended
  • 7 - crashsuspect
  • DEFAULT: scheduled(0)
  • peerClassId
    mo:MoClassId
    The BGP neighbor.DEFAULT: guestshellGuestShellDisableLTask
    qual
    action:Qual
    string:Basic
    The qualifier for the component status. RANGE: Min: "0" Max: "512"
    rSz
    action:RetentionSize
    scalar:Uint16
    The retention size of the task results. RANGE: Min: 1 Max: 1024
  • DEFAULT: 100
  • rTm
    action:RetentionTime
    scalar:Time
    The retention time of the task results.
    startTs
    mo:TStamp
    scalar:Date
    The date and time when the task began.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • status
    mo:ModificationStatus
    scalar:Bitmask32
    The upgrade status. This property is for internal use only.SELECTION:
  • 16u - replaced
  • 2u - created
  • 4u - modified
  • 8u - deleted
  • DEFAULT: 0
  • type
    action:Type
    scalar:Enum8
    The specific type of the object or component.SELECTION:
  • 1 - clear
  • 2 - reset
  • 3 - reload
  • 4 - locate
  • 5 - install
  • 6 - test
  • 7 - collect
  • 8 - interface-in-service
  • DEFAULT: clear(1)

  • Related Documentation

    For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

    http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

    See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

    https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

    For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

    https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

    Querying the Result of the Guest Shell Disable Request (Example 2)

    Querying the Result of the Guest Shell Disable Request (Example 2)
    
    GET http://<IP_Address>/api/mo/sys/action/lsubj-[sys]/guestshellGuestShellDisableRslt.json
    
    {
        "totalCount": "1",
        "imdata": [
            {
                "guestshellGuestShellDisableRslt": {
                    "attributes": {
                        "ack": "no",
                        "childAction": "",
                        "descr": "Guestshell disabled successfully",
                        "dn": "sys/action/lsubj-[sys]/guestshellGuestShellDisableRslt",
                        "endTs": "2019-10-19T11:03:46.769+00:00",
                        "modTs": "never",
                        "operSt": "completed",
                        "peerClassId": "guestshellGuestShellDisableLTask",
                        "qual": "",
                        "rSz": "100",
                        "rTm": "00:00:00:00.000",
                        "startTs": "2019-10-19T11:03:40.903+00:00",
                        "status": "",
                        "type": "clear"
                    }
                }
            }
        ]
    }
    

    Note: This example was added in Release 9.3(3).


    Verifying a DME Configuration
    The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

    MODN
    guestshellGuestShellDisableRslt sys/action/lsubj-{[oDn]}/guestshellGuestShellDisableRslt


    guestshellGuestShellDisableRslt Properties

    The following table contains information about the guestshellGuestShellDisableRslt properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

    Property NameData TypeDescriptionValues
    ack
    scalar:Bool
    The acknowledgement status of the fault. If a fault is acknowledged and cleared, it is immediately deleted. If a fault is not acknowledged and cleared, it is deleted after the retention interval.SELECTION:
  • false - no
  • true - yes
  • DEFAULT: no(false)
  • childAction
    mo:ModificationChildAction
    scalar:Bitmask32
    Delete or ignore. For internal use only.SELECTION:
  • 16384u - deleteAll
  • 4096u - ignore
  • 8192u - deleteNonPresent
  • DEFAULT: 0
  • descr
    action:Descr
    string:Basic
    RANGE: Min: "0" Max: "128"
    dn
    reference:BinRef
    A tag or metadata is a non-hierarchical keyword or term assigned to the fabric module.
    endTs
    mo:TStamp
    scalar:Date
    The date and time when the task ended.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • modTs
    mo:TStamp
    scalar:Date
    The time when this object was last modified.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • operSt
    action:OperSt
    scalar:Enum8
    The runtime state of the object or policy.SELECTION:
  • 0 - scheduled
  • 1 - processing
  • 2 - completed
  • 3 - cancelled
  • 4 - failed
  • 5 - indeterminate
  • 6 - suspended
  • 7 - crashsuspect
  • DEFAULT: scheduled(0)
  • peerClassId
    mo:MoClassId
    The BGP neighbor.DEFAULT: guestshellGuestShellDisableLTask
    qual
    action:Qual
    string:Basic
    The qualifier for the component status. RANGE: Min: "0" Max: "512"
    rSz
    action:RetentionSize
    scalar:Uint16
    The retention size of the task results. RANGE: Min: 1 Max: 1024
  • DEFAULT: 100
  • rTm
    action:RetentionTime
    scalar:Time
    The retention time of the task results.
    startTs
    mo:TStamp
    scalar:Date
    The date and time when the task began.SELECTION:
  • 0ull - never
  • DEFAULT: never(0ull)
  • status
    mo:ModificationStatus
    scalar:Bitmask32
    The upgrade status. This property is for internal use only.SELECTION:
  • 16u - replaced
  • 2u - created
  • 4u - modified
  • 8u - deleted
  • DEFAULT: 0
  • type
    action:Type
    scalar:Enum8
    The specific type of the object or component.SELECTION:
  • 1 - clear
  • 2 - reset
  • 3 - reload
  • 4 - locate
  • 5 - install
  • 6 - test
  • 7 - collect
  • 8 - interface-in-service
  • DEFAULT: clear(1)

  • Related Documentation

    For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

    http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

    See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

    https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

    For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

    https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html