Forum Discussion
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.