{ "info": { "_postman_id": "b872642b-d416-4f8e-a205-8e3355297892", "name": "F5 Programmability: Class 1", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "_postman_id": "841b2cae-ecaf-44b9-afb0-7694a9d7cb31", "name": "Lab 1.2 - API Authentication & 'example' Templates", "item": [ { "_postman_id": "c1543e18-2403-401b-849c-68bbc7220891", "name": "Step 1: HTTP BASIC Authentication", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:ltm:ltmcollectionstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "auth": { "type": "basic", "basic": [ { "key": "username", "value": "", "type": "string" }, { "key": "password", "value": "", "type": "string" }, { "key": "showPassword", "value": false, "type": "boolean" } ] }, "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm" ] } }, "response": [] }, { "_postman_id": "87a24695-1e94-4637-94c6-f2ee4a25b577", "name": "Step 2: Retrieve Authentication Token", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"token.userName\", ", " \"value\":\"admin\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"username\":\"\",\n \"password\":\"\",\n \"loginProviderName\":\"tmos\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authn/login", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "login" ] } }, "response": [] }, { "_postman_id": "ecd4c297-85f9-4297-b26c-fbfec4db879e", "name": "Step 3: Verify Authentication Works", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"items\", ", " \"value\":\"0\",", " \"op\":\">=\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authz/tokens", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authz", "tokens" ] } }, "response": [] }, { "_postman_id": "6100d94d-2ddc-41f2-b5f3-daec2b4edb12", "name": "Step 4: Set Authentication Token Timeout", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"timeout\", ", " \"value\":\"36000\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"timeout\":\"36000\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authz/tokens/{{bigip_a_auth_token}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authz", "tokens", "{{bigip_a_auth_token}}" ] } }, "response": [] }, { "_postman_id": "9bbb0acd-0420-45ba-bac8-9d63137e5903", "name": "Step 5: Get 'example' of a Pool Resource", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:ltm:pool:poolcollectionstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"baseRegKey\":\"\",\n \"addOnKeys\":[],\n \"automaticActivation\":false\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/pool/example", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "pool", "example" ] } }, "response": [] } ] }, { "_postman_id": "9907127a-e807-4aca-babd-9d1324f4c297", "name": "Lab 1.3 - Review/Set Device Settings", "item": [ { "_postman_id": "e5250996-524b-4604-9650-0928eb41b9e4", "name": " Step 1: Get System Global-Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:sys:global-settings:global-settingsstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"baseRegKey\":\"\",\n \"addOnKeys\":[],\n \"automaticActivation\":false\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/global-settings", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "global-settings" ] } }, "response": [] }, { "_postman_id": "e5aadd9d-0a3d-4cb1-bd6f-9ba4875ceb47", "name": " Step 2: Set System Global-Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"hostname\", ", " \"value\":\"bigip-a.f5.local\" ", " },", " {", " \"path\":\"guiSetup\",", " \"value\":\"disabled\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"guiSetup\": \"disabled\",\n \"hostname\": \"\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/global-settings", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "global-settings" ] } }, "response": [] }, { "_postman_id": "c11a9955-e743-44b3-8688-b4817ac18ebc", "name": " Step 3: Get System DNS Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:sys:dns:dnsstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"baseRegKey\":\"\",\n \"addOnKeys\":[],\n \"automaticActivation\":false\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/dns", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "dns" ] } }, "response": [] }, { "_postman_id": "ee993cff-02d7-48bb-8178-fe0de2e43d85", "name": " Step 4: Set System DNS Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"nameServers.0\", ", " \"value\": \"4.2.2.2\"", " },", " { ", " \"path\":\"nameServers.1\", ", " \"value\": \"8.8.8.8\"", " },", " { ", " \"path\":\"search.0\", ", " \"value\": \"localhost\"", " },", " { ", " \"path\":\"search.1\", ", " \"value\": \"f5.local\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"nameServers\": [\n \"4.2.2.2\",\n \"8.8.8.8\"\n ],\n \"search\": [\n \"localhost\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/dns", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "dns" ] } }, "response": [] }, { "_postman_id": "2b2a403a-fb5c-4bbc-872f-f895374e4b81", "name": " Step 5: Get System NTP Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:sys:ntp:ntpstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"baseRegKey\":\"\",\n \"addOnKeys\":[],\n \"automaticActivation\":false\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/ntp", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "ntp" ] } }, "response": [] }, { "_postman_id": "49ac37ab-32d4-4408-a73f-a6e4846177d3", "name": " Step 6: Set System NTP Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"servers.0\", ", " \"value\": \"0.pool.ntp.org\"", " },", " { ", " \"path\":\"servers.1\", ", " \"value\": \"1.pool.ntp.org\"", " },", " { ", " \"path\":\"timezone\", ", " \"value\": \"America/Los_Angeles\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"servers\": [\n \"0.pool.ntp.org\",\n \"1.pool.ntp.org\"\n ],\n \"timezone\": \"America/Los_Angeles\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/ntp", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "ntp" ] } }, "response": [] }, { "_postman_id": "30744099-10b1-494c-84c1-2bd17f4ae3f4", "name": " Step 7: Set root User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"generation\", ", " \"value\":\"0\",", " \"op\": \">=\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"oldPassword\":\"default\",\n \"newPassword\":\"\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authn/root", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "root" ] } }, "response": [] }, { "_postman_id": "52fcc959-47e0-4241-b31c-9804c7f0de8b", "name": " Step 8: Set admin User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\":\"admin\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"password\":\"\",\n \"shell\":\"bash\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/auth/user/admin", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "auth", "user", "admin" ] } }, "response": [] } ] }, { "_postman_id": "dad51718-de90-4522-93cd-637ed441473f", "name": "Lab 1.4 - Basic Network Connectivity", "item": [ { "_postman_id": "e7ec95bf-04ca-42b3-ad27-5d2687287b06", "name": " Step 1: Create a VLAN", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vlan = function(resp) {", " if(resp.name == \"Internal\" &&", " resp.tag == \"10\" &&", " resp.interfacesReference.items[0].name == \"1.1\") {", " tests[\"VLAN Internal Configured Correctly\"] = 1;", " return 1;", " }", " else if(resp.name == \"External\" &&", " resp.tag == \"20\" &&", " resp.interfacesReference.items[0].name == \"1.2\") {", " tests[\"VLAN External Configured Correctly\"] = 1;", " return 1;", " } else {", " tests[\"VLAN Configured Correctly'\"] = 0;", " return 0;", " }", "};", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\": check_vlan", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Internal\",\n \"partition\": \"Common\",\n \"autoLasthop\": \"default\",\n \"cmpHash\": \"default\",\n \"mtu\": \"1500\",\n \"tag\": \"10\",\n \"interfaces\": \n [ \n {\n \"name\":\"1.1\",\n \"tagged\":false\n }\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/vlan/?expandSubcollections=true", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "vlan", "" ], "query": [ { "key": "expandSubcollections", "value": "true" } ] } }, "response": [] }, { "_postman_id": "40f23aea-f852-407e-bc43-b52a779675ea", "name": " Step 2: Get VLANs", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vlan = function(resp) {", " if(resp.items.length != 2) {", " tests[\"Correct number of VLANs configured\"] = 0;", " } ", " ", " var internal_ok = false;", " var external_ok = false;", " tests[\"VLAN Internal Configured Correctly\"] = 0;", " tests[\"VLAN External Configured Correctly\"] = 0;", " ", " for(var i=0; i < resp.items.length; i++) {", " var vlan = resp.items[i];", " if(vlan.name == \"Internal\" &&", " vlan.tag == \"10\" &&", " vlan.interfacesReference.items[0].name == \"1.1\") {", " tests[\"VLAN Internal Configured Correctly\"] = 1;", " internal_ok = true;", " }", " if(vlan.name == \"External\" &&", " vlan.tag == \"20\" &&", " vlan.interfacesReference.items[0].name == \"1.2\") {", " tests[\"VLAN External Configured Correctly\"] = 1;", " external_ok = true;", " } ", " }", " ", " if(internal_ok && external_ok) {", " tests[\"VLANs Configured Correctly'\"] = 1;", " return 1;", " } else {", " tests[\"VLANs Configured Correctly'\"] = 0;", " return 0;", " }", " ", "};", "", "var check_vals = [", " { ", " \"path\":\"check_created_vlans\", ", " \"value\": check_vlan", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/vlan/?expandSubcollections=true", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "vlan", "" ], "query": [ { "key": "expandSubcollections", "value": "true" } ] } }, "response": [] }, { "_postman_id": "25762fb2-1dde-404c-8970-fd019ceb61c3", "name": "Step 3: Create Internal Self IP", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\": \"Self-Internal\"", " },", " { ", " \"path\":\"address\", ", " \"value\": \"10.1.10.10/24\"", " },", " { ", " \"path\":\"vlan\", ", " \"value\": \"/\\/Common\\/Internal|External/i\",", " \"op\":\"regex\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Self-Internal\",\n \"partition\": \"Common\",\n \"address\": \"10.1.10.10/24\",\n \"floating\": \"disabled\",\n \"trafficGroup\": \"/Common/traffic-group-local-only\",\n \"vlan\": \"/Common/External\",\n \"allowService\": [\n \"default\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/self/", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "" ] } }, "response": [] }, { "_postman_id": "cc0bf191-8186-4ee6-86c7-c7c4b6bb0b75", "name": "Step 4: Create External Self IP", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\": \"Self-External\"", " },", " { ", " \"path\":\"address\", ", " \"value\": \"10.1.20.10/24\"", " },", " { ", " \"path\":\"vlan\", ", " \"value\": \"/Common/External\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Self-External\",\n \"partition\": \"Common\",\n \"address\": \"10.1.20.10/24\",\n \"floating\": \"disabled\",\n \"trafficGroup\": \"/Common/traffic-group-local-only\",\n \"vlan\": \"/Common/External\",\n \"allowService\": [\n \"default\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/self/", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "" ] } }, "response": [] }, { "_postman_id": "667907f2-ae6b-4587-b245-7aa2e9c55dbe", "name": " Step 5: Get Self-Internal Self IP Attributes", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\": \"Self-Internal\"", " },", " { ", " \"path\":\"address\", ", " \"value\": \"10.1.10.10/24\"", " },", " { ", " \"path\":\"vlan\", ", " \"value\": \"/Common/Internal\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/self/~Common~Self-Internal", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "~Common~Self-Internal" ] } }, "response": [] }, { "_postman_id": "ab1e9a24-9641-4501-903f-e838b1048eba", "name": " Step 6: Get Self IPs", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vlan = function(resp) {", " if(resp.items.length != 2) {", " tests[\"Correct number of Self-IPs configured\"] = 0;", " } ", " ", " var internal_ok = false;", " var external_ok = false;", " tests[\"Self-Internal Configured Correctly\"] = 0;", " tests[\"Self-External Configured Correctly\"] = 0;", " ", " for(var i=0; i < resp.items.length; i++) {", " var item = resp.items[i];", " if(item.name == \"Self-Internal\" &&", " item.address == \"10.1.10.10/24\" &&", " item.vlan == \"/Common/Internal\") {", " tests[\"Self-Internal Configured Correctly\"] = 1;", " internal_ok = true;", " }", " if(item.name == \"Self-External\" &&", " item.address == \"10.1.20.10/24\" &&", " item.vlan == \"/Common/External\") {", " tests[\"Self-External Configured Correctly\"] = 1;", " external_ok = true;", " } ", " }", " ", " if(internal_ok && external_ok) {", " tests[\"Self-IPs Configured Correctly'\"] = 1;", " return 1;", " } else {", " tests[\"VLANs Configured Correctly'\"] = 0;", " return 0;", " }", " ", "};", "", "var check_vals = [", " { ", " \"path\":\"check_created_vlans\", ", " \"value\": check_vlan", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/self?expandSubcollections=true", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self" ], "query": [ { "key": "expandSubcollections", "value": "true" } ] } }, "response": [] }, { "_postman_id": "52013321-fa12-453b-aa71-cef74892fa65", "name": " Step 7: Get Routes", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\", ", " \"value\":\"tm:net:route:routecollectionstate\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/route?expandSubcollections=true", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "route" ], "query": [ { "key": "expandSubcollections", "value": "true" } ] } }, "response": [] }, { "_postman_id": "35024174-cc0c-4cac-beba-8a2d02c82759", "name": " Step 8: Create a Route", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\", ", " \"value\":\"Default\" ", " },", " { ", " \"path\":\"gw\", ", " \"value\":\"10.1.20.1\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Default\",\n \"partition\": \"Common\",\n \"gw\": \"10.1.20.1\",\n \"mtu\": 0,\n \"network\": \"0.0.0.0/0\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/route", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "route" ] } }, "response": [] }, { "_postman_id": "28906c75-8cb6-4a01-a5aa-0fb755ba2fc7", "name": " Step 9: Get Routes", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"items.0.name\", ", " \"value\":\"Default\" ", " },", " { ", " \"path\":\"items.0.gw\", ", " \"value\":\"10.1.20.1\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/route?expandSubcollections=true", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "route" ], "query": [ { "key": "expandSubcollections", "value": "true" } ] } }, "response": [] } ] }, { "_postman_id": "8c816a43-0ae5-42c2-b8c6-6c92598d94c2", "name": "Lab 1.5 - Building Imperative Workflows", "item": [ { "_postman_id": "b5bc7dfd-b227-4c00-8894-9bea556c1467", "name": " Step 1: Get BIG-IP Software Version", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "// This is a Postman post-request request test script.", "//", "// The Javascript code below is executed AFTER a response is ", "// received by the Postman client. This code can do all sorts", "// of interesting things.", "", "// Parse the JSON response body and save the result in the resp variable", "var resp = JSON.parse(responseBody);", "", "// Set an environemnt variable based on the value in the response JSON", "postman.setEnvironmentVariable(\"lab1.5_sw_version\", resp.version);", "", "// Populate a Postman test item", "tests[\"Populate SW Version\"] = 0;", "if(resp.version.length > 0) {", " tests[\"Populate SW Version\"] = 1;", "}", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/software/volume/HD1.1", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "software", "volume", "HD1.1" ] } }, "response": [] }, { "_postman_id": "b723f373-ee33-4fe5-9b47-c67c1a824c23", "name": "Step 2: Get BIG-IP CPU Count", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "// This is a Postman post-request request test script.", "//", "// The Javascript code below is executed AFTER a response is ", "// received by the Postman client. This code can do all sorts", "// of interesting things.", "", "// Parse the JSON response body and save the result in the resp variable", "var resp = JSON.parse(responseBody);", "", "// Set an environemnt variable based on the value in the response JSON", "postman.setEnvironmentVariable(\"lab1.5_cpu_count\", resp.items.length);", "", "// Populate a Postman test item", "tests[\"Populate CPU Count\"] = 0;", "if(resp.items.length > 0) {", " tests[\"Populate CPU Count\"] = 1;", "}" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cloud/sys/cpu-info-stat", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cloud", "sys", "cpu-info-stat" ] } }, "response": [] }, { "_postman_id": "459c30af-d104-4e37-9c3d-b4a5e48e95b5", "name": "Step 3: Get BIG-IP Base MAC Address", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "// This is a Postman post-request request test script.", "//", "// The Javascript code below is executed AFTER a response is ", "// received by the Postman client. This code can do all sorts", "// of interesting things.", "", "// Parse the JSON response body and save the result in the resp variable", "var resp = JSON.parse(responseBody);", "", "// Set an environemnt variable based on the value in the response JSON", "postman.setEnvironmentVariable(\"lab1.5_base_mac\", resp.items[0].baseMac);", "", "// Populate a Postman test item", "tests[\"Populate Base MAC\"] = 0;", "if(resp.items[0].baseMac.length > 0) {", " tests[\"Populate Base MAC\"] = 1;", "}", "", "// Dump out our results", "tests[\"BIG-IP SW Version: \" + postman.getEnvironmentVariable(\"lab1.5_sw_version\")] = 1;", "tests[\"BIG-IP CPU Count: \" + postman.getEnvironmentVariable(\"lab1.5_cpu_count\")] = 1;", "tests[\"BIG-IP Base MAC: \" + postman.getEnvironmentVariable(\"lab1.5_base_mac\")] = 1;", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cloud/net/sys-device", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cloud", "net", "sys-device" ] } }, "response": [] } ] }, { "_postman_id": "7b02d527-5480-45d7-b11c-e0103b807564", "name": "Lab 1.6 - Build a Cluster", "item": [ { "_postman_id": "e145b82a-00b1-4ed2-9701-acd215259071", "name": "[BIGIP A] Retrieve Authentication Token", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var populate_vars = [", " {name:\"bigip_a_auth_token\", value:\"token.token\"}", " ];", " ", "f5_populate_env_vars(populate_vars);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"username\":\"admin\",\n \"password\":\"{{bigip_admin_password}}\",\n \"loginProviderName\":\"tmos\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authn/login", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "login" ] } }, "response": [] }, { "_postman_id": "c3221cdf-9f15-42b9-bc79-1110a4e0b00d", "name": "[BIGIP A] Set Authentication Token Timeout", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"timeout\", ", " \"value\":\"36000\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"timeout\":\"36000\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authz/tokens/{{bigip_a_auth_token}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authz", "tokens", "{{bigip_a_auth_token}}" ] } }, "response": [] }, { "_postman_id": "183e792a-2014-4526-a2af-d4778e257a8c", "name": "[Global] Create Shared JSON Objects", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response();", "", "// DNS", "postman.setEnvironmentVariable('_rt_dns_servers', JSON.stringify(environment.bigip_dns_servers.split(',')));", "postman.setEnvironmentVariable('_rt_dns_search', JSON.stringify(environment.bigip_dns_search.split(',')));", "", "// NTP", "postman.setEnvironmentVariable('_rt_ntp_servers', JSON.stringify(environment.bigip_ntp_servers.split(',')));", "", "//BIGIP A Network", "var net_internal = environment.bigip_net_internal.split(',');", "var net_external = environment.bigip_net_external.split(',');", "", "var ip_internal = environment.bigip_net_internal_ips.split(',');", "var ip_external = environment.bigip_net_external_ips.split(',');", "", "postman.setEnvironmentVariable('_rt_internal_int', net_internal[0]);", "postman.setEnvironmentVariable('_rt_internal_tagstate', net_internal[1]);", "postman.setEnvironmentVariable('_rt_internal_tag', net_internal[2]);", "", "postman.setEnvironmentVariable('_rt_external_int', net_external[0]);", "postman.setEnvironmentVariable('_rt_external_tagstate', net_external[1]);", "postman.setEnvironmentVariable('_rt_external_tag', net_external[2]);", "", "postman.setEnvironmentVariable('_rt_a_internal_ip', ip_internal[0]);", "postman.setEnvironmentVariable('_rt_a_internal_hostip', ip_internal[0].split('/')[0]);", "postman.setEnvironmentVariable('_rt_internal_floatip', ip_internal[2]);", "postman.setEnvironmentVariable('_rt_a_external_ip', ip_external[0]);", "", "", "postman.setEnvironmentVariable('_rt_b_internal_ip', ip_internal[1]);", "postman.setEnvironmentVariable('_rt_b_internal_hostip', ip_internal[1].split('/')[0]);", "postman.setEnvironmentVariable('_rt_b_external_ip', ip_external[1]);", "", "", "console.log(\"dns_servers=\" + environment._rt_dns_servers);", "console.log(\"dns_search=\" + environment._rt_dns_search);", "console.log(\"ntp_servers=\" + environment._rt_ntp_servers);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/echo", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "echo" ] } }, "response": [] }, { "_postman_id": "1b59eb87-49fd-4fd6-81ad-c5bf4ab248b7", "name": "[BIGIP B] Retrieve Authentication Token", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var populate_vars = [", " {name:\"bigip_b_auth_token\", value:\"token.token\"}", " ];", " ", "f5_populate_env_vars(populate_vars);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"username\":\"admin\",\n \"password\":\"{{bigip_admin_password}}\",\n \"loginProviderName\":\"tmos\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/shared/authn/login", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "login" ] } }, "response": [] }, { "_postman_id": "cad2b55b-55b3-4dec-8d5d-a337a79c30c4", "name": "[BIGIP B] Set Authentication Token Timeout", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"timeout\", ", " \"value\":\"36000\" ", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"timeout\":\"36000\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/shared/authz/tokens/{{bigip_b_auth_token}}", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "shared", "authz", "tokens", "{{bigip_b_auth_token}}" ] } }, "response": [] }, { "_postman_id": "b7bf0be1-2c31-405e-9518-91bdb3e41fc7", "name": "[BIGIP A] Check License State", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"licensedDateTime\",", " \"value\":\"/.*/i\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);", "", "var resp = f5_parse_json_resp();", "", "if(!(\"licensedDateTime\" in resp)) {", " postman.setNextRequest(\"[BIGIP A] License Device\");", "} else {", " postman.setNextRequest(\"[BIGIP B] Check License State\");", "}", "", "f5_disable_poller();", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/shared/licensing/registration", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "shared", "licensing", "registration" ] } }, "response": [] }, { "_postman_id": "6add0e4e-9516-48a8-b4da-edcf62bdae86", "name": "[BIGIP A] License Device", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"commandResult\",", " \"value\":\"/New license installed/i\",", " \"op\":\"regex\"", " },", " { ", " \"path\":\"commandResult\",", " \"value\":\"/successfully loaded/i\",", " \"op\":\"regex\"", " } ", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"[BIGIP B] Check License State\");" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"utilCmdArgs\":\"-c 'SOAPLicenseClient --basekey \\\"{{bigip_a_regkey}}\\\" --addkey \\\"{{bigip_a_addonkey}}\\\" --verbose'\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/util/bash", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "util", "bash" ] } }, "response": [] }, { "_postman_id": "08751a5d-5b98-4c18-b182-2fbcd430c884", "name": "[BIGIP B] Check License State", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"licensedDateTime\",", " \"value\":\"/.*/i\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);", "", "var resp = f5_parse_json_resp();", "", "if(!(\"licensedDateTime\" in resp)) {", " postman.setNextRequest(\"[BIGIP B] License Device\");", "} else {", " postman.setNextRequest(\"[BIGIP A] Check Root User Enabled\");", "}", "", "f5_disable_poller();", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/shared/licensing/registration", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "shared", "licensing", "registration" ] } }, "response": [] }, { "_postman_id": "6f6ce103-151f-4fe6-b116-78c0a15dc0fb", "name": "[BIGIP B] License Device", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"commandResult\",", " \"value\":\"/New license installed/i\",", " \"op\":\"regex\"", " },", " { ", " \"path\":\"commandResult\",", " \"value\":\"/successfully loaded/i\",", " \"op\":\"regex\"", " } ", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"[BIGIP A] Check Root User Enabled\");", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"utilCmdArgs\":\"-c 'SOAPLicenseClient --basekey \\\"{{bigip_b_regkey}}\\\" --addkey \\\"{{bigip_b_addonkey}}\\\" --verbose'\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/util/bash", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "util", "bash" ] } }, "response": [] }, { "_postman_id": "53cb5192-8426-4004-86f4-7ac3c89bf44d", "name": "[BIGIP A] Check Root User Enabled", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"systemauth.disablerootlogin\"", " }", " ];", "", "f5_check_response(check_vals);", "", "var resp = f5_parse_json_resp();", "", "if(resp.value == 'true') {", " postman.setNextRequest(\"[BIGIP A] Set admin User Password\");", "} else {", " postman.setNextRequest(\"[BIGIP A] Set root User Password\");", "}", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/db/systemauth.disablerootlogin", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "db", "systemauth.disablerootlogin" ] } }, "response": [] }, { "_postman_id": "32a0f4ef-5509-4728-8f33-a39a8fa37a38", "name": "[BIGIP A] Set root User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response();", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"oldPassword\":\"default\",\n \"newPassword\":\"{{bigip_root_password}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/authn/root", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "root" ] } }, "response": [] }, { "_postman_id": "70c17434-92f5-4505-b8a5-985498bf9cb4", "name": "[BIGIP A] Set admin User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"admin\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"password\":\"{{bigip_admin_password}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/auth/user/admin", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "auth", "user", "admin" ] } }, "response": [] }, { "_postman_id": "b7f14e99-bf55-45f2-bf26-344a6bf82014", "name": "[BIGIP A] Set System Global-Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"hostname\",", " \"value\":environment.bigip_a_hostname", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"guiSetup\": \"disabled\",\n \"hostname\": \"{{bigip_a_hostname}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/global-settings", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "global-settings" ] } }, "response": [] }, { "_postman_id": "373c4cc5-ac09-4d30-add3-2c2203db7c5c", "name": "[BIGIP A] Set System DNS Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"nameServers\",", " \"value\":JSON.parse(environment._rt_dns_servers).length,", " \"op\":\"length\",", " \"optional\":true ", " },", " { ", " \"path\":\"search\",", " \"value\":JSON.parse(environment._rt_dns_search).length,", " \"op\":\"length\"", " } ", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"nameServers\": {{_rt_dns_servers}},\n \"search\": {{_rt_dns_search}}\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/dns", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "dns" ] } }, "response": [] }, { "_postman_id": "3235ca43-a111-43b6-9354-246786739462", "name": " [BIGIP A] Set System NTP Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"servers\",", " \"value\":JSON.parse(environment._rt_ntp_servers).length,", " \"op\":\"length\",", " \"optional\":true ", " },", " { ", " \"path\":\"timezone\",", " \"value\":environment.bigip_timezone", " } ", " ];", "", "f5_check_response(check_vals);" ] } }, { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"servers\": {{_rt_ntp_servers}},\n \"timezone\": \"{{bigip_timezone}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/sys/ntp", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "ntp" ] } }, "response": [] }, { "_postman_id": "d3c15232-fa79-4779-83c3-f5426f20ca44", "name": "[BIGIP B] Check Root User Enabled", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"systemauth.disablerootlogin\"", " }", " ];", "", "f5_check_response(check_vals);", "", "var resp = f5_parse_json_resp();", "", "if(resp.value == 'true') {", " postman.setNextRequest(\"[BIGIP B] Set admin User Password\");", "} else {", " postman.setNextRequest(\"[BIGIP B] Set root User Password\");", "}", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/sys/db/systemauth.disablerootlogin", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "db", "systemauth.disablerootlogin" ] } }, "response": [] }, { "_postman_id": "7ed5aa71-de22-4f28-945a-ff19a20d0c49", "name": "[BIGIP B] Set root User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response();", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"oldPassword\":\"default\",\n \"newPassword\":\"{{bigip_root_password}}\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/shared/authn/root", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "shared", "authn", "root" ] } }, "response": [] }, { "_postman_id": "8e56772a-4b4e-4790-89e0-81d3678bcd39", "name": "[BIGIP B] Set admin User Password", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"admin\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"password\":\"{{bigip_admin_password}}\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/auth/user/admin", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "auth", "user", "admin" ] } }, "response": [] }, { "_postman_id": "67e92d83-6f46-410e-a696-0c9a7efbf373", "name": "[BIGIP B] Set System Global-Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"hostname\",", " \"value\":environment.bigip_b_hostname", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"guiSetup\": \"disabled\",\n \"hostname\": \"{{bigip_b_hostname}}\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/sys/global-settings", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "global-settings" ] } }, "response": [] }, { "_postman_id": "09d38045-ec44-4a83-8202-47ef9ef2c024", "name": "[BIGIP B] Set System DNS Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"nameServers\",", " \"value\":JSON.parse(environment._rt_dns_servers).length,", " \"op\":\"length\",", " \"optional\":true ", " },", " { ", " \"path\":\"search\",", " \"value\":JSON.parse(environment._rt_dns_search).length,", " \"op\":\"length\"", " } ", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"nameServers\": {{_rt_dns_servers}},\n \"search\": {{_rt_dns_search}}\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/sys/dns", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "dns" ] } }, "response": [] }, { "_postman_id": "f77da58f-c11a-4f55-b214-c1138414c991", "name": " [BIGIP B] Set System NTP Settings", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"servers\",", " \"value\":JSON.parse(environment._rt_ntp_servers).length,", " \"op\":\"length\",", " \"optional\":true ", " },", " { ", " \"path\":\"timezone\",", " \"value\":environment.bigip_timezone", " } ", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"servers\": {{_rt_ntp_servers}},\n \"timezone\": \"{{bigip_timezone}}\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/sys/ntp", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "ntp" ] } }, "response": [] }, { "_postman_id": "961776e6-e23f-42e5-9ccf-0e2db7c0dabf", "name": "[BIGIP B] Create Internal VLAN", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Internal\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Internal\",\n \"partition\": \"Common\",\n \"autoLasthop\": \"default\",\n \"cmpHash\": \"default\",\n \"mtu\": \"1500\",\n \"tag\": \"{{_rt_internal_tag}}\",\n \"interfaces\": \n [ \n {\n \"name\":\"{{_rt_internal_int}}\",\n \"tagged\":{{_rt_internal_tagstate}}\n }\n ]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/net/vlan/", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "net", "vlan", "" ] } }, "response": [] }, { "_postman_id": "e1220edf-c48f-45a2-a7fc-54711b0270f8", "name": "[BIGIP B] Create External VLAN", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"External\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"External\",\n \"partition\": \"Common\",\n \"autoLasthop\": \"default\",\n \"cmpHash\": \"default\",\n \"mtu\": \"1500\",\n \"tag\": \"{{_rt_external_tag}}\",\n \"interfaces\": \n [ \n {\n \"name\":\"{{_rt_external_int}}\",\n \"tagged\":{{_rt_external_tagstate}}\n }\n ]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/net/vlan/", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "net", "vlan", "" ] } }, "response": [] }, { "_postman_id": "709aed97-b364-41ce-85b7-8795b387cd14", "name": "[BIGIP B] Create Internal Self IP", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Self-Internal\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Self-Internal\",\n \"partition\": \"Common\",\n \"address\": \"{{_rt_b_internal_ip}}\",\n \"floating\": \"disabled\",\n \"trafficGroup\": \"/Common/traffic-group-local-only\",\n \"vlan\": \"/Common/Internal\",\n \"allowService\": [\n \"default\"\n ]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/net/self/", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "" ] } }, "response": [] }, { "_postman_id": "0a352272-64a0-48fb-8dc4-e26aeff5ad13", "name": "[BIGIP B] Create External Self IP", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Self-External\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Self-External\",\n \"partition\": \"Common\",\n \"address\": \"{{_rt_b_external_ip}}\",\n \"floating\": \"disabled\",\n \"trafficGroup\": \"/Common/traffic-group-local-only\",\n \"vlan\": \"/Common/External\",\n \"allowService\": [\n \"default\"\n ]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/net/self/", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "" ] } }, "response": [] }, { "_postman_id": "28c67af8-4806-4338-824d-77da40b170b8", "name": "[BIGIP B] Create Default Route", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Default\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Default\",\n \"partition\": \"Common\",\n \"gw\": \"{{bigip_net_defaultgw}}\",\n \"mtu\": 0,\n \"network\": \"0.0.0.0/0\"\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/net/route", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "net", "route" ] } }, "response": [] }, { "_postman_id": "97753a5c-8ed8-41f1-8ff5-cfc808486177", "name": "[BIGIP A] Set CMI Device Parameters", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":environment.bigip_a_hostname", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"configsyncIp\": \"{{_rt_a_internal_hostip}}\",\n \"mirrorIp\": \"{{_rt_a_internal_hostip}}\",\n \"mirrorSecondaryIp\": \"any6\",\n \"unicastAddress\": [\n {\n \"effectiveIp\": \"{{_rt_a_internal_hostip}}\",\n \"effectivePort\": 1026,\n \"ip\": \"{{_rt_a_internal_hostip}}\",\n \"port\": 1026\n }\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/device/~Common~{{bigip_a_hostname}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "device", "~Common~{{bigip_a_hostname}}" ] } }, "response": [] }, { "_postman_id": "e2a4d188-aa16-4c45-9999-ceb4aaa197d5", "name": "[BIGIP B] Set CMI Device Parameters", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":environment.bigip_b_hostname", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"configsyncIp\": \"{{_rt_b_internal_hostip}}\",\n \"mirrorIp\": \"{{_rt_b_internal_hostip}}\",\n \"mirrorSecondaryIp\": \"any6\",\n \"unicastAddress\": [\n {\n \"effectiveIp\": \"{{_rt_b_internal_hostip}}\",\n \"effectivePort\": 1026,\n \"ip\": \"{{_rt_b_internal_hostip}}\",\n \"port\": 1026\n }\n ]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/cm/device/~Common~{{bigip_b_hostname}}", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "device", "~Common~{{bigip_b_hostname}}" ] } }, "response": [] }, { "_postman_id": "8659912f-4649-4561-90ae-23ceafc685f8", "name": "[BIGIP A] Add BIGIP-B Device to CMI Trust", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Root\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"name\":\"Root\",\n \"caDevice\":true,\n \"device\":\"{{bigip_b_mgmt}}\",\n \"deviceName\":\"{{bigip_b_hostname}}\",\n \"username\":\"admin\",\n \"password\":\"{{bigip_admin_password}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/add-to-trust", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "add-to-trust" ] } }, "response": [] }, { "_postman_id": "0638e2a5-18d3-4ea2-bd53-bd7d9f75f3f0", "name": "[BIGIP A] Initial Sync of device_trust_group", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"options.0.to-group\",", " \"value\":\"device_trust_group\"", " }", " ];", "", "f5_check_response(check_vals);", "", "f5_sleep(10000);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"options\":[{\n \"to-group\":\"device_trust_group\",\n \"force-full-load-push\": true\n }]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/config-sync", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "config-sync" ] } }, "response": [] }, { "_postman_id": "917e2d0c-3a11-4abc-a6ad-0023ec7e069b", "name": "[BIGIP A] Initial Sync of datasync-global-dg", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"options.0.to-group\",", " \"value\":\"datasync-global-dg\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"options\":[{\n \"to-group\":\"datasync-global-dg\",\n \"force-full-load-push\": true\n }]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/config-sync", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "config-sync" ] } }, "response": [] }, { "_postman_id": "f178739e-5d48-433d-9d2a-396a7552716d", "name": "[BIGIP B] Initial Sync of datasync-global-dg", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"options.0.from-group\",", " \"value\":\"datasync-global-dg\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"options\":[{\n \"from-group\":\"datasync-global-dg\"\n }]\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/cm/config-sync", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "config-sync" ] } }, "response": [] }, { "_postman_id": "24674fee-f071-4f51-9033-f15bedba3666", "name": "[BIGIP A] Verify Initial Sync Completed", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.color.description\",", " \"value\":\"green\"", " },", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.status.description\",", " \"value\":\"In Sync\"", " }", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"[BIGIP A] Create Device Group\");" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/syncStatus", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "syncStatus" ] } }, "response": [] }, { "_postman_id": "70d89428-0c77-4b65-ae39-2c5d816e73a4", "name": "[BIGIP A] Create Device Group", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"DeviceGroup1\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"DeviceGroup1\",\n \"type\":\"sync-failover\",\n \"autoSync\":\"enabled\",\n \"devices\": [ \"{{bigip_a_hostname}}\",\"{{bigip_b_hostname}}\" ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/device-group", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "device-group" ] } }, "response": [] }, { "_postman_id": "d64773b9-ebfd-452f-961e-69334807ed7e", "name": "[BIGIP A] Initial Sync of DeviceGroup1", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"options.0.to-group\",", " \"value\":\"DeviceGroup1\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"options\":[{\"to-group\":\"DeviceGroup1\"}]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/config-sync", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "config-sync" ] } }, "response": [] }, { "_postman_id": "90b0d355-4aaf-4fed-ae57-143d5bdae51c", "name": "[BIGIP A] Check Sync Group Status", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.color.description\",", " \"value\":\"green\"", " },", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.mode.description\",", " \"value\":\"high-availability\"", " }, ", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.status.description\",", " \"value\":\"In Sync\"", " }", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"[BIGIP A] Change Traffic Group to use HA Order Failover\");" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/syncStatus", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "syncStatus" ] } }, "response": [] }, { "_postman_id": "28758d43-9297-428c-a98b-61422a46d57c", "name": "[BIGIP A] Change Traffic Group to use HA Order Failover", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"traffic-group-1\"", " },", " {", " \"path\":\"haOrder\",", " \"value\":\"2\",", " \"op\":\"length\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"haOrder\": [\n \"/Common/{{bigip_a_hostname}}\",\n \"/Common/{{bigip_b_hostname}}\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/traffic-group/traffic-group-1", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "traffic-group", "traffic-group-1" ] } }, "response": [] }, { "_postman_id": "e2e87ac1-0c67-48df-89c1-5c103b7b8b14", "name": "[BIGIP A] Get Traffic Group Failover States", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var cmiBaseUri = \"https://localhost/mgmt/tm/cm/traffic-group/traffic-group-1/~Common~traffic-group-1:~Common~\";", "var cmiAUri = cmiBaseUri + environment.bigip_a_hostname.replace(/\\./g,'\\\\.') + \"/stats\"", "var cmiBUri = cmiBaseUri + environment.bigip_b_hostname.replace(/\\./g,'\\\\.') + \"/stats\"", "", "var populate_vars = [", " { ", " \"name\":\"_rt_bigip_a_failoverstate\",", " \"value\":\"entries.\" + cmiAUri + \".nestedStats.entries.failoverState.description\"", " },", " { ", " \"name\":\"_rt_bigip_b_failoverstate\",", " \"value\":\"entries.\" + cmiBUri + \".nestedStats.entries.failoverState.description\"", " } ", " ];", " ", "var check_vals = [", " { ", " \"path\":\"entries.\" + cmiAUri + \".nestedStats.entries.trafficGroup.description\",", " \"value\":\"/Common/traffic-group-1\"", " },", " { ", " \"path\":\"entries.\" + cmiBUri + \".nestedStats.entries.trafficGroup.description\",", " \"value\":\"/Common/traffic-group-1\"", " } ", " ];", "", "f5_populate_env_vars(populate_vars);", "f5_check_response(check_vals);", "", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/traffic-group/traffic-group-1/stats", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "traffic-group", "traffic-group-1", "stats" ] } }, "response": [] }, { "_postman_id": "1d81317f-4cea-4e30-8f85-1531961ade5f", "name": "[BIGIP B] Failover Traffic Group to BIGIP A", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"trafficGroup\",", " \"value\":\"traffic-group-1\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_b_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"command\":\"run\",\n \"trafficGroup\":\"traffic-group-1\",\n \"standby\":true\n}" }, "url": { "raw": "https://{{bigip_b_mgmt}}/mgmt/tm/sys/failover", "protocol": "https", "host": [ "{{bigip_b_mgmt}}" ], "path": [ "mgmt", "tm", "sys", "failover" ] } }, "response": [] }, { "_postman_id": "45c84334-8cf7-4173-8344-b8512a1f8ee8", "name": "[BIGIP A] Verify Traffic Group Failover States", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var cmiBaseUri = \"https://localhost/mgmt/tm/cm/traffic-group/traffic-group-1/~Common~traffic-group-1:~Common~\";", "var cmiAUri = cmiBaseUri + environment.bigip_a_hostname.replace(/\\./g,'\\\\.') + \"/stats\"", "var cmiBUri = cmiBaseUri + environment.bigip_b_hostname.replace(/\\./g,'\\\\.') + \"/stats\"", "", "var check_vals = [", " { ", " \"path\":\"entries.\" + cmiAUri + \".nestedStats.entries.failoverState.description\",", " \"value\":\"active\"", " },", " { ", " \"path\":\"entries.\" + cmiBUri + \".nestedStats.entries.failoverState.description\",", " \"value\":\"standby\"", " } ", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"[BIGIP A] Create Internal Floating Self IP\");", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/traffic-group/traffic-group-1/stats", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "traffic-group", "traffic-group-1", "stats" ] } }, "response": [] }, { "_postman_id": "9ee32f2f-6ecd-4a50-aeb1-453cb1d0d863", "name": "[BIGIP A] Create Internal Floating Self IP", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"name\",", " \"value\":\"Self-Internal-Floating\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"name\": \"Self-Internal-Floating\",\n \"partition\": \"Common\",\n \"address\": \"{{_rt_internal_floatip}}\",\n \"floating\": \"enabled\",\n \"trafficGroup\": \"/Common/traffic-group-1\",\n \"vlan\": \"/Common/Internal\",\n \"allowService\": [\n \"default\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/net/self/", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "net", "self", "" ] } }, "response": [] }, { "_postman_id": "95984e26-d447-4f65-81b7-8e71e277f335", "name": "[BIGIP A] Verify Sync Group Status", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_enable_poller();", "", "var check_vals = [", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.color.description\",", " \"value\":\"green\"", " },", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.mode.description\",", " \"value\":\"high-availability\"", " }, ", " { ", " \"path\":\"entries.https://localhost/mgmt/tm/cm/sync-status/0.nestedStats.entries.status.description\",", " \"value\":\"In Sync\"", " }", " ];", "", "f5_check_response(check_vals);", "f5_poll_until_all_tests_pass(\"Cleanup Environment\");" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/cm/syncStatus", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "cm", "syncStatus" ] } }, "response": [] }, { "_postman_id": "8d9d8ca8-ef12-4d56-9b22-cd1ab2d42a40", "name": "Cleanup Environment", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response();", "postman.setNextRequest(null);" ] } }, { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_clear_runtime_vars(true);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/echo", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "echo" ] } }, "response": [] }, { "_postman_id": "e550ce7b-ae24-421e-a75f-7a113804c7f1", "name": "_F5_POLL_DELAY", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "f5_poll_next();", "" ] } } ], "request": { "method": "GET", "header": [], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{_f5_poll_apiurl}}/{{_f5_poll_wait}}", "host": [ "{{_f5_poll_apiurl}}" ], "path": [ "{{_f5_poll_wait}}" ] } }, "response": [] } ] }, { "_postman_id": "3bac9e1d-4375-458a-9c83-980719aaef08", "name": "Lab 1.7 - Build a Basic LTM Config using Transactions", "item": [ { "_postman_id": "b49856c7-98cc-4be2-83d8-3398936422b2", "name": "Step 1: Create a Transaction", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var populate_vars = [", " {name:\"bigip_transaction_id\", value:\"transId\"}", " ];", " ", "f5_populate_env_vars(populate_vars);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction" ] } }, "response": [] }, { "_postman_id": "1b35359d-d379-4e68-9277-cf555e1998bd", "name": "Step 2: Add To Transaction: Create a HTTP Monitor", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"1\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-REST-Coordination-Id", "value": "{{bigip_transaction_id}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"Lab1.7_monitor\",\n \"send\":\"GET / HTTP/1.0\\r\\n\\r\\n\",\n \"recv\":\"\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/monitor/http", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "monitor", "http" ] } }, "response": [] }, { "_postman_id": "94503c79-5aae-4911-ba66-06a7cdedd461", "name": "Step 3: Add to Transaction: Create a Pool", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"2\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-REST-Coordination-Id", "value": "{{bigip_transaction_id}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"Lab1.7_pool\",\n \"monitor\":\"/Common/Lab1.7_monitor\",\n \"members\": [\"10.1.10.100:8000\",\"10.1.10.100:8001\"]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/pool", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "pool" ] } }, "response": [] }, { "_postman_id": "f6af5e6c-fc24-4625-93e3-996a202da913", "name": "Step 4: Add to Transaction: Create a HTTP Profile", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"3\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-REST-Coordination-Id", "value": "{{bigip_transaction_id}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"Lab1.7_http\",\n \"insertXforwardedFor\":\"enabled\",\n \"serverAgentName\":\"Lab_1.7\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/profile/http", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "profile", "http" ] } }, "response": [] }, { "_postman_id": "e57b32be-d7ff-4e0d-9158-91fef867f54a", "name": "Step 5: Add to Transaction: Create a TCP Profile", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"4\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-REST-Coordination-Id", "value": "{{bigip_transaction_id}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"Lab1.7_tcp_clientside\",\n \"nagle\":\"disabled\",\n \"sendBufferSize\":\"16000\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/profile/tcp", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "profile", "tcp" ] } }, "response": [] }, { "_postman_id": "dc518cd9-4fd6-47e7-a1f1-4977b2afa153", "name": "Step 6: Add to Transaction: Create a Virtual Server", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"5\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-REST-Coordination-Id", "value": "{{bigip_transaction_id}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"name\":\"Lab1.7_vs\",\n \"destination\":\"10.1.20.120:80\",\n \"ipProtocol\":\"tcp\",\n \"pool\":\"Lab1.7_pool\",\n \"sourceAddressTranslation\": { \"type\":\"automap\" },\n \"profiles\": [\n { \"name\":\"/Common/Lab1.7_tcp_clientside\", \"context\":\"clientside\" },\n { \"name\":\"/Common/tcp-wan-optimized\", \"context\":\"serverside\" },\n \"/Common/Lab1.7_http\"\n ]\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/ltm/virtual", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "ltm", "virtual" ] } }, "response": [] }, { "_postman_id": "883884d1-7a13-4948-9c74-4bc4d5c2b07d", "name": "Step 7: View the Transaction Queue", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"items\",", " \"value\":\"5\",", " \"op\":\"length\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}/commands", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}", "commands" ] } }, "response": [] }, { "_postman_id": "54af4c82-a442-48d1-8a2b-261371e3d860", "name": "Step 8: View Queued Command 4 from Transaction", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"4\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}/commands/4", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}", "commands", "4" ] } }, "response": [] }, { "_postman_id": "4d9cb61e-e56b-4cef-94e3-b0752950977d", "name": "Step 9: Change Eval Order 4 -> 1", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"evalOrder\",", " \"value\":\"1\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\r \"evalOrder\": 1\r}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}/commands/4", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}", "commands", "4" ] } }, "response": [] }, { "_postman_id": "0430cf7b-4b96-4e26-b275-e05c276b5db7", "name": "Step 10: View the Transaction Queue Changes", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"items\",", " \"value\":\"5\",", " \"op\":\"length\"", " },", " {", " \"path\":\"items.0.uri\",", " \"value\":\"https://localhost/mgmt/tm/ltm/profile/tcp\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}/commands", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}", "commands" ] } }, "response": [] }, { "_postman_id": "225a00f1-fe1e-420c-bd3c-1875d054409d", "name": "Step 11: Commit the Transaction", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\",", " \"value\":\"tm:transactionstate\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"state\":\"VALIDATING\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}" ] } }, "response": [] }, { "_postman_id": "d2df0c5f-1ec5-43a4-854b-ab29d8f48b46", "name": "Step 12: View the Transaction Status", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"state\",", " \"value\":\"COMPLETED\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/tm/transaction/{{bigip_transaction_id}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "tm", "transaction", "{{bigip_transaction_id}}" ] } }, "response": [] } ] }, { "_postman_id": "0a0e63f5-f143-4898-ad3b-f8ef85fca5d9", "name": "Lab 2.2 - Install AS3 onto BIG-IP", "item": [ { "_postman_id": "a62f4535-d34d-428a-8d7e-2e20000b59e4", "name": "Step 1: Get Installed iControl LX Extensions", "event": [ { "listen": "test", "script": { "id": "5e098299-9d1c-4d54-b189-b8d35751507c", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"kind\",", " \"value\":\"shared:iapp:installed-packages:installedpackagecollectionstate\",", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/iapp/installed-packages", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "iapp", "installed-packages" ] } }, "response": [] }, { "_postman_id": "fb48f840-2186-4c34-8607-56216ffb73f4", "name": "Step 2: Upload AS3 Extension RPM", "event": [ { "listen": "test", "script": { "id": "bb38c6e9-0658-458c-be36-3f95d74c9a1c", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"localFilePath\",", " \"value\":\"/f5-appsvcs-3..*.noarch.rpm$/i\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } }, { "listen": "prerequest", "script": { "id": "ec269764-4137-4028-b375-4e6471b42ff9", "type": "text/javascript", "exec": [ "// Create the value for the Content-Range header based on the file size of the RPM", "// https://devcentral.f5.com/articles/demystifying-icontrol-rest-part-5-transferring-files", "", "var fileLen = parseInt(pm.environment.get(\"as3_filelen\"));", "pm.globals.set(\"_as3_content_range\",\"0-\" + (fileLen - 1) + \"/\" + fileLen);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/octet-stream" }, { "key": "Content-Range", "value": "{{_as3_content_range}}" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Connection", "value": "keep-alive" } ], "body": { "mode": "file", "file": {} }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/file-transfer/uploads/{{as3_filename}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "file-transfer", "uploads", "{{as3_filename}}" ] } }, "response": [] }, { "_postman_id": "44c85543-f3cd-4250-9259-8b60b1ff3f71", "name": "Step 3: Create AS3 Extension Install Task", "event": [ { "listen": "test", "script": { "id": "a4da1ae5-cea8-48aa-b803-b45a0086508a", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"status\",", " \"value\":\"CREATED\"", " } ", " ];", "var populate_vars = [", " { ", " \"name\":\"_as3_install_uuid\",", " \"value\":\"id\"", " } ", " ];", " ", "f5_populate_env_vars(populate_vars);", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "{\n \"operation\":\"INSTALL\",\n \"packageFilePath\":\"/var/config/rest/downloads/{{as3_filename}}\"\n}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/iapp/package-management-tasks", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "iapp", "package-management-tasks" ] } }, "response": [] }, { "_postman_id": "1d6c9e07-2377-4d4a-88ec-ffd2953a7217", "name": "Step 4: Get AS3 Install Task Status", "event": [ { "listen": "test", "script": { "id": "2cfb16a5-d7b6-4580-9428-93f10b49d6ad", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"status\",", " \"value\":\"FINISHED\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/iapp/package-management-tasks/{{_as3_install_uuid}}", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "iapp", "package-management-tasks", "{{_as3_install_uuid}}" ] } }, "response": [] }, { "_postman_id": "babbac86-6c8d-4dbb-b156-713f803cec6b", "name": "Step 5: Get AS3 Version Info", "event": [ { "listen": "test", "script": { "id": "72146941-5edf-430b-b687-8e6c3e0b5ecd", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"version\",", " \"value\":\"/^3./i\",", " \"op\":\"regex\"", " } ", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Connection", "value": "keep-alive" } ], "body": { "mode": "raw", "raw": "{}" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/info", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "info" ] } }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "6d75e112-93b6-45bb-b6f6-3a70d6724a0a", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "16cc20b4-c98c-4913-8670-65caacab136c", "type": "text/javascript", "exec": [ "" ] } } ] }, { "_postman_id": "348c39a6-f8f4-41d3-aa63-78eb1a4873a8", "name": "Lab 2.3 - Application Service Deployments with AS3", "item": [ { "_postman_id": "ad610bd4-cf82-40db-b782-9aaa1261555d", "name": "Step 1: Get Deployed AS3 Services", "event": [ { "listen": "test", "script": { "id": "8c6701d3-b448-441a-bbfc-7523bdbab8b4", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response_code(1);" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "64bf8815-1a9c-49e3-a0b7-c983aec81c8a", "name": "Step 2: Deploy HTTP_Service", "event": [ { "listen": "test", "script": { "id": "e79d5b87-090a-46d6-8f22-962fd0fbde38", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.1.0\",\n \"id\": \"SuperNetOps_Class_1_Lab2_3_Step2\",\n \"label\": \"SuperNetOps_Class_1_Lab2_3_Step2\",\n \"remark\": \"Super NetOps Class 1 Lab 2.3 Step2\",\n \"Tenant1\": {\n \"class\": \"Tenant\",\n \"HTTP_Service\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualAddresses\": [\n \"10.1.20.121\"\n ],\n \"snat\": \"auto\",\n \"pool\": \"Pool1\"\n },\n \"Pool1\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": 8001,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n },\n {\n \"servicePort\": 8002,\n \"serverAddresses\": [\n \"10.1.10.101\"\n ]\n }\n\n ]\n }\n } \n }\n }\n }" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "26250757-bb61-46f7-b7df-92bf334cafa4", "name": "Step 3: POST to Modify HTTP_Service", "event": [ { "listen": "test", "script": { "id": "a5278280-d8b1-4192-a6f5-3caaf71c38f0", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.1.0\",\n \"id\": \"SuperNetOps_Class_1_Lab2_3_Step3\",\n \"label\": \"SuperNetOps_Class_1_Lab2_3_Step3\",\n \"remark\": \"Super NetOps Class 1 Lab 2.3 Step 3\",\n \"Tenant1\": {\n \"class\": \"Tenant\",\n \"HTTP_Service\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualAddresses\": [\n \"10.1.20.121\"\n ],\n \"snat\": \"auto\", \n \"pool\": \"Pool1\"\n },\n \"Pool1\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"enable\": false,\n \"servicePort\": 8001,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n },\n {\n \"enable\": false,\n \"servicePort\": 8002,\n \"serverAddresses\": [\n \"10.1.10.101\"\n ]\n }\n\n ]\n }\n } \n }\n }\n }" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "5aacb97e-1365-430b-ba60-0c6c5634e667", "name": "Step 4: PATCH to Modify Service_HTTP", "event": [ { "listen": "test", "script": { "id": "a5278280-d8b1-4192-a6f5-3caaf71c38f0", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n {\n \"op\":\"replace\",\n \"path\":\"/Tenant1/HTTP_Service/Pool1/members/0/enable\",\n \"value\": true\n },\n {\n \"op\":\"replace\",\n \"path\":\"/Tenant1/HTTP_Service/Pool1/members/1/enable\",\n \"value\": true\n },\n {\n \"op\":\"add\",\n \"path\":\"/Tenant1/HTTP_Service/Pool1/members/2\",\n \"value\": {\n \"servicePort\": 8003,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n }\n } \n]" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "f0f49ce1-29a9-4b26-93fb-82d64b549430", "name": "Step 5: PATCH to Delete Service_HTTP", "event": [ { "listen": "test", "script": { "id": "8647b36e-2d75-4155-a4d7-cf7cf710e377", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n {\n \"op\":\"remove\",\n \"path\":\"/Tenant1/HTTP_Service\"\n } \n]" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "0ddff327-ba44-42d9-b56a-1930f4edb61e", "name": "Step 6: Test Re-deploy Service_HTTP with iRule and Custom Profiles", "event": [ { "listen": "test", "script": { "id": "23fab218-396f-410a-a2be-879e9ca8d38e", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " },", " { ", " \"path\":\"results.0.dryRun\",", " \"value\":true", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " {\n \"class\": \"AS3\",\n \"action\": \"dry-run\",\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.1.0\",\n \"id\": \"SuperNetOps_Class_1_Lab2_3_Step5\",\n \"label\": \"SuperNetOps_Class_1_Lab2_3_Step5\",\n \"remark\": \"Super NetOps Class 1 Lab 2.3 Step 5\",\n \"Tenant1\": {\n \"class\": \"Tenant\",\n \"HTTP_Service\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualAddresses\": [\n \"10.1.20.121\"\n ],\n \"iRules\": [ \"Maintenance_iRule\" ],\n \"snat\": \"auto\", \n \"pool\": \"Pool1\",\n \"profileHTTP\": { \"use\": \"HTTP_Profile\" },\n \"profileCompressionHTTP\": { \"use\": \"HTTP_Compress\" }\n },\n \"Pool1\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": 8001,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n },\n {\n \"servicePort\": 8002,\n \"serverAddresses\": [\n \"10.1.10.101\"\n ]\n }\n\n ]\n },\n \"Maintenance_iRule\": {\n \"class\": \"iRule\",\n \"iRule\": {\n \"url\": \"https://raw.githubusercontent.com/f5devcentral/f5-automation-labs/{{repository_branch}}/files/irules/maintenance-page.irule\"\n }\n },\n \"HTTP_Profile\": {\n \"class\": \"HTTP_Profile\",\n \"serverHeader\": \"SuperNetOpsClass1\",\n \"xForwardedFor\": true\n },\n \"HTTP_Compress\": {\n \"class\": \"HTTP_Compress\",\n \"cpuSaver\": true,\n \"cpuSaverHigh\": 70,\n \"cpuSaverLow\": 50,\n \"selective\": true\n }\n } \n }\n }\n }" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "39f3256d-c424-4a52-8076-a58cd0bd6dfe", "name": "Step 7: Re-deploy Service_HTTP with iRule and Custom Profiles", "event": [ { "listen": "test", "script": { "id": "8deb3fbd-bfeb-409c-b90e-596b5f2ca90f", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.1.0\",\n \"id\": \"SuperNetOps_Class_1_Lab2_3_Step5\",\n \"label\": \"SuperNetOps_Class_1_Lab2_3_Step5\",\n \"remark\": \"Super NetOps Class 1 Lab 2.3 Step 5\",\n \"Tenant1\": {\n \"class\": \"Tenant\",\n \"HTTP_Service\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualAddresses\": [\n \"10.1.20.121\"\n ],\n \"iRules\": [ \"Maintenance_iRule\" ],\n \"snat\": \"auto\", \n \"pool\": \"Pool1\",\n \"profileHTTP\": { \"use\": \"HTTP_Profile\" },\n \"profileCompressionHTTP\": { \"use\": \"HTTP_Compress\" }\n },\n \"Pool1\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": 8001,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n },\n {\n \"servicePort\": 8002,\n \"serverAddresses\": [\n \"10.1.10.101\"\n ]\n }\n\n ]\n },\n \"Maintenance_iRule\": {\n \"class\": \"iRule\",\n \"iRule\": {\n \"url\": \"https://raw.githubusercontent.com/f5devcentral/f5-automation-labs/{{repository_branch}}/files/irules/maintenance-page.irule\"\n }\n },\n \"HTTP_Profile\": {\n \"class\": \"HTTP_Profile\",\n \"serverHeader\": \"SuperNetOpsClass1\",\n \"xForwardedFor\": true\n },\n \"HTTP_Compress\": {\n \"class\": \"HTTP_Compress\",\n \"cpuSaver\": true,\n \"cpuSaverHigh\": 70,\n \"cpuSaverLow\": 50,\n \"selective\": true\n }\n } \n }\n }\n }" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "f6a46b33-b4a3-47e5-a78d-88d7821760fb", "name": "Step 8: Deploy Service_HTTPS", "event": [ { "listen": "test", "script": { "id": "7863f183-5ab5-46a4-b0cb-d1b00a9b6574", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n {\n \"op\":\"add\",\n \"path\":\"/Tenant1/HTTPS_Service\",\n \"value\": {\n \"class\": \"Application\",\n \"template\": \"https\",\n \"serviceMain\": {\n \"class\": \"Service_HTTPS\",\n \"virtualAddresses\": [\n \"10.1.20.122\"\n ],\n \"snat\": \"auto\",\n \"pool\": \"Pool1\",\n \"profileHTTP\": { \"use\": \"HTTP_Profile\" },\n \"profileCompressionHTTP\": { \"use\": \"HTTP_Compress\" },\n \"serverTLS\": \"TLS_Offload\"\n },\n \"Pool1\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": 8001,\n \"serverAddresses\": [\n \"10.1.10.100\"\n ]\n },\n {\n \"servicePort\": 8002,\n \"serverAddresses\": [\n \"10.1.10.101\"\n ]\n }\n\n ]\n },\n \t\t\"linux_high\": {\n\t\t\t\"class\": \"WAF_Policy\",\n \t\t\"url\": \"https://raw.githubusercontent.com/f5devcentral/f5-automation-labs/master/files/asm-policies/demo-asm-policy-linux-high.xml\",\n\t\t\t\"ignoreChanges\": true\n\t\t\t},\n \"HTTP_Profile\": {\n \"class\": \"HTTP_Profile\",\n \"adcName\": \"SuperNetOpsClass1\",\n \"xForwardedFor\": true\n },\n \"HTTP_Compress\": {\n \"class\": \"HTTP_Compress\",\n \"cpuSaver\": true,\n \"cpuSaverHigh\": 70,\n \"cpuSaverLow\": 50,\n \"selective\": true\n }, \n \"TLS_Offload\": {\n \"class\": \"TLS_Server\",\n \"certificates\": [\n {\n \"certificate\": \"TLS_KeyPair\"\n }\n ]\n },\n \"TLS_KeyPair\": {\n \"class\": \"Certificate\",\n \"certificate\": \"-----BEGIN CERTIFICATE-----\\nMIIDrjCCApagAwIBAgIECrPR/zANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMC\\nVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMRIwEAYDVQQKEwlNeUNv\\nbXBhbnkxCzAJBgNVBAsTAklUMR4wHAYDVQQDExVsb2NhbGhvc3QubG9jYWxkb21h\\naW4xKTAnBgkqhkiG9w0BCQEWGnJvb3RAbG9jYWxob3N0LmxvY2FsZG9tYWluMB4X\\nDTE1MDkxMDEyNTQyM1oXDTI1MDkwNzEyNTQyM1owgZgxCzAJBgNVBAYTAlVTMQsw\\nCQYDVQQIEwJXQTEQMA4GA1UEBxMHU2VhdHRsZTESMBAGA1UEChMJTXlDb21wYW55\\nMQswCQYDVQQLEwJJVDEeMBwGA1UEAxMVbG9jYWxob3N0LmxvY2FsZG9tYWluMSkw\\nJwYJKoZIhvcNAQkBFhpyb290QGxvY2FsaG9zdC5sb2NhbGRvbWFpbjCCASIwDQYJ\\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL4NU/ngspr58TYRGpwDGwXYhnmKBNE0\\nj9zIsAFGI///er4eEk/TuSwrmthI18a24XyZG7g8UgLaYiOCNOVma/6121ZsE2EU\\nlVIp0fL+IyVPbO3q+8s73MN/aDm/F2ksvtLQ2ONPcmyYBdizyjuvzHgegMeg6BqW\\nqdi3bd/7oAfObPNIrqLmuc0F2os9W8kAsMPt11QYuLxzeK1xaTflNP6tFC73Qwb1\\nHjNKK9kPd/pjy3vnb3lPlxf1g1bF/u2gXHrJyNgtBuUGzNaVGs4bMrMQM4zkbBB/\\nJKQbhK1NrvaeuhwwPzlW9RJnlGNvRZdb1MbrJKLKHhThtTAgZoF3DQkCAwEAATAN\\nBgkqhkiG9w0BAQsFAAOCAQEAZSXy1B9BrdCvjIj50aeFWylKQ/+7ehgrHKzbVsM3\\n1DFWqDhXvWrrPXYn68/p5hZi1/nnVcWvwf8EBvm6i00khiypzqgEFZPJje6OGa93\\nv4fN5WgmWro/Lc6vbiGrnVhysS9yb8ult//OiocDa7XDvK8u4nVYJ+PZ12FBV5R8\\nk6v5NT5sPPYM2qYXdlEpnAopMWYvAfLmSIT6l6G7yIilIDQ0BMbJz963yM4NiQLw\\nkGIwd0nfbBFsTd/c3BBG9Qj4SfoXjuWz8c+lP3f0pmuSl8zADNajI27wt1BZ1m4I\\nugCnZbIVvo2azInZ1RIFJtIJB6dpe+LHL/PJY5fWpjogzA==\\n-----END CERTIFICATE-----\",\n \"chainCA\": \"-----BEGIN CERTIFICATE-----\\nMIIE/zCCA+egAwIBAgIEUdNARDANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMC\\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0\\nLm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW\\nKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl\\ncnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE0MDkyMjE3MTQ1N1oXDTI0MDkyMzAx\\nMzE1M1owgb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgw\\nJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQL\\nEzAoYykgMjAwOSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9u\\nbHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0\\neSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuoS2ctueDGvi\\nmekwAad26jK4lUEaydphTlhyz/72gnm/c2EGCqUn2LNf00VOHHLWTjLycooP94MZ\\n0GqAgABFHrDH55q/ElcnHKNoLwqHvWprDl5l8xx31dSFjXAhtLMy54ui1YY5ArG4\\n0kfO5MlJxDun3vtUfVe+8OhuwnmyOgtV4lCYFjITXC94VsHClLPyWuQnmp8k18bs\\n0JslguPMwsRFxYyXegZrKhGfqQpuSDtv29QRGUL3jwe/9VNfnD70FyzmaaxOMkxi\\nd+q36OW7NLwZi66cUee3frVTsTMi5W3PcDwa+uKbZ7aD9I2lr2JMTeBYrGQ0EgP4\\nto2UYySkcQIDAQABo4IBDzCCAQswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI\\nMAYBAf8CAQEwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz\\ncC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmVudHJ1\\nc3QubmV0L3Jvb3RjYTEuY3JsMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsGAQUF\\nBwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NQUzAdBgNVHQ4EFgQUanImetAe\\n733nO2lR1GyNn5ASZqswHwYDVR0jBBgwFoAUaJDkZ6SmU4DHhmak8fdLQ/uEvW0w\\nDQYJKoZIhvcNAQELBQADggEBAGkzg/woem99751V68U+ep11s8zDODbZNKIoaBjq\\nHmnTvefQd9q4AINOSs9v0fHBIj905PeYSZ6btp7h25h3LVY0sag82f3Azce/BQPU\\nAsXx5cbaCKUTx2IjEdFhMB1ghEXveajGJpOkt800uGnFE/aRs8lFc3a2kvZ2Clvh\\nA0e36SlMkTIjN0qcNdh4/R0f5IOJJICtt/nP5F2l1HHEhVtwH9s/HAHrGkUmMRTM\\nZb9n3srMM2XlQZHXN75BGpad5oqXnafOrE6aPb0BoGrZTyIAi0TVaWJ7LuvMuueS\\nfWlnPfy4fN5Bh9Bp6roKGHoalUOzeXEodm2h+1dK7E3IDhA=\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\nMIIFAzCCA+ugAwIBAgIEUdNg7jANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC\\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50\\ncnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs\\nIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz\\ndCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMTQxMDIyMTcw\\nNTE0WhcNMjQxMDIzMDczMzIyWjCBujELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu\\ndHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt\\ndGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0\\naG9yaXplZCB1c2Ugb25seTEuMCwGA1UEAxMlRW50cnVzdCBDZXJ0aWZpY2F0aW9u\\nIEF1dGhvcml0eSAtIEwxSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\\nANo/ltBNuS9E59s5XptQ7lylYdpBZ1MJqgCajld/KWvbx+EhJKo60I1HI9Ltchbw\\nkSHSXbe4S6iDj7eRMmjPziWTLLJ9l8j+wbQXugmeA5CTe3xJgyJoipveR8MxmHou\\nfUAL0u8+07KMqo9Iqf8A6ClYBve2k1qUcyYmrVgO5UK41epzeWRoUyW4hM+Ueq4G\\nRQyja03Qxr7qGKQ28JKyuhyIjzpSf/debYMcnfAf5cPW3aV4kj2wbSzqyc+UQRlx\\nRGi6RzwE6V26PvA19xW2nvIuFR4/R8jIOKdzRV1NsDuxjhcpN+rdBQEiu5Q2Ko1b\\nNf5TGS8IRsEqsxpiHU4r2RsCAwEAAaOCAQkwggEFMA4GA1UdDwEB/wQEAwIBBjAP\\nBgNVHRMECDAGAQH/AgEAMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0\\ncDovL29jc3AuZW50cnVzdC5uZXQwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL2Ny\\nbC5lbnRydXN0Lm5ldC9nMmNhLmNybDA7BgNVHSAENDAyMDAGBFUdIAAwKDAmBggr\\nBgEFBQcCARYaaHR0cDovL3d3dy5lbnRydXN0Lm5ldC9ycGEwHQYDVR0OBBYEFIKi\\ncHTdvFM/z3vU981/p2DGCky/MB8GA1UdIwQYMBaAFGpyJnrQHu995ztpUdRsjZ+Q\\nEmarMA0GCSqGSIb3DQEBCwUAA4IBAQA/HBpb/0AiHY81DC2qmSerwBEycNc2KGml\\njbEnmUK+xJPrSFdDcSPE5U6trkNvknbFGe/KvG9CTBaahqkEOMdl8PUM4ErfovrO\\nGhGonGkvG9/q4jLzzky8RgzAiYDRh2uiz2vUf/31YFJnV6Bt0WRBFG00Yu0GbCTy\\nBrwoAq8DLcIzBfvLqhboZRBD9Wlc44FYmc1r07jHexlVyUDOeVW4c4npXEBmQxJ/\\nB7hlVtWNw6f1sbZlnsCDNn8WRTx0S5OKPPEr9TVwc3vnggSxGJgO1JxvGvz8pzOl\\nu7sY82t6XTKH920l5OJ2hiEeEUbNdg5vT6QhcQqEpy02qUgiUX6C\\n-----END CERTIFICATE-----\\n\",\n \"privateKey\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+DVP54LKa+fE2\\nERqcAxsF2IZ5igTRNI/cyLABRiP//3q+HhJP07ksK5rYSNfGtuF8mRu4PFIC2mIj\\ngjTlZmv+tdtWbBNhFJVSKdHy/iMlT2zt6vvLO9zDf2g5vxdpLL7S0NjjT3JsmAXY\\ns8o7r8x4HoDHoOgalqnYt23f+6AHzmzzSK6i5rnNBdqLPVvJALDD7ddUGLi8c3it\\ncWk35TT+rRQu90MG9R4zSivZD3f6Y8t75295T5cX9YNWxf7toFx6ycjYLQblBszW\\nlRrOGzKzEDOM5GwQfySkG4StTa72nrocMD85VvUSZ5Rjb0WXW9TG6ySiyh4U4bUw\\nIGaBdw0JAgMBAAECggEBAK//A6845+0gXMGm4S9sqM+nDhDrQT7DIB5jMqpbW+cr\\nnW0FyAtok+hVkRWNj1ST8whBeSwJoCDIP22GnJl7WbMMkcvcVa3nM8hctfICamWY\\nwdUpcHdqPixEhi5Dydg5+ZSclt0Zq2ro9TESfcr8J6ttA/DaD1bgAvWQGA39pNrU\\nM/GF1dVBWB/NmrddpyXJiH33EMKThQtkhTiTWpPqh6SbRuAKI10nZmgEjF9BlLIf\\nXrOXcCSD3w+a3DdefR7QTQ/QOjzRQpmq7fw1lKjW/7Gfi7tnNJM7ERniZ2j1UVMR\\noBbg1xBZVpq+jy7lEzMz6cJ2YZkc1HWMTWjLDTFFcEkCgYEA4OL3bNRM8X5k0V63\\nxC6BPepIF9iUwvl7EJ22+4qI2jhRlcYgJzvY3/3D6lMGUWBcg2p7di7HYHc1DImD\\n1TB3vG7Hxq1k7S+zb/n0aGUgrnbe0SclVq0YjtVXz51wySE8SDKrtC4NKPfb7FZF\\n5Qycaj8WssG3TPxGCKSWgM6MGMMCgYEA2FiXnl/Gu9eEkcvDoXWg1qDsbKOt+XYX\\njyi9TwxKOg/8VZbOM8w2VqBQ074ctNStbD9Su8Pp6ojaIMrm2Kbn+EPVfWRYQROg\\n9iDFCXId1k82KXtoLDcRw9uFtA1jUiMnqg3BmNUbyj9SrYmN0/MZqe2Lwd20orQG\\n8jdKqsloBkMCgYEAkkPsi1L1jGgZqHdDbIyWsK9tHl1WPA3JdgAuICJ1agERRymq\\nhfoNz3mccA554HmdEjgyfqZkNKCz1yilnwY8Ckm/E8B5ES9iNKVMyo1jmTVlLIGa\\nbmp8u4GU8ErFLXu5WnfiZ3lAQ/IZjvh500TFgvDvkWofDypRXpO186bjRcMCgYBJ\\nkM51tyGvzBgzL3OlWodHlE7wnjPRaPuX3YWJ9Kbk2Xy3aeFSMbWkfT0e0z2Vq+AQ\\nt/OdD4BiFQj/L5+RuieU/xQAYHe2IUORjhESJjDJKARF1MXWix9KV0I+uHK2gmfB\\nZo4XNxgNDL1Db0u/76EhbDoiwQ3kaY0XHgAQ1Q2/WwKBgCygFnLKpJQD+TMdHfjm\\nAFMgdfMq99nnKF6HeXUe/Gda9e+ZXKcr7fuj8qfZz7aWW1E8RK1ksKEUc6Zr0vp6\\nhogGsfTpudYlqkdlxOfEhYGs6Nd2sz12vigXSZ2Xg5onejlywM20aow1fdfR9pOF\\nGPJmvm4odOT2uzH0+xau9z4+\\n-----END PRIVATE KEY-----\\n\"\n }\n }\n }\n]" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "3b9bddd1-54b7-4996-8eed-c630d67c1389", "name": "Step 9: Modify Service_HTTPS to add WAF Policy", "event": [ { "listen": "test", "script": { "id": "a95851bf-0fcd-47fc-b5c9-234ff2fde30e", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);", "" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " [\n {\n \"op\":\"add\",\n \"path\":\"/Tenant1/HTTPS_Service/serviceMain/policyWAF\",\n \"value\": { \"bigip\":\"/Tenant1/HTTPS_Service/linux_high\" }\n }\n ]" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "15be7e80-6636-48a6-ba51-59e856eb353f", "name": "Step 10: POST to Delete All Services", "event": [ { "listen": "test", "script": { "id": "8647b36e-2d75-4155-a4d7-cf7cf710e377", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "var check_vals = [", " { ", " \"path\":\"results.0.message\",", " \"value\":\"/success|no\\ change/\",", " \"op\":\"regex\"", " }", " ];", "", "f5_check_response(check_vals);" ] } } ], "request": { "method": "POST", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": " {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.1.0\",\n \"id\": \"SuperNetOps_Class_1_Lab2_3_Step4\",\n \"label\": \"SuperNetOps_Class_1_Lab2_3_Step4\",\n \"remark\": \"Super NetOps Class 1 Lab 2.3 Step 4\",\n \"Tenant1\": {\n \"class\": \"Tenant\" \n }\n }\n }" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] }, { "_postman_id": "e12d9da1-3782-46a5-8317-72f286daf365", "name": "Step 11: Get Deployed AS3 Services", "event": [ { "listen": "test", "script": { "id": "8c6701d3-b448-441a-bbfc-7523bdbab8b4", "type": "text/javascript", "exec": [ "eval(postman.getGlobalVariable(\"_f5_workflow_functions\"));", "", "f5_check_response_code(1);" ] } } ], "request": { "method": "GET", "header": [ { "key": "X-F5-Auth-Token", "value": "{{bigip_a_auth_token}}" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://{{bigip_a_mgmt}}/mgmt/shared/appsvcs/declare", "protocol": "https", "host": [ "{{bigip_a_mgmt}}" ], "path": [ "mgmt", "shared", "appsvcs", "declare" ] } }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "270bb224-2389-46f2-a3f3-f63f5a8ea268", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "d62a3a63-19a9-42b5-89bf-06c489b15643", "type": "text/javascript", "exec": [ "" ] } } ] }, { "_postman_id": "55171278-414c-412a-96ad-e4918df311b7", "name": "Lab 3.1 - Ansible Tower Onboarding", "item": [ { "_postman_id": "3824abaf-e0b7-4c3e-86e9-8d63addd9601", "name": "Token-Based Authentication", "item": [ { "_postman_id": "b8d8e1ae-278a-4029-8a9f-f42590435a47", "name": "Step1: Retrieve Authentication Token", "event": [ { "listen": "test", "script": { "id": "8f63439f-dd58-4f75-be6a-5910cacc1934", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"TowerToken\", jsonData.token);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"username\": \"{{tower_username}}\",\r\n \"password\": \"{{tower_password}}\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/authtoken/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "authtoken", "" ] } }, "response": [] }, { "_postman_id": "f9682740-93e1-4721-8707-1c65d2f88c48", "name": "Step2: Set Auth Token Timeout", "event": [ { "listen": "test", "script": { "id": "80fe6c70-1fa4-4e5e-a61a-83680ce12f41", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_tenant1_id\", jsonData.id);" ] } } ], "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"AUTH_TOKEN_EXPIRATION\": 14400\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/settings/all/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "settings", "all", "" ] } }, "response": [] } ], "_postman_isSubFolder": true }, { "_postman_id": "0e2c41e1-8865-4b37-872c-fcd68f742713", "name": "Tower RBAC Setup", "item": [ { "_postman_id": "8e003431-661d-4fec-9901-a9477133ea4d", "name": "Step1: Create Orginization (Tenant1)", "event": [ { "listen": "test", "script": { "id": "80fe6c70-1fa4-4e5e-a61a-83680ce12f41", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_tenant1_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1\",\r\n \"description\": \"Tenant1\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/organizations/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "organizations", "" ] } }, "response": [] }, { "_postman_id": "4f5096f2-1af3-4334-ba0f-086a30500b42", "name": "Step2: Create Team (T1-Admin)", "event": [ { "listen": "test", "script": { "id": "cc2048f0-9b62-4b3f-942f-36986073fe83", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_t1admin_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_t1admin_member_role_id\", jsonData.summary_fields.object_roles.member_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"T1-Admin\",\r\n \"description\": \"Tenant 1 Administrators\",\r\n \"organization\": {{tower_tenant1_id}}\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "" ] } }, "response": [] }, { "_postman_id": "1cea4a8e-9324-4e8c-8f13-099f113af24c", "name": "Step3: Create Team (T1-Ops)", "event": [ { "listen": "test", "script": { "id": "58d758d5-9791-4079-9edf-b5b0e6f5801a", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_t1ops_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_t1ops_member_role_id\", jsonData.summary_fields.object_roles.member_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"T1-Ops\",\r\n \"description\": \"Tenant 1 Operations\",\r\n \"organization\": {{tower_tenant1_id}}\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "" ] } }, "response": [] }, { "_postman_id": "82293488-d56a-4844-bc81-a5df557f612c", "name": "Step4: Create User (T1-admin-user)", "event": [ { "listen": "test", "script": { "id": "1b1d069f-d24f-483a-874d-c26dcaf9bb63", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_t1adminuser_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"username\": \"T1-admin-user\",\r\n \"first_name\": \"T1\",\r\n \"last_name\": \"admin\",\r\n \"email\": \"test@localhost\",\r\n \"is_superuser\": false,\r\n \"is_system_auditor\": false,\r\n \"password\": \"default\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/users/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "users", "" ] } }, "response": [] }, { "_postman_id": "bad1b064-1dd0-4ec2-8bd4-e5cf2cbbef79", "name": "Step5: Create User (T1-ops-user)", "event": [ { "listen": "test", "script": { "id": "82fc83f9-a2c8-44be-a7d3-7fa9fec94064", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_t1opsuser_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"username\": \"T1-ops-user\",\r\n \"first_name\": \"T1\",\r\n \"last_name\": \"Ops\",\r\n \"email\": \"test@localhost\",\r\n \"is_superuser\": false,\r\n \"is_system_auditor\": false,\r\n \"password\": \"default\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/users/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "users", "" ] } }, "response": [] }, { "_postman_id": "0b269058-d205-47dc-b0a4-622f9d187f88", "name": "Step6: Add User to Team (T1-Admin)", "event": [ { "listen": "test", "script": { "id": "1ebba94d-8706-4708-a39a-18a1fc42e7c3", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"id\":{{tower_t1admin_member_role_id}}\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/users/{{tower_t1adminuser_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "users", "{{tower_t1adminuser_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "32162efb-fedf-4d82-b13d-ba7feec96501", "name": "Step7: Add User to Team (T1-Ops)", "event": [ { "listen": "test", "script": { "id": "1ebba94d-8706-4708-a39a-18a1fc42e7c3", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"id\":{{tower_t1ops_member_role_id}}\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/users/{{tower_t1opsuser_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "users", "{{tower_t1opsuser_id}}", "roles", "" ] } }, "response": [] } ], "_postman_isSubFolder": true }, { "_postman_id": "5b6cece7-1eb0-426f-85bb-8f9518436e77", "name": "Tower Core Objects", "item": [ { "_postman_id": "5504d4e8-a389-4919-a12c-f962d827c45e", "name": "Step1: Create Project for SCM", "event": [ { "listen": "test", "script": { "id": "3a70e9a7-2a95-4e10-97ad-55562345fa99", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_project_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"scm-project\",\r\n \"scm_type\": \"git\",\r\n \"scm_url\": \"https://github.com/f5devcentral/f5-automation-labs.git\",\r\n \"scm_branch\": \"{{repository_branch}}\",\r\n \"scm_clean\": false,\r\n \"scm_delete_on_update\": true,\r\n \"credential\": null,\r\n \"timeout\": 0,\r\n \"organization\": 1,\r\n \"scm_update_on_launch\": true,\r\n \"scm_update_cache_timeout\": 0\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/projects/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "projects", "" ] } }, "response": [] }, { "_postman_id": "c6d497a3-befc-490c-b50e-8ad7d9ac1538", "name": "Step2: Create Tower Inventory", "event": [ { "listen": "test", "script": { "id": "9892b225-34ef-490e-ad59-0d3b11c1bb9e", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_inventory_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"LAB_BIGIP\",\r\n \"description\": \"\",\r\n \"organization\": 1\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/inventories/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "inventories", "" ] } }, "response": [] }, { "_postman_id": "fe4f385c-8459-4e66-adef-fc46125f851f", "name": "Step3: Create Inventory Group", "event": [ { "listen": "test", "script": { "id": "ebe7cddb-306e-444a-9e15-f7e64125b765", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_group_id\", jsonData.id);", "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"bigip\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/inventories/{{tower_inventory_id}}/groups/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "inventories", "{{tower_inventory_id}}", "groups", "" ] } }, "response": [] }, { "_postman_id": "87304d0d-b931-4999-88e2-f811c5043ec5", "name": "Step4: Create Inventory Host", "event": [ { "listen": "test", "script": { "id": "14a3c387-8f9e-49a8-b991-0cfa001c7652", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_host_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": {{bigip_a_mgmt_name}},\r\n \"inventory\": {{tower_inventory_id}}\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/hosts/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "hosts", "" ] } }, "response": [] }, { "_postman_id": "b461df04-bf79-41a8-a8ed-360d2793a597", "name": "Step5: Add Host to Group", "event": [ { "listen": "test", "script": { "id": "3367d11e-7a7c-425c-af54-10d78b641445", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\": {{tower_host_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/groups/{{tower_group_id}}/hosts/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "groups", "{{tower_group_id}}", "hosts", "" ] } }, "response": [] }, { "_postman_id": "751efa14-89b0-4f7b-a11f-1f6857aba201", "name": "Step7: Create Tower Credentials", "event": [ { "listen": "test", "script": { "id": "e7087368-95f7-4e97-9a7f-72c859233886", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_credentials_id\", jsonData.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"LAB_CREDS\",\r\n \"description\": \"BIGIP Credentials\",\r\n \"user\": 1,\r\n \"credential_type\": 1,\r\n \"inputs\": {\r\n \"username\": \"admin\",\r\n \"password\": \"admin\"\r\n }\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/credentials/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "credentials", "" ] } }, "response": [] }, { "_postman_id": "543a431f-9185-4d8e-925a-15b8dad2078c", "name": "Step8: Delay for SCM to update", "event": [ { "listen": "test", "script": { "id": "a40f78dd-0571-491a-bffa-2d17b8ad6c60", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"LAB_CREDS\",\r\n \"description\": \"BIGIP Credentials\",\r\n \"user\": 1,\r\n \"credential_type\": 1,\r\n \"inputs\": {\r\n \"username\": \"admin\",\r\n \"password\": \"admin\"\r\n }\r\n}" }, "url": { "raw": "https://postman-echo.com/delay/10/", "protocol": "https", "host": [ "postman-echo", "com" ], "path": [ "delay", "10", "" ] } }, "response": [] }, { "_postman_id": "3f09468f-69fb-433d-b971-d6273e6a4ca0", "name": "Step9: Check SCM Sync Status", "event": [ { "listen": "test", "script": { "id": "df4221d9-9604-4f17-98e7-cbe89810229a", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_sync_status\", jsonData.status);", "", "if(jsonData.status.has(\"success\")) ", "{", " postman.setNextRequest('Step 1: Create Template (View Config)');", "}", "else", "{", " postman.setNextRequest('Step8: Delay for SCM to update');", "}" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"LAB_CREDS\",\r\n \"description\": \"BIGIP Credentials\",\r\n \"user\": 1,\r\n \"credential_type\": 1,\r\n \"inputs\": {\r\n \"username\": \"admin\",\r\n \"password\": \"admin\"\r\n }\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/projects/{{tower_project_id}}/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "projects", "{{tower_project_id}}", "" ] } }, "response": [] } ], "_postman_isSubFolder": true }, { "_postman_id": "2afa4ae5-05a7-4101-bb83-1f1ebc48c1a9", "name": "Create Job Templates", "item": [ { "_postman_id": "97ae0899-72d4-41e2-b1c7-874bae564aad", "name": "Step 1: Create Template (View Config)", "event": [ { "listen": "test", "script": { "id": "f486c417-90df-42c0-802c-519a1be4d6ec", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_viewtemplate_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_viewconfig_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_View_Config\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/view_current_apps.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false,\r\n \"extra_vars\": \"---\\ntenant: Tenant1\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "c07431f4-c204-4daf-a07e-eda3405fd9fc", "name": "Step 2: Create Template (Deploy Config)", "event": [ { "listen": "test", "script": { "id": "41d148a6-3acc-4c4a-be42-ee8864e8ee93", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_updatetemplate_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_deployconfig_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_Deploy_Config\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/tenant_template.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "e05197b0-d0c8-4aea-a94b-0e856f8e4367", "name": "Step 3: Create Survey (Deploy Config)", "event": [ { "listen": "test", "script": { "id": "7b52d505-dc4e-451e-b11b-83cf2fb2c8af", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"description\": \"Survey for Deploy\",\r\n \"name\": \"Survey for Deploy\",\r\n \"spec\": [\r\n {\r\n \"required\": true,\r\n \"min\": null,\r\n \"default\": \"Tenant1\",\r\n \"max\": null,\r\n \"question_description\": \"\",\r\n \"choices\": \"Tenant1\",\r\n \"new_question\": true,\r\n \"variable\": \"tenant\",\r\n \"question_name\": \"Tenant\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"question_description\": \"JSON file which contains the desired application parameters\",\r\n \"min\": null,\r\n \"default\": \"\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"f5-http-app\\nf5-https-offload-app\\nf5-tcp-app\\nf5-udp-app\\nf5-http-irule-routing-app\\nf5-https-waf-app\",\r\n \"variable\": \"f5_template\",\r\n \"question_name\": \"Template file\",\r\n \"type\": \"multiplechoice\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_updatetemplate_id}}/survey_spec/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_updatetemplate_id}}", "survey_spec", "" ] } }, "response": [] }, { "_postman_id": "87cc53b6-b258-476b-a84f-c3f7328261cb", "name": "Step 4: Create Template (Pool_Replace_Members) PATCH", "event": [ { "listen": "test", "script": { "id": "6cc0864c-64a9-48bf-abe4-62acd05b2494", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_pm_replace_patch_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_pm_replace_patch_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_Pool_Update_All_Members\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/update-all_members.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false,\r\n \"ask_variables_on_launch\": true,\r\n \"extra_vars\": \"members:\\n- {ip: , port: , status: true}\\n- {ip: , port: , status: true}\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "f7292b7f-d91a-4763-9ecd-9971545c2661", "name": "Step 5: Create Survey (Pool Replace) PATCH", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"description\": \"Survey for Updating Members\",\r\n \"name\": \"Survey for Updating Members\",\r\n \"spec\": [\r\n {\r\n \"question_description\": \"Bigip Partition (Tenant1, Tenant2, etc..)\",\r\n \"min\": null,\r\n \"default\": \"Tenant1\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"Tenant1\",\r\n \"variable\": \"tenant\",\r\n \"question_name\": \"Tenant\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Application Name on Bigip\",\r\n \"choices\": \"\",\r\n \"variable\": \"application\",\r\n \"question_name\": \"Application\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Bigip Pool Name\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"pool\",\r\n \"question_name\": \"Pool Name\",\r\n \"type\": \"text\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_pm_replace_patch_id}}/survey_spec/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_pm_replace_patch_id}}", "survey_spec", "" ] } }, "response": [] }, { "_postman_id": "28842314-6a55-49c4-a4ed-304a6812eb47", "name": "Step 6: Create Template (Add_Member) PATCH", "event": [ { "listen": "test", "script": { "id": "37eaf9f1-998c-4b9c-b2e6-ec54c2548026", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_pm_add_patch_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_pm_add_patch_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_Pool_Add_Member\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/add-del_member.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "10adbcec-a569-47e5-9c4c-0ab022582388", "name": "Step 7: Create Survey (Add_Member) PATCH", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"description\": \"Survey for Adding a Member\",\r\n \"name\": \"Survey for Adding a Member\",\r\n \"spec\": [\r\n {\r\n \"question_description\": \"Bigip Partition (Tenant1, Tenant2, etc..)\",\r\n \"min\": null,\r\n \"default\": \"Tenant1\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"Tenant1\",\r\n \"variable\": \"tenant\",\r\n \"question_name\": \"Tenant\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"question_description\": \"Action\",\r\n \"min\": null,\r\n \"default\": \"add\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"add\",\r\n \"variable\": \"cur_action\",\r\n \"question_name\": \"Action\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Application Name on Bigip\",\r\n \"choices\": \"\",\r\n \"variable\": \"application\",\r\n \"question_name\": \"Application\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Bigip Pool Name\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"pool\",\r\n \"question_name\": \"Pool Name\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"New Member\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"new_member\",\r\n \"question_name\": \"New Member IP\",\r\n \"type\": \"text\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_pm_add_patch_id}}/survey_spec/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_pm_add_patch_id}}", "survey_spec", "" ] } }, "response": [] }, { "_postman_id": "8f41ac84-6aba-412c-82a7-47fe5c840b77", "name": "Step 8: Create Template (Del_Member) PATCH", "event": [ { "listen": "test", "script": { "id": "671b3707-372f-4081-a6ed-2c78ac4a6227", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_pm_del_patch_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_pm_del_patch_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_Pool_Delete_Member\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/add-del_member.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "681bd5b5-3569-4e38-bec1-981859c8ff85", "name": "Step 9: Create Survey (Del_Member) PATCH", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"description\": \"Survey for Deleting a Member\",\r\n \"name\": \"Survey for Deleting a Member\",\r\n \"spec\": [\r\n {\r\n \"question_description\": \"Bigip Partition (Tenant1, Tenant2, etc..)\",\r\n \"min\": null,\r\n \"default\": \"Tenant1\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"Tenant1\",\r\n \"variable\": \"tenant\",\r\n \"question_name\": \"Tenant\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"question_description\": \"Action\",\r\n \"min\": null,\r\n \"default\": \"del\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"del\",\r\n \"variable\": \"cur_action\",\r\n \"question_name\": \"Action\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Application Name on Bigip\",\r\n \"choices\": \"\",\r\n \"variable\": \"application\",\r\n \"question_name\": \"Application\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Bigip Pool Name\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"pool\",\r\n \"question_name\": \"Pool Name\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Index of Member to Remove\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"mem_index\",\r\n \"question_name\": \"Index of Member to Remove\",\r\n \"type\": \"text\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_pm_del_patch_id}}/survey_spec/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_pm_del_patch_id}}", "survey_spec", "" ] } }, "response": [] }, { "_postman_id": "1265bba2-7a7e-46c2-82a7-6f4cdc9a6406", "name": "Step 10: Create Template (SSL PATCH)", "event": [ { "listen": "test", "script": { "id": "480b195b-66f1-41f3-8faf-f91275b16bda", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_sslpatch_id\", jsonData.id);", "postman.setEnvironmentVariable(\"tower_sslpatch_execute_id\", jsonData.summary_fields.object_roles.execute_role.id);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"name\": \"Tenant1_Update_CRT_KEY\",\r\n \"description\": \"\",\r\n \"job_type\": \"run\",\r\n \"inventory\": {{tower_inventory_id}},\r\n \"project\": {{tower_project_id}},\r\n \"playbook\": \"files/tower/playbooks/update_crtkey.yaml\",\r\n \"credential\": {{tower_credentials_id}},\r\n \"survey_enabled\": true,\r\n \"allow_simultaneous\": false\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "" ] } }, "response": [] }, { "_postman_id": "a97c5f1d-bb16-43f2-92a3-d71c77d5f30c", "name": "Step 11: Create Survey (SSL Update) PATCH", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\r\n \"description\": \"Survey for Deleting a Member\",\r\n \"name\": \"Survey for Deleting a Member\",\r\n \"spec\": [\r\n {\r\n \"question_description\": \"Bigip Partition (Tenant1, Tenant2, etc..)\",\r\n \"min\": null,\r\n \"default\": \"Tenant1\",\r\n \"max\": null,\r\n \"required\": true,\r\n \"choices\": \"Tenant1\",\r\n \"variable\": \"tenant\",\r\n \"question_name\": \"Tenant\",\r\n \"type\": \"multiplechoice\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"\",\r\n \"max\": 1024,\r\n \"question_description\": \"Application Name on Bigip\",\r\n \"choices\": \"\",\r\n \"variable\": \"application\",\r\n \"question_name\": \"Application\",\r\n \"type\": \"text\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"-----BEGIN CERTIFICATE-----\\\\nMIIDBzCCAe+gAwIBAgIJAJwpww/WY3PaMA0GCSqGSIb3DQEBCwUAMBoxGDAWBgNV\\\\nBAMMD3Rlc3QyLmxvY2FsaG9zdDAeFw0xODA3MTYyMzA4MjhaFw0xOTA3MTYyMzA4\\\\nMjhaMBoxGDAWBgNVBAMMD3Rlc3QyLmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\\\\nBQADggEPADCCAQoCggEBAMY2U0octIbuMWW9D4eMbRQkGO1qz654ZR398ZeT0c9O\\\\ne2NuNiK1TQlqJ26bTZANy22E/py+0i6dCoAoUl/wKjlxijjqrRV1fKOrdP7RSPEF\\\\nnGCyaj8B4qhVk3S4ExkL1AiURqvSaFZAu9pnfFkYNiGzSObWMi2s8GgEBKNpZr/r\\\\n1lpJCDLV3IZ0uBil+xmlmIHI6J1yboXs0zAx5yt8SuoIGoOkuFnHp03IH/sLo0nH\\\\ni+c8nOmfOXYPwzBvZGC1RupLU/p06YM/YG60Idlj2GGuXewnPIGfm3QfYth0mwST\\\\nm7xWPTcRBi+spsKJ0aWtGGbhMjj1WPi7HOcD0/tFJ20CAwEAAaNQME4wHQYDVR0O\\\\nBBYEFCrTDPRa/2/HHvJEHbq+dqYM3ymDMB8GA1UdIwQYMBaAFCrTDPRa/2/HHvJE\\\\nHbq+dqYM3ymDMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJ8StxLs\\\\nkKXRQSM5NxnVpVBDjKRVGAnVC0dSBXDdODM2rhWhHESFWKmduD6h6sopWStf0c2L\\\\nJR1dExTvlCmwav0sZGFEllPbUZDZKsBSjHK26PVzw6ztPi70rHKaP/PhBu9XX/AK\\\\n6dVe1Nx7peMD50WnsP7R2bSq8dSQcNRk/b+pEeYCHSgujdKHX9SvKY/ezlJkqUG+\\\\n7iq5NTfpThpPDn0A99DGj9fIqu+U7iH6HuIL43AzDrD96MGS/1/w5fVcniX2dMhL\\\\nQohIeac9iHaNZCHWeHRmjaOy/Xie8/HQZbRZXvLb1SoI8XsBxqPBNcBeolUi7uP4\\\\nCyRmchvyUMi4hNI=\\\\n-----END CERTIFICATE-----\",\r\n \"max\": 4096,\r\n \"question_description\": \"New SSL CRT\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"new_crt\",\r\n \"question_name\": \"New SSL CRT\",\r\n \"type\": \"textarea\"\r\n },\r\n {\r\n \"required\": true,\r\n \"min\": 0,\r\n \"default\": \"-----BEGIN PRIVATE KEY-----\\\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDGNlNKHLSG7jFl\\\\nvQ+HjG0UJBjtas+ueGUd/fGXk9HPTntjbjYitU0Jaidum02QDctthP6cvtIunQqA\\\\nKFJf8Co5cYo46q0VdXyjq3T+0UjxBZxgsmo/AeKoVZN0uBMZC9QIlEar0mhWQLva\\\\nZ3xZGDYhs0jm1jItrPBoBASjaWa/69ZaSQgy1dyGdLgYpfsZpZiByOidcm6F7NMw\\\\nMecrfErqCBqDpLhZx6dNyB/7C6NJx4vnPJzpnzl2D8Mwb2RgtUbqS1P6dOmDP2Bu\\\\ntCHZY9hhrl3sJzyBn5t0H2LYdJsEk5u8Vj03EQYvrKbCidGlrRhm4TI49Vj4uxzn\\\\nA9P7RSdtAgMBAAECggEBAI18Z9XGScLrMg2aeARc49v1rGmEzfyPajaPd62oUaL2\\\\nNbOTD0eVPQlUYhNc/m+uuSBTR+AhgizN4pn6rlpXN/zLJExej/B6bd7y28+tGrEZ\\\\nPTf1A0w4j09zzo8JenBtdgwts4ig5+Nxz+Yl6qg6VSGXNZm5GhZqlSzaeWkgKr0h\\\\nXMNvQX8pxN9jXx7umDd/34+G05MhACdEfGz+Qvz/gGBDUQRJ1QCNrm7t4AyjXdcM\\\\niIVjTQ5K7unROot97/akjKY7o5rAZOei5JikOShFRCQgQeXdXp1QQV0TOvzBL31N\\\\neuik7SvpUlqnIcQkvbnMbx5dhNDQatAFPdODKGqmjS0CgYEA481xY5z8KF64JLsi\\\\nzVsyCaW/HVLD6rzxJPI99R21TjmXCcz/RLakSuenHCwEGQ+K6kEZiRKc7X3uxDAv\\\\nzsPdhedYMPvIzeNJ/Aq+ti8HFQIFAvANBhYiP8z5gnCAZKKiX1hBY5vgc/PT6aKz\\\\n6JtQwlxplpkDLA3bq9MOzZ8qSsMCgYEA3r87M3LWTiO9kZ4yV0ih03l/DdzSbZDp\\\\nDfjP4K2FrxlCiceLrPDvJlRGz+2tdSrzXXWACHywSDuoCMPdQtBAlz+BNaoIOaKC\\\\nf/IyJHOe3GV59xC0RC85T8gcIUv5HUGtgmzC7NTQ3ryc4scdovWLDFR7bpuWuWwK\\\\nddnlYqghwg8CgYEAtoHwKFirhURtz6/GMDSyIByUw099+2Eo6erSTMFicqudIJMG\\\\nqOyTMBfsQJvbJKDZMNi7NqCc7YEJfFEG3Gb74b35YDU5KgrBSZbqOFfxGpmlnjbo\\\\nmEm/YtI7zI+JrhbGdBDnQoCuEPf2faaG8QMObslPJwKsEe2AY2cS4xZz8bUCgYAF\\\\nf88kXAdycmtxtugjQ4XLRMqgOv1u+w7l62imcWJFimgcIrMOF/yvg5Ej/Qg1RlQv\\\\n0IDStNFdVyu027EQvzd5BHZaLtJ5KcvzALXANKKNamvyb5Ujwc62a4hWQhvqXv67\\\\no5fEZRSrCxkMeEIBDfLa4RMTDgBQn5w6gKCrKN98fQKBgCn6INRwJrUK4brpDkMn\\\\ndkZTOpLENHNYfFVA/fzCDMW1RyCUWXMxzpVdvb4XmITKBVrgZGCsIrVgSteF8qiq\\\\nGShYrRFBcOUq+3ufFN3gM5w1xDgN9E1rPzLmWH1HqA+IDb/yedCyorF9lLlqLEO2\\\\nk9r0lKx9TrbsHCceWKFEK0OQ\\\\n-----END PRIVATE KEY-----\",\r\n \"max\": 4096,\r\n \"question_description\": \"New SSL KEY\",\r\n \"choices\": \"\",\r\n \"new_question\": true,\r\n \"variable\": \"new_key\",\r\n \"question_name\": \"New SSL KEY\",\r\n \"type\": \"textarea\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_sslpatch_id}}/survey_spec/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_sslpatch_id}}", "survey_spec", "" ] } }, "response": [] } ], "_postman_isSubFolder": true }, { "_postman_id": "475842f3-df83-4cce-bd50-955328e20264", "name": "Apply Permissions to Templates", "item": [ { "_postman_id": "22f7cf32-8242-4974-b0c9-a48ce10cecb3", "name": "Step 1: Permissions (View Config Ops)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_viewconfig_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1ops_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1ops_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "022344f0-1562-4c93-9d94-b34a12917cd8", "name": "Step 2: Permissions (View Config Admins)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_viewconfig_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1admin_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1admin_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "b5985ab8-8cd8-4477-a535-4a0c6895a229", "name": "Step 3: Permissions (Deploy Config Admins)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_deployconfig_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1admin_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1admin_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "628b56c5-4497-4286-ba93-391515dc1d47", "name": "Step 4: Permissions (Pool Member PATCH Ops)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_pm_replace_patch_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1ops_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1ops_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "25394b22-1332-4d24-804e-8bd727efa99d", "name": "Step 5: Permissions (Pool Member Add Ops)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_pm_add_patch_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1ops_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1ops_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "4a3e61a8-b60d-441f-80ce-8894dca64549", "name": "Step 6: Permissions (Pool Member Del Ops)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_pm_del_patch_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1ops_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1ops_id}}", "roles", "" ] } }, "response": [] }, { "_postman_id": "c2750c68-a740-4fe1-9b53-9a8e8e4dae2d", "name": "Step 6: Permissions (SSL Ops)", "event": [ { "listen": "test", "script": { "id": "cbc8125e-d625-4f7f-83a2-59706168fa71", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"id\":{{tower_sslpatch_execute_id}}\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/teams/{{tower_t1ops_id}}/roles/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "teams", "{{tower_t1ops_id}}", "roles", "" ] } }, "response": [] } ], "_postman_isSubFolder": true } ] }, { "_postman_id": "6ad97f59-cfd2-4d29-a5de-5356cc5ee088", "name": "Lab 3.4 - Ansible Tower and REST", "item": [ { "_postman_id": "d77869fa-6c7b-400c-b257-0217cb5f1c4a", "name": "Step1: Retrieve Authentication Token", "event": [ { "listen": "test", "script": { "id": "8f63439f-dd58-4f75-be6a-5910cacc1934", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"TowerToken\", jsonData.token);" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"username\": \"{{tower_username}}\",\r\n \"password\": \"{{tower_password}}\"\r\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/authtoken/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "authtoken", "" ] } }, "response": [] }, { "_postman_id": "c6c67d3c-3023-4943-8c76-35ad2de9cdea", "name": "Step 2: Get Tenant1_Pool_Add_Member ID", "event": [ { "listen": "test", "script": { "id": "5bd1af4a-4280-4f36-b336-d807852c9035", "type": "text/javascript", "exec": [ "var jsonData = JSON.parse(responseBody);", "postman.setEnvironmentVariable(\"tower_pm_add_patch_id\", jsonData.id);" ] } } ], "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"extra_vars\": {\n \"pool\": \"web_pool\",\n \"application\": \"A2\",\n \"cur_action\": \"add\",\n \"tenant\": \"Tenant1\",\n \"new_member\": \"10.1.10.105\"\n }\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/Tenant1_Pool_Add_Member", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "Tenant1_Pool_Add_Member" ] } }, "response": [] }, { "_postman_id": "6fe50505-ed6a-4462-b669-b20113d02a0d", "name": "Step 3: Run Tenant1_Pool_Add_Member", "event": [ { "listen": "test", "script": { "id": "0665ece2-0045-48c8-86b0-3282f09bda79", "type": "text/javascript", "exec": [ "" ] } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Token {{TowerToken}}" } ], "body": { "mode": "raw", "raw": "{\n \"extra_vars\": {\n \"pool\": \"web_pool\",\n \"application\": \"A2\",\n \"cur_action\": \"add\",\n \"tenant\": \"Tenant1\",\n \"new_member\": \"10.1.10.105\"\n }\n}" }, "url": { "raw": "https://{{tower_mgmt}}/api/v2/job_templates/{{tower_pm_add_patch_id}}/launch/", "protocol": "https", "host": [ "{{tower_mgmt}}" ], "path": [ "api", "v2", "job_templates", "{{tower_pm_add_patch_id}}", "launch", "" ] } }, "response": [] } ] } ], "event": [ { "listen": "prerequest", "script": { "id": "6bc859cd-3989-4415-a39d-3efa2eaa181f", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "b59485b1-c0be-46d0-a43c-95bf234efffd", "type": "text/javascript", "exec": [ "" ] } } ] }