Forum Discussion
Rest APi Update iRule
Hi There
I have been researching this all day and cannot seem to get a solution. I am trying to "Update" an iRUle using the Rest API. Im using powershell and am getting the below error:
Invoke-RestMethod : {"code":400,"message":"incomplete command","errorStack":[],"apiError":26214401}
here is my code:
$body = @{apiAnonymous = 'Redirect Traffic to 2 pools based on the URI
when HTTP_REQUEST {
if {[string tolower [HTTP::uri]] contains "/1111/"} {
pool A
} else {
pool B
}
'} | ConvertTo-Json
Invoke-RestMethod -Method PATCH -Uri "https://1.1.1.1/mgmt/tm/ltm/rule/~Partition~coolirule" -Credential $mycreds -body $body -ContentType "application/json"
The only information i can find on this suggests that i delete my iRule and create a new one.... i would like to try and avoid this if i can.
Regards Tim
- Satoshi_Toyosa1Ret. Employee
Most likely due to the special characters not escaped properly (depending on where you run) or LF (0x0A) not written in the literal \n (0x5C 0x6E) in a JSON body. The following curl request worked for me.
cat sat { "apiAnonymous":" this is a test\n when CLIENT_ACCEPTED {\n log local0. \"Hello World\"\n }" } curl -sku admin:admin https:///mgmt/tm/ltm/rule/satoshi -X PATCH -H "Content-Type: application/json" -d@sat { "apiAnonymous": " this is a test\nwhen CLIENT_ACCEPTED {\n log local0. \"Hello World\"\n}", "fullPath": "satoshi", "generation": 986, "kind": "tm:ltm:rule:rulestate", "name": "satoshi", "selfLink": "https://localhost/mgmt/tm/ltm/rule/satoshi?ver=13.1.0" }
- Anjuli_LamEmployee
For information about updating iRules from the REST API, refer to K11799414: Managing iRules using the iControl REST API.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com