/api/space/configuration-management/change-requests (v1)

The following operations are supported on this resource:

  • GET - Gets all change requests
  • POST - Creates a schedulable change request for a device - (Asynchronous Single-Change Request)
GET /change-requests
(Deprecated)
Version 1

This API retrieves all change requests present in the system.

Sample Usage

GET /change-requests


  • Sample Output XML:
    <change-requests size="1" uri="/api/space/configuration-management/change-requests">
       <change-request key="790" uri="/configuration-management/change-requests/790">
         <deviceId>8</deviceId>
         <name>ChangeRequestName_1</name>
         <description>testDesc_1</description>
       </change-request>
       <change-request key="791" uri="/configuration-management/change-requests/791">
         <deviceId>80</deviceId>
         <name>ChangeRequestName_2</name>
         <description>testDesc_2</description>
       </change-request>
    </change-requests>

  • Sample Output JSON:
    {
      "change-requests": {
        "@size": "1",
        "@uri": "/api/space/configuration-management/change-requests",
        "change-request": [
          {
            "@key": "790",
            "@uri": "/configuration-management/change-requests/790",
            "deviceId": "8",
            "name": "ChangeRequestName_1",
            "description" : "testDesc_1"
          },
          {
          "@key": "791",
          "@uri": "/configuration-management/change-requests/791",
          "deviceId": "80",
          "name": "ChangeRequestName_2",
          "description": "testDesc_2"
          }
        ]
      }
    }

  • Access Control

    The following capabilities are required to access this API: ViewChangeRequestsCap

      For the current version of this API, refer to :
    • version 3

    POST /change-requests
    (Deprecated)
    Version 1

    This API creates a schedulable change request for a particular device based on input parameters.

    Sample Usage

    This API makes an asynchronous method call; so, you can optionally specify queue and schedule parameters:

    POST /change-requests?queue=<queue>&schedule=<schedule>


    Note: The queue URL denoted by <queue> must have been created already.


    • Parameters:
      NameTypeURI TypeDescriptionRequired
      queueQueue URLQueryA fully qualified queue URL, where job progress notifications will be sent (See Asynchronous API Usage)N
      schedulecron-like-expressionQuerySchedule this API in the future, by specifying a cron-like-expression (See Job Scheduling)N
  • Sample Input XML:
    <change-request>
       <device href="/api/space/device-management/devices/458753" >
       </device>
      <name>TEST_NAME</name>
         <description>TEST_DESC</description>
      <xmlData>
      <![CDATA[

    Sample input for merging configuration elements

    <configuration>
      <interfaces>
        <interface>
        <name>so-3/0/0</name>
          <unit>
          <name>0</name>
            <family>
              <inet>
                <address>
                  <name>10.0.0.1/8</name>
                </address>
              </inet>
            </family>
          </unit>
        </interface>
      </interfaces>
    </configuration>

    Sample input for replacing configuration elements


    <configuration>
      <system>
        <login>
          <class operation="replace">
            <name>operator</name>
            <permissions>configure</permissions>
            <permissions>admin-control</permissions>
          </class>
        </login>
      </system>
    </configuration>

    Sample input for creating configuration elements


    <configuration>
      <protocols>
        <ospf operation="create">
          <area>
          <name>0</name>
            <interface>
            <name>at-0/1/0.100</name>
            </interface>
          </area>
        </ospf>
      </protocols>
    </configuration>

    Sample input for deleting configuration elements


    <configuration>
      <system>
        <login>
          <user operation="delete">
            <name>barbara</name>
          </user>
        </login>
      </system>
    </configuration>
    ]]>
    </xmlData>
      <syncAfterPush>true</syncAfterPush> </change-request>

  • Sample Output XML:
    <task>
       <id>917507</id>
    </task>

  • Sample Input JSON:

    Sample Input for merging configuration elements:
    {
      "change-request":
        {
          "device":
            {
              "@href":"/api/space/device-management/devices/4587531"
            },
          "name":"TEST_NAME",
          "description":"TEST_DESC",
          "xmlData":"<configuration><interfaces>
                    <interface><name>so-3/0/0</name>
                    <unit>
                        <name>0</name>
                        <family><inet><address>
                        <name>10.0.0.1/8</name></address></inet>
                        </family></unit></interface></ interfaces><
                /configuration>",
          "syncAfterPush":"true"
        }
    }

    Sample input for replacing configuration elements

    {
      "change-request":
        {
          "device":
            {
              "@href":"/api/space/device-management/devices/4587531"
            },
          "name":"TEST_NAME",
          "description":"TEST_DESC",
          "xmlData":"<configuration><system>
                    <login><class operation=\"replace\">
                    <name>operator</name><permissions> configure</permissions>
                    <permissions>admin-control</permissions></class></login>
                    </system></configuration>"
          "syncAfterPush":"true"
        }
    }

    Sample input for creating configuration elements

    {
      "change-request":
        {
          "device":
            {
              "@href":"/api/space/device-management/devices/4587531"
            },
          "name":"TEST_NAME",
          "description":"TEST_DESC",
          "xmlData":"<configuration><protocols><ospf operation=\"create\"><area>
                    <name>0</name><interface>
                    <name>at-0/1/0.100</name></interface> ;
                    </area></ospf></protocols></ configuration>",
          "syncAfterPush":"true"
        }
    }

    Sample input for deleting configuration elements

    {
      "change-request":
        {
          "device":
            {
              "@href":"/api/space/device-management/devices/4587531"
            },
          "name":"TEST_NAME",
          "description":"TEST_DESC",
          "xmlData":"<configuration><protocols><ospf operation=\"delete\"></protocols>
                    </configuration>",
          "syncAfterPush":"true"
        }
    }

  • Sample Output JSON:
    {"task":{"id":917507}}

  • Access Control

    The following capabilities are required to access this API: ExecuteChangeRequestsCap

      For the current version of this API, refer to :
    • version 2