Forum Discussion
Adding actions to iControlREST transaction
on my side it is working, using 11.6 here is the workflow
1) transaction creation : POST /mgmt/tm/transaction response :
{
"transId": 1411771265430600,
"state": "STARTED",
"timeoutSeconds": 30,
"kind": "tm:transactionstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600?ver=11.6.0"
}2) adding a command to transaction POST /mgmt/tm/ltm/pool
Header : X-F5-REST-Coordination-Id: 1411771265430600
Payload:
{
"name":"transac-pool1",
"members": [ {"name":"192.168.25.32:80","description":"First pool for transactions"} ]
}Response :
{
"method": "POST",
"uri": "https://localhost/mgmt/tm/ltm/pool",
"body": {
"name": "transac-pool1",
"members": [ {
"name": "192.168.25.32:80",
"description": "First pool for transactions"
}]
},
"evalOrder": 1,
"commandId": 1,
"kind": "tm:transaction:commandsstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600/commands/1?ver=11.6.0"
}i received a 200 OK but if you check the response code is slightly different from a traditional REST call.
3) second call for another pool is doing the same thing
4) having a look to the pending commands : GET /mgmt/tm/transaction/1411771265430600/commands
{
"kind": "tm:transaction:commandscollectionstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600/commands?ver=11.6.0",
"items": [
{
"method": "POST",
"uri": "https://localhost/mgmt/tm/ltm/pool",
"body": {
"name": "transac-pool1",
"members": [ {
"name": "192.168.25.32:80",
"description": "First pool for transactions"
}]
},
"evalOrder": 1,
"commandId": 1,
"kind": "tm:transaction:commandsstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600/commands/1?ver=11.6.0"
},
{
"method": "POST",
"uri": "https://localhost/mgmt/tm/ltm/pool",
"body": {
"name": "transac-pool2",
"members": [ {
"name": "192.168.25.32:80",
"description": "second pool for transactions"
}]
},
"evalOrder": 2,
"commandId": 2,
"kind": "tm:transaction:commandsstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600/commands/2?ver=11.6.0"
}
]
}5) then submit transaction PATCH /mgmt/tm/transaction/1411771265430600
no header !
payload :
{ "state":"VALIDATING" }response:
{
"transId": 1411771265430600,
"state": "COMPLETED",
"timeoutSeconds": 30,
"kind": "tm:transactionstate",
"selfLink": "https://localhost/mgmt/tm/transaction/1411771265430600?ver=11.6.0"
}Having a look to GUI, pool is created.
Regarding you test, the second POST request should be correct, you create a POST as you would do usually but only the header F5-REST-Coordination-Id differentiate it from a normal request.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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