cancel
Showing results for 
Search instead for 
Did you mean: 
Post a Question

R80 API - set static route

Hi,


I've been working with R80' API with Python rest calls. I'm trying to configure static routes via API. I didn't find any api call related to routes, so I guess the only way is using the "run-script" and "put-file".

I've sucessfully used the put-file to upload the script to the host. But whenever i use the run-script to run the script, i get:


statusCode: "failed"

statusDescription: Permission denied


Does anyone know how to fix this?


Thanks

0 Kudos
7 Replies
Admin
Admin

Re: R80 API - set static route

You probably have to make the script executable (e.g. with chmod) before you can execute it.

0 Kudos
Employee+
Employee+

Re: R80 API - set static route

please see this one:

Can we get the routes from R80? 

This command will run in "BASH" mode 

for clish mode is needed to run clish command .

 

 

1. login


2. run-script

{
"script-name" : "show routes",
"script" : "netstat -nr",
"targets" : [ "mgmt" ]
}

 

Results:
{
"tasks": [
{
"target": "mgmt",
"task-id": "b3ee3851-8c50-47e7-96a5-5b897538bab9"
}
]
}

 

3. show-task

{
"task-id" : "b3ee3851-8c50-47e7-96a5-5b897538bab9" , 
"details-level" : "full"
}

 

Results:

{
"tasks": [
{
"uid": "690c8f82-d1d1-4060-96ea-86a99950cfe0",
"name": "mgmt - show routes",
"type": "CdmTaskNotification",
"domain": {
"uid": "41e821a0-3720-11e3-aa6e-0800200c9fde",
"name": "SMC User",
"domain-type": "domain"
},
"task-id": "b3ee3851-8c50-47e7-96a5-5b897538bab9",
"task-name": "mgmt - show routes",
"status": "succeeded",
"progress-percentage": 100,
"start-time": {
"posix": 1501670168404,
"iso-8601": "2017-08-02T13:36+0300"
},
"last-update-time": {
"posix": 1501670170686,
"iso-8601": "2017-08-02T13:36+0300"
},
"suppressed": false,
"task-details": [
{
"uid": "aa1e472e-9a7c-47e1-891a-a060e3b4262a",
"name": null,
"domain": {
"uid": "41e821a0-3720-11e3-aa6e-0800200c9fde",
"name": "SMC User",
"domain-type": "domain"
},
"color": "black",
"statusCode": "succeeded",
"statusDescription": "Kernel IP routing table, Destination Gateway Genmask Flags MSS Window irtt Iface, 1.1.1.0 0.0.0.0 255.255.255.254 U 0 0 0 eth0.3, 10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0, 0.0....",
"taskNotification": "690c8f82-d1d1-4060-96ea-86a99950cfe0",
"gatewayId": "37308a02-7395-0a43-9765-562fabbd76c2",
"gatewayName": "",
"transactionId": 235893072,
"responseMessage": "S2VybmVsIElQIHJvdXRpbmcgdGFibGUKRGVzdGluYXRpb24gICAgIEdhdGV3YXkgICAgICAgICBHZW5tYXNrICAgICAgICAgRmxhZ3MgICBNU1MgV2luZG93ICBpcnR0IElmYWNlCjEuMS4xLjAgICAgICAgICAwLjAuMC4wICAgICAgICAgMjU1LjI1NS4yNTUuMjU0IFUgICAgICAgICAwIDAgICAgICAgICAgMCBldGgwLjMKMTAuMC4wLjAgICAgICAgIDAuMC4wLjAgICAgICAgICAyNTUuMjU1LjAuMCAgICAgVSAgICAgICAgIDAgMCAgICAgICAgICAwIGV0aDAKMC4wLjAuMCAgICAgICAgIDEwLjAuMC4xICAgICAgICAwLjAuMC4wICAgICAgICAgVUcgICAgICAgIDAgMCAgICAgICAgICAwIGV0aDAK",
"responseError": "",
"meta-info": {
"validation-state": "ok",
"last-modify-time": {
"posix": 1501670170723,
"iso-8601": "2017-08-02T13:36+0300"
},
"last-modifier": "admin",
"creation-time": {
"posix": 1501670168688,
"iso-8601": "2017-08-02T13:36+0300"
},
"creator": "admin"
},
"tags": [],
"icon": "General/globalsNa",
"comments": "",
"display-name": "",
"customFields": null
}
],
"comments": "Completed",
"color": "black",
"icon": "General/globalsNa",
"tags": [],
"meta-info": {
"lock": "unlocked",
"validation-state": "ok",
"last-modify-time": {
"posix": 1501670170705,
"iso-8601": "2017-08-02T13:36+0300"
},
"last-modifier": "admin",
"creation-time": {
"posix": 1501670168440,
"iso-8601": "2017-08-02T13:36+0300"
},
"creator": "admin"
},
"read-only": false
}
]
}

4. base64 for "responseMessage"

https://www.base64decode.org/

 

Results:

 

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
1.1.1.0 0.0.0.0 255.255.255.254 U 0 0 0 eth0.3
10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0

0 Kudos

Re: R80 API - set static route

Ofir Sh,

Is it possible to run a configure command directly on "run-script"? I've been trying to configure the static route with something like:

{
"script-name" : "set static route",
"script" : "set static-route 10.10.10.0/24 nexthop gateway logical eth0 priority 1 on",
"targets" : [ "mgmt" ]
}

Then, I get this response:

"tasks": [
    {
      "color": "black",
      "comments": "Completed",
      "domain": {
        "domain-type": "domain",
        "name": "SMC User",
        "uid": "41e821a0-3720-11e3-aa6e-0800200c9fde"
      },
      "icon": "General/globalsNa",
      "last-update-time": {
        "iso-8601": "2017-09-11T07:35-0300",
        "posix": 1505126105056
      },
      "meta-info": {
        "creation-time": {
          "iso-8601": "2017-09-11T07:35-0300",
          "posix": 1505126104780
        },
        "creator": "f9329156",
        "last-modifier": "f9329156",
        "last-modify-time": {
          "iso-8601": "2017-09-11T07:35-0300",
          "posix": 1505126105080
        },
        "lock": "unlocked",
        "validation-state": "ok"
      },
      "name": "px10mancp001 - fileTeste",
      "progress-percentage": 100,
      "read-only": true,
      "start-time": {
        "iso-8601": "2017-09-11T07:35-0300",
        "posix": 1505126104733
      },
      "status": "succeeded",
      "suppressed": false,
      "tags": [],
      "task-details": [
        {
          "color": "black",
          "comments": "",
          "display-name": "",
          "domain": {
            "domain-type": "domain",
            "name": "SMC User",
            "uid": "41e821a0-3720-11e3-aa6e-0800200c9fde"
          },
          "gatewayId": "f37f7517-67e3-cb45-b825-31696de67a52",
          "gatewayName": "",
          "icon": "General/globalsNa",
          "meta-info": {
            "creation-time": {
              "iso-8601": "2017-09-11T07:35-0300",
              "posix": 1505126104806
            },
            "creator": "f9329156",
            "last-modifier": "f9329156",
            "last-modify-time": {
              "iso-8601": "2017-09-11T07:35-0300",
              "posix": 1505126105098
            },
            "validation-state": "ok"
          },
          "responseError": "",
          "responseMessage": "",
          "statusCode": "succeeded",
          "statusDescription": "",
          "tags": [],
          "taskNotification": "d0ad36bc-4644-48c9-b7ff-bad68161088a",
          "transactionId": 629377159,
          "uid": "0339ffd5-1a0e-4099-8166-97dab194e66b"
        }
      ],
      "task-id": "6e181a03-e15e-4297-8348-8b1457b0d4cb",
      "task-name": "px10mancp001 - fileTeste",
      "type": "CdmTaskNotification",
      "uid": "d0ad36bc-4644-48c9-b7ff-bad68161088a"
    }
  ]

But the route is not configured at all.

0 Kudos
Admin
Admin

Re: R80 API - set static route

Try clish -c "set static-route 10.10.10.0/24 nexthop gateway logical eth0 priority 1 on" instead

Re: R80 API - set static route

Dameon,

I works!.  Thanks for help

0 Kudos

Re: R80 API - set static route

Keep in mind that any script is run as BASH script. So you need to switch to CLISH manually.

For a oneliner the suggestion above is fine.

I was thinking about a multi line example but that needs some more testing as I am not getting the right responses yet.

0 Kudos

Re: R80 API - set static route

The sample script below shows you multiple CLISH commands.

clish << EndOfCommands
show interfaces
show interface eth0
show interface eth1
show interface eth3
show route
exit
EndOfCommands

  1. The "EndOfCommands" string at the beginning and end must match exactly.
  2. The exit command as the last valid clish command. Or you end up with a clish procress on your firewall that goes beserk. (Very funny in a lab but not something you want in real life.)

Enjoy.