@f5xc-salesdemos/xcsh 19.44.2 → 19.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -8
- package/scripts/capture-ax-fixture.ts +5 -5
- package/scripts/capture-login-fixture.ts +1 -1
- package/scripts/extension-uat-harness.ts +7 -7
- package/scripts/generate-api-spec-index.ts +2 -2
- package/scripts/generate-terraform-index.ts +8 -8
- package/scripts/uat-matrix-modalities.ts +7 -7
- package/scripts/uat-matrix.ts +13 -13
- package/src/browser/extension-page-actions.ts +10 -4
- package/src/browser/extension-provider.ts +3 -3
- package/src/browser/input-commit.ts +1 -1
- package/src/cli/chrome-cli.ts +1 -1
- package/src/config/context-schema.json +3 -3
- package/src/config/settings-schema.ts +5 -5
- package/src/internal-urls/api-catalog-resolve.ts +5 -5
- package/src/internal-urls/branding-index.generated.ts +8 -8
- package/src/internal-urls/build-info-runtime.ts +2 -2
- package/src/internal-urls/build-info.generated.ts +8 -8
- package/src/internal-urls/console-catalog.generated.ts +264 -264
- package/src/internal-urls/console-field-metadata.generated.ts +36 -11
- package/src/internal-urls/docs-index.generated.ts +26 -26
- package/src/internal-urls/terraform-index.generated.ts +252 -252
- package/src/internal-urls/terraform-resolve.ts +13 -13
- package/src/internal-urls/xcsh-protocol.ts +3 -3
- package/src/main.ts +3 -3
- package/src/modes/components/context-add-wizard.ts +6 -6
- package/src/modes/components/plugins/utils.ts +1 -1
- package/src/modes/components/status-line/presets.ts +15 -15
- package/src/modes/components/status-line/segments.ts +10 -10
- package/src/modes/components/status-line-segment-editor.ts +1 -1
- package/src/modes/components/welcome-checks.ts +2 -2
- package/src/modes/components/welcome.ts +1 -1
- package/src/modes/controllers/context-command-controller.ts +3 -3
- package/src/modes/interactive-mode.ts +1 -1
- package/src/modes/theme/defaults/xcsh-dark.json +2 -2
- package/src/modes/theme/defaults/xcsh-light.json +2 -2
- package/src/modes/theme/theme-schema.json +4 -4
- package/src/modes/theme/theme.ts +6 -6
- package/src/prompts/system/system-prompt.md +10 -10
- package/src/prompts/tools/xcsh-api.md +16 -16
- package/src/sdk.ts +12 -12
- package/src/services/context-env.ts +17 -17
- package/src/services/{f5xc-api-client.ts → xcsh-api-client.ts} +22 -22
- package/src/services/{f5xc-context-command.ts → xcsh-context-command.ts} +36 -36
- package/src/services/{f5xc-context-display.ts → xcsh-context-display.ts} +1 -1
- package/src/services/{f5xc-context-segment.ts → xcsh-context-segment.ts} +4 -4
- package/src/services/{f5xc-context.ts → xcsh-context.ts} +104 -112
- package/src/services/{f5xc-env.ts → xcsh-env.ts} +42 -20
- package/src/services/{f5xc-knowledge.ts → xcsh-knowledge.ts} +2 -2
- package/src/services/{f5xc-table.ts → xcsh-table.ts} +3 -3
- package/src/session/session-manager.ts +2 -2
- package/src/slash-commands/builtin-registry.ts +1 -1
- package/src/slash-commands/export-command.ts +4 -4
- package/src/slash-commands/resource-commands.ts +4 -4
- package/src/system-prompt.ts +1 -1
- package/src/tools/catalog-workflow-runner.ts +6 -6
- package/src/tools/xcsh-api.ts +12 -12
- /package/src/services/{f5xc-context-indicators.ts → xcsh-context-indicators.ts} +0 -0
|
@@ -8,253 +8,253 @@ export const CONSOLE_CATALOG_DATA: ConsoleCatalogData = {
|
|
|
8
8
|
version: "local",
|
|
9
9
|
workflows: {
|
|
10
10
|
"address-allocator/create":
|
|
11
|
-
|
|
11
|
+
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-create\nlabel: Create IP Address Allocators\nresource: address-allocator\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: IP Address Allocators name (lowercase alphanumeric and hyphens)\n example: example-address-allocator\n address_allocator_mode:\n required: true\n description: Address Allocator Mode\n allocation_unit:\n required: false\n description: Allocation Unit\n default: 0\n address_pool:\n required: true\n description: Address Pool\n address_allocation_scheme:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add IP Address Allocator')\n wait_for: textbox[name='Name']\n description: Click the Add IP Address Allocator tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-address_allocator_mode\n action: select\n selector: listbox\n context: Address Allocator Mode section\n value: \"{address_allocator_mode}\"\n description: Select Address Allocator Mode\n - id: fill-allocation_unit\n action: fill\n selector: spinbutton[name='Allocation Unit']\n value: \"{allocation_unit}\"\n description: Set Allocation Unit\n - id: fill-address_pool\n action: fill\n selector: ngx-datatable input.form-control\n context: Address Pool table\n value: \"{address_pool}\"\n description: Enter Address Pool in the existing table row (no Add Item needed — the table ships one empty row)\n - id: configure-address_allocation_scheme\n action: click\n selector: text('Configure')\n context: Address Allocation Scheme section\n description: Open the Address Allocation Scheme configuration ('Configure' is a link, not a button)\n - id: fill-address_allocation_scheme-value\n action: fill\n selector: textbox\n value: \"{address_allocation_scheme}\"\n description: Enter the Address Allocation Scheme value via the 'address_allocation_scheme' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
12
12
|
"address-allocator/delete":
|
|
13
13
|
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-delete\nlabel: Delete IP Address Allocators\nresource: address-allocator\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-address-allocator\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('IP Address Allocators')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
14
14
|
"address-allocator/read":
|
|
15
|
-
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-read\nlabel: Read IP Address Allocators\nresource: address-allocator\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-address-allocator\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id:
|
|
15
|
+
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-read\nlabel: Read IP Address Allocators\nresource: address-allocator\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-address-allocator\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
16
16
|
"address-allocator/update":
|
|
17
|
-
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-update\nlabel: Update IP Address Allocators\nresource: address-allocator\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-address-allocator\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
17
|
+
"schema: urn:f5xc:console:workflow:v1\nid: address-allocator-update\nlabel: Update IP Address Allocators\nresource: address-allocator\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-address-allocator\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/address_allocators\n wait_for: text('IP Address Allocators')\n description: Navigate to IP Address Allocators list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('IP Address Allocators')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
18
18
|
"advertise-policy/create":
|
|
19
|
-
'schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-create\nlabel: Create Advertise Policies\nresource: advertise-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Advertise Policies name (lowercase alphanumeric and hyphens)\n example: example-advertise-policy\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: Reference\n internet_vip_choice:\n required: false\n description: Internet VIP Choice\n default: Disable advertise on internet vip\n tcp_udp_port:\n required: false\n description: TCP/UDP Port\n default: TCP/UDP Port\n tcp_udp_port_value:\n required: false\n description: TCP/UDP Port (value)\n default: 80\n port_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text(\'Advertise Policies\')\n description: Navigate to Advertise Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Advertise Policy\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Advertise Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: select-internet_vip_choice\n action: select\n selector: listbox\n context: Internet VIP Choice section\n value: "{internet_vip_choice}"\n description: Select Internet VIP Choice\n condition: params.internet_vip_choice is set\n - id: select-tcp_udp_port\n action: select\n selector: listbox\n context: TCP/UDP Port section\n value: "{tcp_udp_port}"\n description: Select TCP/UDP Port\n condition: params.tcp_udp_port is set\n - id: fill-tcp_udp_port_value\n action: fill\n selector: spinbutton[name=\'TCP/UDP Port (value)\']\n value: "{tcp_udp_port_value}"\n description: "Set TCP/UDP Port (value) (default: 80)"\n condition: params.tcp_udp_port_value is set\n - id: configure-port_choice\n action: click\n selector:
|
|
19
|
+
'schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-create\nlabel: Create Advertise Policies\nresource: advertise-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Advertise Policies name (lowercase alphanumeric and hyphens)\n example: example-advertise-policy\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: Reference\n internet_vip_choice:\n required: false\n description: Internet VIP Choice\n default: Disable advertise on internet vip\n tcp_udp_port:\n required: false\n description: TCP/UDP Port\n default: TCP/UDP Port\n tcp_udp_port_value:\n required: false\n description: TCP/UDP Port (value)\n default: 80\n port_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text(\'Advertise Policies\')\n description: Navigate to Advertise Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Advertise Policy\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Advertise Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: select-internet_vip_choice\n action: select\n selector: listbox\n context: Internet VIP Choice section\n value: "{internet_vip_choice}"\n description: Select Internet VIP Choice\n condition: params.internet_vip_choice is set\n - id: select-tcp_udp_port\n action: select\n selector: listbox\n context: TCP/UDP Port section\n value: "{tcp_udp_port}"\n description: Select TCP/UDP Port\n condition: params.tcp_udp_port is set\n - id: fill-tcp_udp_port_value\n action: fill\n selector: spinbutton[name=\'TCP/UDP Port (value)\']\n value: "{tcp_udp_port_value}"\n description: "Set TCP/UDP Port (value) (default: 80)"\n condition: params.tcp_udp_port_value is set\n - id: configure-port_choice\n action: click\n selector: text(\'Configure\')\n context: Port Choice section\n description: Open the Port Choice configuration (\'Configure\' is a link, not a button)\n - id: fill-port_choice-value\n action: fill\n selector: textbox\n value: "{port_choice}"\n description: Enter the Port Choice value via the \'port_choice\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
20
20
|
"advertise-policy/delete":
|
|
21
21
|
"schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-delete\nlabel: Delete Advertise Policies\nresource: advertise-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
22
22
|
"advertise-policy/read":
|
|
23
|
-
"schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-read\nlabel: Read Advertise Policies\nresource: advertise-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id:
|
|
23
|
+
"schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-read\nlabel: Read Advertise Policies\nresource: advertise-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
24
24
|
"advertise-policy/update":
|
|
25
|
-
"schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-update\nlabel: Update Advertise Policies\nresource: advertise-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
25
|
+
"schema: urn:f5xc:console:workflow:v1\nid: advertise-policy-update\nlabel: Update Advertise Policies\nresource: advertise-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
26
26
|
"alert-policy/create":
|
|
27
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-create\nlabel: Create Alert Policies\nresource: alert-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Alert Policies name (lowercase alphanumeric and hyphens)\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
27
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-create\nlabel: Create Alert Policies\nresource: alert-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Alert Policies name (lowercase alphanumeric and hyphens)\n example: example-alert-policy\n alert_receivers:\n required: true\n description: \"Server-required: at least one Alert Receiver reference. Depends on an existing alert_receiver object\n (create one first).\"\n policy_rules:\n required: true\n description: \"Server-required: at least one alert policy rule (Field Policy Rules in Spec is required).\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_policies\n wait_for: text('Alert Policies')\n description: Navigate to Alert Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Alert Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Alert Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: attach-alert_receivers\n action: click\n selector: button:text('Add Item')\n context: Alert Receivers section\n condition: params.alert_receivers is set\n description: Attach Alert Receivers (references a alert_receiver)\n then:\n - id: select-alert_receivers\n action: select\n selector: listbox\n context: Alert Receivers selector\n value: \"{alert_receivers}\"\n description: Select the Alert Receivers\n - id: apply-alert_receivers\n action: click\n selector: button:text('Apply')\n description: Confirm Alert Receivers selection\n - id: add-policy_rules\n action: click\n selector: button:text('Add Item')\n context: Policy Rules section\n description: Add Policy Rules entry\n then:\n - id: fill-policy_rules-value\n action: fill\n selector: textbox\n value: \"{policy_rules}\"\n description: Fill the first required field in the Policy Rules sub-form (the agent should provide a value via the\n 'policy_rules' parameter)\n - id: apply-policy_rules\n action: click\n selector: button:text('Apply')\n description: Confirm Policy Rules entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
28
28
|
"alert-policy/delete":
|
|
29
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-delete\nlabel: Delete Alert Policies\nresource: alert-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
29
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-delete\nlabel: Delete Alert Policies\nresource: alert-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_policies\n wait_for: text('Alert Policies')\n description: Navigate to Alert Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Alert Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
30
30
|
"alert-policy/read":
|
|
31
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-read\nlabel: Read Alert Policies\nresource: alert-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
31
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-read\nlabel: Read Alert Policies\nresource: alert-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_policies\n wait_for: text('Alert Policies')\n description: Navigate to Alert Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
32
32
|
"alert-policy/update":
|
|
33
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-update\nlabel: Update Alert Policies\nresource: alert-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
33
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-policy-update\nlabel: Update Alert Policies\nresource: alert-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_policies\n wait_for: text('Alert Policies')\n description: Navigate to Alert Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Alert Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
34
34
|
"alert-receiver/create":
|
|
35
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-create\nlabel: Create Alert Receivers\nresource: alert-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Alert Receivers name (lowercase alphanumeric and hyphens)\n example: example-alert-receiver\n receiver_configuration:\n required: true\n description: Receiver Configuration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
35
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-create\nlabel: Create Alert Receivers\nresource: alert-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Alert Receivers name (lowercase alphanumeric and hyphens)\n example: example-alert-receiver\n receiver_configuration:\n required: true\n description: Receiver Configuration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_receivers\n wait_for: text('Alert Receivers')\n description: Navigate to Alert Receivers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Alert Receiver')\n wait_for: textbox[name='Name']\n description: Click the Add Alert Receiver tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-receiver_configuration\n action: click\n selector: text('Configure')\n context: Receiver Configuration section\n description: Open the Receiver Configuration configuration ('Configure' is a link, not a button)\n - id: fill-receiver_configuration-value\n action: fill\n selector: textbox\n value: \"{receiver_configuration}\"\n description: Enter the Receiver Configuration value via the 'receiver_configuration' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
36
36
|
"alert-receiver/delete":
|
|
37
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-delete\nlabel: Delete Alert Receivers\nresource: alert-receiver\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
37
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-delete\nlabel: Delete Alert Receivers\nresource: alert-receiver\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_receivers\n wait_for: text('Alert Receivers')\n description: Navigate to Alert Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Alert Receivers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
38
38
|
"alert-receiver/read":
|
|
39
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-read\nlabel: Read Alert Receivers\nresource: alert-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
39
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-read\nlabel: Read Alert Receivers\nresource: alert-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_receivers\n wait_for: text('Alert Receivers')\n description: Navigate to Alert Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
40
40
|
"alert-receiver/update":
|
|
41
|
-
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-update\nlabel: Update Alert Receivers\nresource: alert-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
41
|
+
"schema: urn:f5xc:console:workflow:v1\nid: alert-receiver-update\nlabel: Update Alert Receivers\nresource: alert-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-alert-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/alert_config/alert_receivers\n wait_for: text('Alert Receivers')\n description: Navigate to Alert Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Alert Receivers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
42
42
|
"api-credential/create":
|
|
43
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-create\nlabel: Create Credentials\nresource: api-credential\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Credentials name (lowercase alphanumeric and hyphens)\n example: example-api-credential\n credential_name:\n required: true\n description: Credential Name\n credential_type:\n required: false\n description: Credential Type\n default: API Certificate\n password:\n required: true\n description: Password\n confirm_password:\n required: true\n description: Confirm Password\n expiry_date:\n required: true\n description: Expiry Date\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Credentials')\n wait_for: textbox[name='Name']\n description: Click the Add Credentials tab to open the create form\n - id: fill-credential_name\n action: fill\n selector: textbox[name='Credential Name']\n value: \"{credential_name}\"\n description: Enter Credential Name\n - id: select-credential_type\n action: select\n selector: listbox\n context: Credential Type section\n value: \"{credential_type}\"\n description: Select Credential Type\n condition: params.credential_type is set\n - id: fill-password\n action: fill\n selector: textbox[name='Password']\n value: \"{password}\"\n description: Enter Password\n - id: fill-confirm_password\n action: fill\n selector: textbox[name='Confirm Password']\n value: \"{confirm_password}\"\n description: Enter Confirm Password\n - id: fill-expiry_date\n action: fill\n selector: textbox[name='Expiry Date']\n value: \"{expiry_date}\"\n description: Enter Expiry Date\n - id: save\n action: click\n selector: \"[class*='
|
|
43
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-create\nlabel: Create Credentials\nresource: api-credential\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Credentials name (lowercase alphanumeric and hyphens)\n example: example-api-credential\n credential_name:\n required: true\n description: Credential Name\n credential_type:\n required: false\n description: Credential Type\n default: API Certificate\n password:\n required: true\n description: Password\n confirm_password:\n required: true\n description: Confirm Password\n expiry_date:\n required: true\n description: Expiry Date\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Credentials')\n wait_for: textbox[name='Name']\n description: Click the Add Credentials tab to open the create form\n - id: fill-credential_name\n action: fill\n selector: textbox[name='Credential Name']\n value: \"{credential_name}\"\n description: Enter Credential Name\n - id: select-credential_type\n action: select\n selector: listbox\n context: Credential Type section\n value: \"{credential_type}\"\n description: Select Credential Type\n condition: params.credential_type is set\n - id: fill-password\n action: fill\n selector: textbox[name='Password']\n value: \"{password}\"\n description: Enter Password\n - id: fill-confirm_password\n action: fill\n selector: textbox[name='Confirm Password']\n value: \"{confirm_password}\"\n description: Enter Confirm Password\n - id: fill-expiry_date\n action: fill\n selector: textbox[name='Expiry Date']\n value: \"{expiry_date}\"\n description: Enter Expiry Date\n - id: save\n action: click\n selector: \"[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Submit via the primary submit button (Administration forms have no save-bt)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
44
44
|
"api-credential/delete":
|
|
45
45
|
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-delete\nlabel: Delete Credentials\nresource: api-credential\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Credentials')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
46
46
|
"api-credential/read":
|
|
47
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-read\nlabel: Read Credentials\nresource: api-credential\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id:
|
|
47
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-read\nlabel: Read Credentials\nresource: api-credential\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
48
48
|
"api-credential/update":
|
|
49
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-update\nlabel: Update Credentials\nresource: api-credential\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
49
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-credential-update\nlabel: Update Credentials\nresource: api-credential\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/api_credentials\n wait_for: text('Credentials')\n description: Navigate to Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Credentials')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
50
50
|
"api-definition/create":
|
|
51
51
|
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-create\nlabel: Create API Definition\nresource: api-definition\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: API Definition name (lowercase alphanumeric and hyphens)\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add API Definition')\n wait_for: textbox[name='Name']\n description: Click the Add API Definition tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
52
52
|
"api-definition/delete":
|
|
53
53
|
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-delete\nlabel: Delete API Definition\nresource: api-definition\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('API Definition')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
54
54
|
"api-definition/read":
|
|
55
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-read\nlabel: Read API Definition\nresource: api-definition\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id:
|
|
55
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-read\nlabel: Read API Definition\nresource: api-definition\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
56
56
|
"api-definition/update":
|
|
57
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-update\nlabel: Update API Definition\nresource: api-definition\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
57
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-definition-update\nlabel: Update API Definition\nresource: api-definition\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-definition\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_definition\n wait_for: text('API Definition')\n description: Navigate to API Definition list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('API Definition')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
58
58
|
"api-discovery/create":
|
|
59
59
|
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-create\nlabel: Create API Discovery\nresource: api-discovery\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: API Discovery name (lowercase alphanumeric and hyphens)\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add API Discovery Policy')\n wait_for: textbox[name='Name']\n description: Click the Add API Discovery Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
60
60
|
"api-discovery/delete":
|
|
61
61
|
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-delete\nlabel: Delete API Discovery\nresource: api-discovery\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('API Discovery')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
62
62
|
"api-discovery/read":
|
|
63
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-read\nlabel: Read API Discovery\nresource: api-discovery\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id:
|
|
63
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-read\nlabel: Read API Discovery\nresource: api-discovery\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
64
64
|
"api-discovery/update":
|
|
65
|
-
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-update\nlabel: Update API Discovery\nresource: api-discovery\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
65
|
+
"schema: urn:f5xc:console:workflow:v1\nid: api-discovery-update\nlabel: Update API Discovery\nresource: api-discovery\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-api-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_discovery\n wait_for: text('API Discovery')\n description: Navigate to API Discovery list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('API Discovery')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
66
66
|
"app-api-group/create":
|
|
67
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-create\nlabel: Create API Groups\nresource: app-api-group\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: API Groups name (lowercase alphanumeric and hyphens)\n example: example-app-api-group\n scope:\n required: false\n description: Scope\n default: HTTP Load Balancer\n http_load_balancer:\n required: true\n description:
|
|
67
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-create\nlabel: Create API Groups\nresource: app-api-group\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: API Groups name (lowercase alphanumeric and hyphens)\n example: example-app-api-group\n scope:\n required: false\n description: Scope\n default: HTTP Load Balancer\n http_load_balancer:\n required: true\n description: 'Server-required (feedback loop: \"Field HTTP Load Balancer is required\"). A direct listbox that selects an\n EXISTING http_loadbalancer — dependency, create an http-lb first. (Removed the duplicate spec.http_load_balancer:\n the real API field is http_loadbalancer, and the console form shows a single listbox, not a resource-selector.)'\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add API Group')\n wait_for: textbox[name='Name']\n description: Click the Add API Group tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-scope\n action: select\n selector: listbox\n context: Scope section\n value: \"{scope}\"\n description: Select Scope\n condition: params.scope is set\n - id: select-http_load_balancer\n action: select\n selector: listbox[name='HTTP Load Balancer']\n context: HTTP Load Balancer section\n value: \"{http_load_balancer}\"\n description: Select HTTP Load Balancer (references an existing http_loadbalancer — dependency)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
68
68
|
"app-api-group/delete":
|
|
69
69
|
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-delete\nlabel: Delete API Groups\nresource: app-api-group\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-api-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('API Groups')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
70
70
|
"app-api-group/read":
|
|
71
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-read\nlabel: Read API Groups\nresource: app-api-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-api-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id:
|
|
71
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-read\nlabel: Read API Groups\nresource: app-api-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-api-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
72
72
|
"app-api-group/update":
|
|
73
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-update\nlabel: Update API Groups\nresource: app-api-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-api-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
73
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-api-group-update\nlabel: Update API Groups\nresource: app-api-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-api-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/api_groups\n wait_for: text('API Groups')\n description: Navigate to API Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('API Groups')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
74
74
|
"app-firewall/create":
|
|
75
75
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "app-firewall-create"\nlabel: "Create App Firewall"\nresource: "app-firewall"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "App firewall name (lowercase alphanumeric and hyphens)"\n example: "example-app-firewall"\n enforcement_mode:\n required: false\n description: "Enforcement mode: Monitoring or Blocking"\n example: "Blocking"\n default: "Monitoring"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall"\n wait_for: "text(\'App Firewalls\')"\n description: "Navigate to App Firewalls list page within Web App & API Protection workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add App Firewall\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add App Firewall tab to open the inline create form"\n note: "This is a tab element, not a button"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the app firewall name in the Name textbox"\n\n - id: "select-enforcement-mode"\n condition: "params.enforcement_mode is set"\n action: "select"\n selector: "listbox"\n context: "Enforcement Mode section"\n value: "{enforcement_mode}"\n description: "Select the enforcement mode (Monitoring or Blocking)"\n\n - id: "save"\n action: "click"\n selector: "[class*=\'save-bt\']"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add App Firewall button in the form footer to save"\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 25\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
76
76
|
"app-firewall/delete":
|
|
77
77
|
"schema: urn:f5xc:console:workflow:v1\nid: app-firewall-delete\nlabel: Delete App Firewall\nresource: app-firewall\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\n wait_for: text('App Firewall')\n description: Navigate to App Firewall list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('App Firewall')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
78
78
|
"app-firewall/read":
|
|
79
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-firewall-read\nlabel: Read App Firewall\nresource: app-firewall\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\n wait_for: text('App Firewall')\n description: Navigate to App Firewall list page\n - id:
|
|
79
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-firewall-read\nlabel: Read App Firewall\nresource: app-firewall\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\n wait_for: text('App Firewall')\n description: Navigate to App Firewall list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
80
80
|
"app-firewall/update":
|
|
81
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-firewall-update\nlabel: Update App Firewall\nresource: app-firewall\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\n wait_for: text('App Firewall')\n description: Navigate to App Firewall list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
81
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-firewall-update\nlabel: Update App Firewall\nresource: app-firewall\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\n wait_for: text('App Firewall')\n description: Navigate to App Firewall list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('App Firewall')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
82
82
|
"app-setting/create":
|
|
83
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-create\nlabel: Create App Settings\nresource: app-setting\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: App Settings name (lowercase alphanumeric and hyphens)\n example: example-app-setting\n app_type_settings:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add App Setting')\n wait_for: textbox[name='Name']\n description: Click the Add App Setting tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-app_type_settings\n action: click\n selector:
|
|
83
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-create\nlabel: Create App Settings\nresource: app-setting\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: App Settings name (lowercase alphanumeric and hyphens)\n example: example-app-setting\n app_type_settings:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add App Setting')\n wait_for: textbox[name='Name']\n description: Click the Add App Setting tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-app_type_settings\n action: click\n selector: text('Configure')\n context: App Type Settings section\n description: Open the App Type Settings configuration ('Configure' is a link, not a button)\n - id: fill-app_type_settings-value\n action: fill\n selector: textbox\n value: \"{app_type_settings}\"\n description: Enter the App Type Settings value via the 'app_type_settings' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
84
84
|
"app-setting/delete":
|
|
85
85
|
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-delete\nlabel: Delete App Settings\nresource: app-setting\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-setting\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('App Settings')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
86
86
|
"app-setting/read":
|
|
87
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-read\nlabel: Read App Settings\nresource: app-setting\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-setting\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id:
|
|
87
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-read\nlabel: Read App Settings\nresource: app-setting\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-setting\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
88
88
|
"app-setting/update":
|
|
89
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-update\nlabel: Update App Settings\nresource: app-setting\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-setting\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
89
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-setting-update\nlabel: Update App Settings\nresource: app-setting\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-setting\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/ai_ml/app_settings\n wait_for: text('App Settings')\n description: Navigate to App Settings list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('App Settings')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
90
90
|
"app-type/create":
|
|
91
91
|
"schema: urn:f5xc:console:workflow:v1\nid: app-type-create\nlabel: Create App Types\nresource: app-type\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: App Types name (lowercase alphanumeric and hyphens)\n example: example-app-type\n ai_ml_feature_type:\n required: true\n description: \"'Field AI/ML Feature Type is required' — nested inside app_type_settings\"\n app_type_settings:\n required: true\n description: \"Feedback loop: table widget → nested-resource-list (uses Add Item sub-form)\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add App Type')\n wait_for: textbox[name='Name']\n description: Click the Add App Type tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-ai_ml_feature_type\n action: fill\n selector: ngx-datatable input.form-control\n context: AI/ML Feature Type table\n value: \"{ai_ml_feature_type}\"\n description: Enter AI/ML Feature Type in the existing table row (no Add Item needed — the table ships one empty row)\n - id: add-app_type_settings\n action: click\n selector: button:text('Add Item')\n context: App Type Settings section\n description: Add App Type Settings entry\n then:\n - id: fill-app_type_settings-value\n action: fill\n selector: textbox\n value: \"{app_type_settings}\"\n description: Fill the first required field in the App Type Settings sub-form (the agent should provide a value via the\n 'app_type_settings' parameter)\n - id: apply-app_type_settings\n action: click\n selector: button:text('Apply')\n description: Confirm App Type Settings entry\n - id: select-ai_ml_feature_type\n action: select\n selector: listbox\n context: AI/ML Feature Type section\n value: \"{ai_ml_feature_type}\"\n description: Select AI/ML Feature Type\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
92
92
|
"app-type/delete":
|
|
93
93
|
"schema: urn:f5xc:console:workflow:v1\nid: app-type-delete\nlabel: Delete App Types\nresource: app-type\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('App Types')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
94
94
|
"app-type/read":
|
|
95
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-type-read\nlabel: Read App Types\nresource: app-type\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id:
|
|
95
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-type-read\nlabel: Read App Types\nresource: app-type\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
96
96
|
"app-type/update":
|
|
97
|
-
"schema: urn:f5xc:console:workflow:v1\nid: app-type-update\nlabel: Update App Types\nresource: app-type\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
97
|
+
"schema: urn:f5xc:console:workflow:v1\nid: app-type-update\nlabel: Update App Types\nresource: app-type\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-app-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/security/ai_ml/app_types\n wait_for: text('App Types')\n description: Navigate to App Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('App Types')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
98
98
|
"authorization-server/create":
|
|
99
99
|
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-create\nlabel: Create Authorization Server\nresource: authorization-server\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Authorization Server name (lowercase alphanumeric and hyphens)\n example: example-authorization-server\n jwks_uri:\n required: true\n description: \"Feedback loop: 'Field JWKS URI in Spec must be a valid absolute URI'\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Authorization Server')\n wait_for: textbox[name='Name']\n description: Click the Add Authorization Server tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-jwks_uri\n action: fill\n selector: textbox[name='JWKS URI']\n value: \"{jwks_uri}\"\n description: Enter JWKS URI\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
100
100
|
"authorization-server/delete":
|
|
101
101
|
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-delete\nlabel: Delete Authorization Server\nresource: authorization-server\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-authorization-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Authorization Server')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
102
102
|
"authorization-server/read":
|
|
103
|
-
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-read\nlabel: Read Authorization Server\nresource: authorization-server\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-authorization-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id:
|
|
103
|
+
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-read\nlabel: Read Authorization Server\nresource: authorization-server\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-authorization-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
104
104
|
"authorization-server/update":
|
|
105
|
-
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-update\nlabel: Update Authorization Server\nresource: authorization-server\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-authorization-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
105
|
+
"schema: urn:f5xc:console:workflow:v1\nid: authorization-server-update\nlabel: Update Authorization Server\nresource: authorization-server\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-authorization-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/authorization_server\n wait_for: text('Authorization Server')\n description: Navigate to Authorization Server list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Authorization Server')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
106
106
|
"aws-tgw-site/create":
|
|
107
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-create\nlabel: Create AWS TGW Sites\nresource: aws-tgw-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: AWS TGW Sites name (lowercase alphanumeric and hyphens)\n example: example-aws-tgw-site\n aws_parameters:\n required: true\n description: AWS Parameters\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add AWS TGW Site')\n wait_for: textbox[name='Name']\n description: Click the Add AWS TGW Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-aws_parameters\n action: click\n selector:
|
|
107
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-create\nlabel: Create AWS TGW Sites\nresource: aws-tgw-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: AWS TGW Sites name (lowercase alphanumeric and hyphens)\n example: example-aws-tgw-site\n aws_parameters:\n required: true\n description: AWS Parameters\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add AWS TGW Site')\n wait_for: textbox[name='Name']\n description: Click the Add AWS TGW Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-aws_parameters\n action: click\n selector: text('Configure')\n context: AWS Parameters section\n description: Open the AWS Parameters configuration ('Configure' is a link, not a button)\n - id: fill-aws_parameters-value\n action: fill\n selector: textbox\n value: \"{aws_parameters}\"\n description: Enter the AWS Parameters value via the 'aws_parameters' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
108
108
|
"aws-tgw-site/delete":
|
|
109
109
|
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-delete\nlabel: Delete AWS TGW Sites\nresource: aws-tgw-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-tgw-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('AWS TGW Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
110
110
|
"aws-tgw-site/read":
|
|
111
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-read\nlabel: Read AWS TGW Sites\nresource: aws-tgw-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-tgw-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id:
|
|
111
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-read\nlabel: Read AWS TGW Sites\nresource: aws-tgw-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-tgw-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
112
112
|
"aws-tgw-site/update":
|
|
113
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-update\nlabel: Update AWS TGW Sites\nresource: aws-tgw-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-tgw-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
113
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-tgw-site-update\nlabel: Update AWS TGW Sites\nresource: aws-tgw-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-tgw-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_tgw_site\n wait_for: text('AWS TGW Sites')\n description: Navigate to AWS TGW Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('AWS TGW Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
114
114
|
"aws-vpc-site/create":
|
|
115
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-create\nlabel: Create AWS VPC Sites\nresource: aws-vpc-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: AWS VPC Sites name (lowercase alphanumeric and hyphens)\n example: example-aws-vpc-site\n aws_region:\n required: true\n description: AWS Region\n aws_credentials:\n required: true\n description: AWS Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add AWS VPC Site')\n wait_for: textbox[name='Name']\n description: Click the Add AWS VPC Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-aws_region\n action: select\n selector: listbox\n context: AWS Region section\n value: \"{aws_region}\"\n description: Select AWS Region\n - id: attach-aws_credentials\n action: click\n selector: button:text('Add Item')\n context: AWS Credentials section\n condition: params.aws_credentials is set\n description: Attach AWS Credentials (references a resource)\n then:\n - id: select-aws_credentials\n action: select\n selector: listbox\n context: AWS Credentials selector\n value: \"{aws_credentials}\"\n description: Select the AWS Credentials\n - id: apply-aws_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm AWS Credentials selection\n - id: configure-deployment\n action: click\n selector:
|
|
115
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-create\nlabel: Create AWS VPC Sites\nresource: aws-vpc-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: AWS VPC Sites name (lowercase alphanumeric and hyphens)\n example: example-aws-vpc-site\n aws_region:\n required: true\n description: AWS Region\n aws_credentials:\n required: true\n description: AWS Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add AWS VPC Site')\n wait_for: textbox[name='Name']\n description: Click the Add AWS VPC Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-aws_region\n action: select\n selector: listbox\n context: AWS Region section\n value: \"{aws_region}\"\n description: Select AWS Region\n - id: attach-aws_credentials\n action: click\n selector: button:text('Add Item')\n context: AWS Credentials section\n condition: params.aws_credentials is set\n description: Attach AWS Credentials (references a resource)\n then:\n - id: select-aws_credentials\n action: select\n selector: listbox\n context: AWS Credentials selector\n value: \"{aws_credentials}\"\n description: Select the AWS Credentials\n - id: apply-aws_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm AWS Credentials selection\n - id: configure-deployment\n action: click\n selector: text('Configure')\n context: Deployment section\n description: Open the Deployment configuration ('Configure' is a link, not a button)\n - id: fill-deployment-value\n action: fill\n selector: textbox\n value: \"{deployment}\"\n description: Enter the Deployment value via the 'deployment' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
116
116
|
"aws-vpc-site/delete":
|
|
117
117
|
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-delete\nlabel: Delete AWS VPC Sites\nresource: aws-vpc-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('AWS VPC Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
118
118
|
"aws-vpc-site/read":
|
|
119
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-read\nlabel: Read AWS VPC Sites\nresource: aws-vpc-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id:
|
|
119
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-read\nlabel: Read AWS VPC Sites\nresource: aws-vpc-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
120
120
|
"aws-vpc-site/update":
|
|
121
|
-
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-update\nlabel: Update AWS VPC Sites\nresource: aws-vpc-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
121
|
+
"schema: urn:f5xc:console:workflow:v1\nid: aws-vpc-site-update\nlabel: Update AWS VPC Sites\nresource: aws-vpc-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-aws-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/aws_vpc_site\n wait_for: text('AWS VPC Sites')\n description: Navigate to AWS VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('AWS VPC Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
122
122
|
"azure-vnet-site/create":
|
|
123
|
-
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-create\nlabel: Create Azure VNET Sites\nresource: azure-vnet-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Azure VNET Sites name (lowercase alphanumeric and hyphens)\n example: example-azure-vnet-site\n azure_region:\n required: true\n description: Azure Region\n azure_credentials:\n required: true\n description: Azure Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Azure VNET Site')\n wait_for: textbox[name='Name']\n description: Click the Add Azure VNET Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-azure_region\n action: select\n selector: listbox\n context: Azure Region section\n value: \"{azure_region}\"\n description: Select Azure Region\n - id: attach-azure_credentials\n action: click\n selector: button:text('Add Item')\n context: Azure Credentials section\n condition: params.azure_credentials is set\n description: Attach Azure Credentials (references a resource)\n then:\n - id: select-azure_credentials\n action: select\n selector: listbox\n context: Azure Credentials selector\n value: \"{azure_credentials}\"\n description: Select the Azure Credentials\n - id: apply-azure_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm Azure Credentials selection\n - id: configure-deployment\n action: click\n selector:
|
|
123
|
+
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-create\nlabel: Create Azure VNET Sites\nresource: azure-vnet-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Azure VNET Sites name (lowercase alphanumeric and hyphens)\n example: example-azure-vnet-site\n azure_region:\n required: true\n description: Azure Region\n azure_credentials:\n required: true\n description: Azure Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Azure VNET Site')\n wait_for: textbox[name='Name']\n description: Click the Add Azure VNET Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-azure_region\n action: select\n selector: listbox\n context: Azure Region section\n value: \"{azure_region}\"\n description: Select Azure Region\n - id: attach-azure_credentials\n action: click\n selector: button:text('Add Item')\n context: Azure Credentials section\n condition: params.azure_credentials is set\n description: Attach Azure Credentials (references a resource)\n then:\n - id: select-azure_credentials\n action: select\n selector: listbox\n context: Azure Credentials selector\n value: \"{azure_credentials}\"\n description: Select the Azure Credentials\n - id: apply-azure_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm Azure Credentials selection\n - id: configure-deployment\n action: click\n selector: text('Configure')\n context: Deployment section\n description: Open the Deployment configuration ('Configure' is a link, not a button)\n - id: fill-deployment-value\n action: fill\n selector: textbox\n value: \"{deployment}\"\n description: Enter the Deployment value via the 'deployment' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
124
124
|
"azure-vnet-site/delete":
|
|
125
125
|
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-delete\nlabel: Delete Azure VNET Sites\nresource: azure-vnet-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-azure-vnet-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Azure VNET Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
126
126
|
"azure-vnet-site/read":
|
|
127
|
-
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-read\nlabel: Read Azure VNET Sites\nresource: azure-vnet-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-azure-vnet-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id:
|
|
127
|
+
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-read\nlabel: Read Azure VNET Sites\nresource: azure-vnet-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-azure-vnet-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
128
128
|
"azure-vnet-site/update":
|
|
129
|
-
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-update\nlabel: Update Azure VNET Sites\nresource: azure-vnet-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-azure-vnet-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
129
|
+
"schema: urn:f5xc:console:workflow:v1\nid: azure-vnet-site-update\nlabel: Update Azure VNET Sites\nresource: azure-vnet-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-azure-vnet-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/azure_site\n wait_for: text('Azure VNET Sites')\n description: Navigate to Azure VNET Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Azure VNET Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
130
130
|
"bgp-asn-set/create":
|
|
131
131
|
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-create\nlabel: Create BGP ASN Sets\nresource: bgp-asn-set\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: BGP ASN Sets name (lowercase alphanumeric and hyphens)\n example: example-bgp-asn-set\n as_numbers:\n required: false\n description: List of AS Numbers — a row pre-exists with value 0; fill it with a valid ASN (e.g. 64512). Uses\n ngx-datatable input.\n default: null\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add BGP ASN Set')\n wait_for: textbox[name='Name']\n description: Click the Add BGP ASN Set tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-as_numbers\n action: fill\n selector: ngx-datatable input.form-control\n context: AS Numbers table\n value: \"{as_numbers}\"\n description: Enter AS Numbers in the existing table row (no Add Item needed — the table ships one empty row)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
132
132
|
"bgp-asn-set/delete":
|
|
133
133
|
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-delete\nlabel: Delete BGP ASN Sets\nresource: bgp-asn-set\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp-asn-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('BGP ASN Sets')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
134
134
|
"bgp-asn-set/read":
|
|
135
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-read\nlabel: Read BGP ASN Sets\nresource: bgp-asn-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp-asn-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id:
|
|
135
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-read\nlabel: Read BGP ASN Sets\nresource: bgp-asn-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp-asn-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
136
136
|
"bgp-asn-set/update":
|
|
137
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-update\nlabel: Update BGP ASN Sets\nresource: bgp-asn-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp-asn-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
137
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bgp-asn-set-update\nlabel: Update BGP ASN Sets\nresource: bgp-asn-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp-asn-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n wait_for: text('BGP ASN Sets')\n description: Navigate to BGP ASN Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('BGP ASN Sets')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
138
138
|
"bgp/create":
|
|
139
|
-
'schema: urn:f5xc:console:workflow:v1\nid: bgp-create\nlabel: Create BGP Peers & Policies\nresource: bgp\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: BGP Peers & Policies name (lowercase alphanumeric and hyphens)\n example: example-bgp\n where:\n required: false\n description: Where\n default: Site\n reference:\n required: true\n description: Reference\n asn:\n required: false\n description: ASN\n default: 0\n router_id:\n required: false\n description: Router ID\n default: From Interface Address\n bgp_parameters:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text(\'BGP Peers & Policies\')\n description: Navigate to BGP Peers & Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add BGP\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add BGP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-where\n action: select\n selector: listbox\n context: Where section\n value: "{where}"\n description: Select Where\n condition: params.where is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: fill-asn\n action: fill\n selector: spinbutton[name=\'ASN\']\n value: "{asn}"\n description: Set ASN\n - id: select-router_id\n action: select\n selector: listbox\n context: Router ID section\n value: "{router_id}"\n description: Select Router ID\n condition: params.router_id is set\n - id: configure-bgp_parameters\n action: click\n selector:
|
|
139
|
+
'schema: urn:f5xc:console:workflow:v1\nid: bgp-create\nlabel: Create BGP Peers & Policies\nresource: bgp\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: BGP Peers & Policies name (lowercase alphanumeric and hyphens)\n example: example-bgp\n where:\n required: false\n description: Where\n default: Site\n reference:\n required: true\n description: Reference\n asn:\n required: false\n description: ASN\n default: 0\n router_id:\n required: false\n description: Router ID\n default: From Interface Address\n bgp_parameters:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text(\'BGP Peers & Policies\')\n description: Navigate to BGP Peers & Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add BGP\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add BGP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-where\n action: select\n selector: listbox\n context: Where section\n value: "{where}"\n description: Select Where\n condition: params.where is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: fill-asn\n action: fill\n selector: spinbutton[name=\'ASN\']\n value: "{asn}"\n description: Set ASN\n - id: select-router_id\n action: select\n selector: listbox\n context: Router ID section\n value: "{router_id}"\n description: Select Router ID\n condition: params.router_id is set\n - id: configure-bgp_parameters\n action: click\n selector: text(\'Configure\')\n context: Bgp Parameters section\n description: Open the Bgp Parameters configuration (\'Configure\' is a link, not a button)\n - id: fill-bgp_parameters-value\n action: fill\n selector: textbox\n value: "{bgp_parameters}"\n description: Enter the Bgp Parameters value via the \'bgp_parameters\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
140
140
|
"bgp/delete":
|
|
141
141
|
"schema: urn:f5xc:console:workflow:v1\nid: bgp-delete\nlabel: Delete BGP Peers & Policies\nresource: bgp\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text('BGP Peers & Policies')\n description: Navigate to BGP Peers & Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('BGP Peers & Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
142
142
|
"bgp/read":
|
|
143
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bgp-read\nlabel: Read BGP Peers & Policies\nresource: bgp\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text('BGP Peers & Policies')\n description: Navigate to BGP Peers & Policies list page\n - id:
|
|
143
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bgp-read\nlabel: Read BGP Peers & Policies\nresource: bgp\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text('BGP Peers & Policies')\n description: Navigate to BGP Peers & Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
144
144
|
"bgp/update":
|
|
145
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bgp-update\nlabel: Update BGP Peers & Policies\nresource: bgp\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text('BGP Peers & Policies')\n description: Navigate to BGP Peers & Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
145
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bgp-update\nlabel: Update BGP Peers & Policies\nresource: bgp\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bgp\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/bgp\n wait_for: text('BGP Peers & Policies')\n description: Navigate to BGP Peers & Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('BGP Peers & Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
146
146
|
"bigip-virtual-server/create":
|
|
147
147
|
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-create\nlabel: Create BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: BIG-IP Virtual Servers name (lowercase alphanumeric and hyphens)\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add BIG-IP Virtual Server')\n wait_for: textbox[name='Name']\n description: Click the Add BIG-IP Virtual Server tab to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
148
148
|
"bigip-virtual-server/delete":
|
|
149
149
|
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-delete\nlabel: Delete BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('BIG-IP Virtual Servers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
150
150
|
"bigip-virtual-server/read":
|
|
151
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-read\nlabel: Read BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id:
|
|
151
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-read\nlabel: Read BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
152
152
|
"bigip-virtual-server/update":
|
|
153
|
-
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-update\nlabel: Update BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
153
|
+
"schema: urn:f5xc:console:workflow:v1\nid: bigip-virtual-server-update\nlabel: Update BIG-IP Virtual Servers\nresource: bigip-virtual-server\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-bigip-virtual-server\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\n wait_for: text('BIG-IP Virtual Servers')\n description: Navigate to BIG-IP Virtual Servers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('BIG-IP Virtual Servers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
154
154
|
"cdn-cache-rule/create":
|
|
155
155
|
'schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-create\nlabel: Create CDN Cache Rules\nresource: cdn-cache-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: CDN Cache Rules name (lowercase alphanumeric and hyphens)\n example: example-cdn-cache-rule\n rule_name:\n required: true\n description: Rule Name\n expressions:\n required: true\n description: Expressions\n cache_actions:\n required: false\n description: Cache Actions\n default: Bypass Cache\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text(\'CDN Cache Rules\')\n description: Navigate to CDN Cache Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add CDN Cache Rule\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add CDN Cache Rule tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: fill-rule_name\n action: fill\n selector: textbox[name=\'Rule Name\']\n value: "{rule_name}"\n description: Enter Rule Name\n - id: fill-expressions\n action: fill\n selector: ngx-datatable input.form-control\n context: Expressions table\n value: "{expressions}"\n description: Enter Expressions in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-cache_actions\n action: select\n selector: listbox\n context: Cache Actions section\n value: "{cache_actions}"\n description: Select Cache Actions\n condition: params.cache_actions is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
156
156
|
"cdn-cache-rule/delete":
|
|
157
157
|
"schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-delete\nlabel: Delete CDN Cache Rules\nresource: cdn-cache-rule\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-cache-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text('CDN Cache Rules')\n description: Navigate to CDN Cache Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('CDN Cache Rules')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
158
158
|
"cdn-cache-rule/read":
|
|
159
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-read\nlabel: Read CDN Cache Rules\nresource: cdn-cache-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-cache-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text('CDN Cache Rules')\n description: Navigate to CDN Cache Rules list page\n - id:
|
|
159
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-read\nlabel: Read CDN Cache Rules\nresource: cdn-cache-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-cache-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text('CDN Cache Rules')\n description: Navigate to CDN Cache Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
160
160
|
"cdn-cache-rule/update":
|
|
161
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-update\nlabel: Update CDN Cache Rules\nresource: cdn-cache-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-cache-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text('CDN Cache Rules')\n description: Navigate to CDN Cache Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
161
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cdn-cache-rule-update\nlabel: Update CDN Cache Rules\nresource: cdn-cache-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-cache-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_cache_rule\n wait_for: text('CDN Cache Rules')\n description: Navigate to CDN Cache Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('CDN Cache Rules')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
162
162
|
"cdn-loadbalancer/create":
|
|
163
163
|
'schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-create\nlabel: Create CDN Distributions\nresource: cdn-loadbalancer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: CDN Distributions name (lowercase alphanumeric and hyphens)\n example: example-cdn-loadbalancer\n domains:\n required: true\n description: Domains\n load_balancer_type:\n required: false\n description: Load Balancer Type\n default: HTTPS with Automatic Certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text(\'CDN Distributions\')\n description: Navigate to CDN Distributions list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add CDN Distribution\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add CDN Distribution tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: fill-domains\n action: fill\n selector: ngx-datatable input.form-control\n context: Domains table\n value: "{domains}"\n description: Enter Domains in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-load_balancer_type\n action: select\n selector: listbox\n context: Load Balancer Type section\n value: "{load_balancer_type}"\n description: Select Load Balancer Type\n condition: params.load_balancer_type is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
164
164
|
"cdn-loadbalancer/delete":
|
|
165
165
|
"schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-delete\nlabel: Delete CDN Distributions\nresource: cdn-loadbalancer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text('CDN Distributions')\n description: Navigate to CDN Distributions list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('CDN Distributions')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
166
166
|
"cdn-loadbalancer/read":
|
|
167
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-read\nlabel: Read CDN Distributions\nresource: cdn-loadbalancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text('CDN Distributions')\n description: Navigate to CDN Distributions list page\n - id:
|
|
167
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-read\nlabel: Read CDN Distributions\nresource: cdn-loadbalancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text('CDN Distributions')\n description: Navigate to CDN Distributions list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
168
168
|
"cdn-loadbalancer/update":
|
|
169
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-update\nlabel: Update CDN Distributions\nresource: cdn-loadbalancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text('CDN Distributions')\n description: Navigate to CDN Distributions list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
169
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cdn-loadbalancer-update\nlabel: Update CDN Distributions\nresource: cdn-loadbalancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cdn-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions\n wait_for: text('CDN Distributions')\n description: Navigate to CDN Distributions list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('CDN Distributions')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
170
170
|
"certificate/create":
|
|
171
|
-
"schema: urn:f5xc:console:workflow:v1\nid: certificate-create\nlabel: Create TLS Certificates\nresource: certificate\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: TLS Certificates name (lowercase alphanumeric and hyphens)\n example: example-certificate\n certificate_url:\n required: true\n description: \"Server-required: Minimum bytes of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add TLS Certificate')\n wait_for: textbox[name='Name']\n description: Click the Add TLS Certificate tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-certificate_url\n action: click\n selector:
|
|
171
|
+
"schema: urn:f5xc:console:workflow:v1\nid: certificate-create\nlabel: Create TLS Certificates\nresource: certificate\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: TLS Certificates name (lowercase alphanumeric and hyphens)\n example: example-certificate\n certificate_url:\n required: true\n description: \"Server-required: Minimum bytes of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add TLS Certificate')\n wait_for: textbox[name='Name']\n description: Click the Add TLS Certificate tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-certificate_url\n action: click\n selector: text('Configure')\n context: Certificate Url section\n description: Open the Certificate Url configuration ('Configure' is a link, not a button)\n - id: fill-certificate_url-value\n action: fill\n selector: textbox\n value: \"{certificate_url}\"\n description: Enter the Certificate Url value via the 'certificate_url' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
172
172
|
"certificate/delete":
|
|
173
173
|
"schema: urn:f5xc:console:workflow:v1\nid: certificate-delete\nlabel: Delete TLS Certificates\nresource: certificate\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('TLS Certificates')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
174
174
|
"certificate/read":
|
|
175
|
-
"schema: urn:f5xc:console:workflow:v1\nid: certificate-read\nlabel: Read TLS Certificates\nresource: certificate\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id:
|
|
175
|
+
"schema: urn:f5xc:console:workflow:v1\nid: certificate-read\nlabel: Read TLS Certificates\nresource: certificate\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
176
176
|
"certificate/update":
|
|
177
|
-
"schema: urn:f5xc:console:workflow:v1\nid: certificate-update\nlabel: Update TLS Certificates\nresource: certificate\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
177
|
+
"schema: urn:f5xc:console:workflow:v1\nid: certificate-update\nlabel: Update TLS Certificates\nresource: certificate\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-certificate\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/certificate_management/tls_certificate\n wait_for: text('TLS Certificates')\n description: Navigate to TLS Certificates list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('TLS Certificates')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
178
178
|
"cloud-connect/create":
|
|
179
|
-
|
|
179
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-create\nlabel: Create Cloud Connects\nresource: cloud-connect\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Cloud Connects name (lowercase alphanumeric and hyphens)\n example: example-cloud-connect\n provider:\n required: false\n description: Provider\n default: AWS\n site_reference:\n required: true\n description: Site Reference\n credential_reference:\n required: true\n description: Credential Reference\n spoke_vpcs:\n required: true\n description: Spoke VPCs\n segment:\n required: true\n description: Segment\n cloud:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cloud Connect')\n wait_for: textbox[name='Name']\n description: Click the Add Cloud Connect tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-provider\n action: select\n selector: listbox\n context: Provider section\n value: \"{provider}\"\n description: Select Provider\n condition: params.provider is set\n - id: select-site_reference\n action: select\n selector: listbox\n context: Site Reference section\n value: \"{site_reference}\"\n description: Select Site Reference\n - id: select-credential_reference\n action: select\n selector: listbox\n context: Credential Reference section\n value: \"{credential_reference}\"\n description: Select Credential Reference\n - id: configure-spoke_vpcs\n action: click\n selector: text('Configure')\n context: Spoke VPCs section\n description: Open the Spoke VPCs configuration ('Configure' is a link, not a button)\n - id: fill-spoke_vpcs-value\n action: fill\n selector: textbox\n value: \"{spoke_vpcs}\"\n description: Enter the Spoke VPCs value via the 'spoke_vpcs' parameter\n - id: select-segment\n action: select\n selector: listbox\n context: Segment section\n value: \"{segment}\"\n description: Select Segment\n - id: configure-cloud\n action: click\n selector: text('Configure')\n context: Cloud section\n description: Open the Cloud configuration ('Configure' is a link, not a button)\n - id: fill-cloud-value\n action: fill\n selector: textbox\n value: \"{cloud}\"\n description: Enter the Cloud value via the 'cloud' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
180
180
|
"cloud-connect/delete":
|
|
181
181
|
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-delete\nlabel: Delete Cloud Connects\nresource: cloud-connect\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-connect\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Cloud Connects')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
182
182
|
"cloud-connect/read":
|
|
183
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-read\nlabel: Read Cloud Connects\nresource: cloud-connect\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-connect\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id:
|
|
183
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-read\nlabel: Read Cloud Connects\nresource: cloud-connect\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-connect\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
184
184
|
"cloud-connect/update":
|
|
185
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-update\nlabel: Update Cloud Connects\nresource: cloud-connect\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-connect\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
185
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-connect-update\nlabel: Update Cloud Connects\nresource: cloud-connect\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-connect\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/connectors/cloud_connect\n wait_for: text('Cloud Connects')\n description: Navigate to Cloud Connects list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Cloud Connects')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
186
186
|
"cloud-credentials/create":
|
|
187
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-create\nlabel: Create Cloud Credentials\nresource: cloud-credentials\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Cloud Credentials name (lowercase alphanumeric and hyphens)\n example: example-cloud-credentials\n select_cloud_credential_type:\n required: false\n description: Select Cloud Credential Type\n default: AWS Programmatic Access Credentials\n access_key_id:\n required: true\n description: Access Key ID\n secret_access_key:\n required: true\n description: Secret Access Key\n cloud:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cloud Credential')\n wait_for: textbox[name='Name']\n description: Click the Add Cloud Credential tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_cloud_credential_type\n action: select\n selector: listbox\n context: Select Cloud Credential Type section\n value: \"{select_cloud_credential_type}\"\n description: Select Select Cloud Credential Type\n condition: params.select_cloud_credential_type is set\n - id: fill-access_key_id\n action: fill\n selector: textbox[name='Access Key ID']\n value: \"{access_key_id}\"\n description: Enter Access Key ID\n - id: configure-secret_access_key\n action: click\n selector:
|
|
187
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-create\nlabel: Create Cloud Credentials\nresource: cloud-credentials\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Cloud Credentials name (lowercase alphanumeric and hyphens)\n example: example-cloud-credentials\n select_cloud_credential_type:\n required: false\n description: Select Cloud Credential Type\n default: AWS Programmatic Access Credentials\n access_key_id:\n required: true\n description: Access Key ID\n secret_access_key:\n required: true\n description: Secret Access Key\n cloud:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cloud Credential')\n wait_for: textbox[name='Name']\n description: Click the Add Cloud Credential tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_cloud_credential_type\n action: select\n selector: listbox\n context: Select Cloud Credential Type section\n value: \"{select_cloud_credential_type}\"\n description: Select Select Cloud Credential Type\n condition: params.select_cloud_credential_type is set\n - id: fill-access_key_id\n action: fill\n selector: textbox[name='Access Key ID']\n value: \"{access_key_id}\"\n description: Enter Access Key ID\n - id: configure-secret_access_key\n action: click\n selector: text('Configure')\n context: Secret Access Key section\n description: Open the Secret Access Key configuration ('Configure' is a link, not a button)\n - id: fill-secret_access_key-value\n action: fill\n selector: textbox\n value: \"{secret_access_key}\"\n description: Enter the Secret Access Key value via the 'secret_access_key' parameter\n - id: configure-cloud\n action: click\n selector: text('Configure')\n context: Cloud section\n description: Open the Cloud configuration ('Configure' is a link, not a button)\n - id: fill-cloud-value\n action: fill\n selector: textbox\n value: \"{cloud}\"\n description: Enter the Cloud value via the 'cloud' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
188
188
|
"cloud-credentials/delete":
|
|
189
189
|
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-delete\nlabel: Delete Cloud Credentials\nresource: cloud-credentials\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-credentials\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Cloud Credentials')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
190
190
|
"cloud-credentials/read":
|
|
191
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-read\nlabel: Read Cloud Credentials\nresource: cloud-credentials\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-credentials\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id:
|
|
191
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-read\nlabel: Read Cloud Credentials\nresource: cloud-credentials\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-credentials\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
192
192
|
"cloud-credentials/update":
|
|
193
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-update\nlabel: Update Cloud Credentials\nresource: cloud-credentials\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-credentials\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
193
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-credentials-update\nlabel: Update Cloud Credentials\nresource: cloud-credentials\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-credentials\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/cloud_credential\n wait_for: text('Cloud Credentials')\n description: Navigate to Cloud Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Cloud Credentials')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
194
194
|
"cloud-elastic-ip/create":
|
|
195
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-create\nlabel: Create Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Cloud Elastic IPs name (lowercase alphanumeric and hyphens)\n example: example-cloud-elastic-ip\n site_reference:\n required: true\n description: Site Reference\n count:\n required: true\n description: \"Server-required: Must be >= 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cloud Elastic IP')\n wait_for: textbox[name='Name']\n description: Click the Add Cloud Elastic IP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-site_reference\n action: select\n selector: listbox\n context: Site Reference section\n value: \"{site_reference}\"\n description: Select Site Reference\n - id: configure-count\n action: click\n selector:
|
|
195
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-create\nlabel: Create Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Cloud Elastic IPs name (lowercase alphanumeric and hyphens)\n example: example-cloud-elastic-ip\n site_reference:\n required: true\n description: Site Reference\n count:\n required: true\n description: \"Server-required: Must be >= 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cloud Elastic IP')\n wait_for: textbox[name='Name']\n description: Click the Add Cloud Elastic IP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-site_reference\n action: select\n selector: listbox\n context: Site Reference section\n value: \"{site_reference}\"\n description: Select Site Reference\n - id: configure-count\n action: click\n selector: text('Configure')\n context: Count section\n description: Open the Count configuration ('Configure' is a link, not a button)\n - id: fill-count-value\n action: fill\n selector: textbox\n value: \"{count}\"\n description: Enter the Count value via the 'count' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
196
196
|
"cloud-elastic-ip/delete":
|
|
197
197
|
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-delete\nlabel: Delete Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-elastic-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Cloud Elastic IPs')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
198
198
|
"cloud-elastic-ip/read":
|
|
199
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-read\nlabel: Read Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-elastic-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id:
|
|
199
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-read\nlabel: Read Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-elastic-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
200
200
|
"cloud-elastic-ip/update":
|
|
201
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-update\nlabel: Update Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-elastic-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
201
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-elastic-ip-update\nlabel: Update Cloud Elastic IPs\nresource: cloud-elastic-ip\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-elastic-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/cloud_elastic_ip\n wait_for: text('Cloud Elastic IPs')\n description: Navigate to Cloud Elastic IPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Cloud Elastic IPs')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
202
202
|
"cloud-link/create":
|
|
203
|
-
'schema: urn:f5xc:console:workflow:v1\nid: cloud-link-create\nlabel: Create CloudLinks\nresource: cloud-link\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: CloudLinks name (lowercase alphanumeric and hyphens)\n example: example-cloud-link\n type:\n required: false\n description: Type\n default: Amazon Web Services(AWS)\n bring_your_own_connections:\n required: true\n description: Bring Your Own Connections\n account_credential:\n required: true\n description: Account Credential\n direct_connect_gateway_asn:\n required: false\n description: Direct Connect Gateway ASN\n default: Custom ASN\n custom_asn:\n required: false\n description: Custom ASN\n default: 0\n private_connectivity_via_regional_edge_re:\n required: false\n description: Private Connectivity via Regional Edge (RE)\n default: Disable\n cloud_provider:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text(\'CloudLinks\')\n description: Navigate to CloudLinks list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add CloudLink\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add CloudLink tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-type\n action: select\n selector: listbox\n context: Type section\n value: "{type}"\n description: Select Type\n condition: params.type is set\n - id: fill-bring_your_own_connections\n action: fill\n selector: ngx-datatable input.form-control\n context: Bring Your Own Connections table\n value: "{bring_your_own_connections}"\n description: Enter Bring Your Own Connections in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-account_credential\n action: select\n selector: listbox\n context: Account Credential section\n value: "{account_credential}"\n description: Select Account Credential\n - id: select-direct_connect_gateway_asn\n action: select\n selector: listbox\n context: Direct Connect Gateway ASN section\n value: "{direct_connect_gateway_asn}"\n description: Select Direct Connect Gateway ASN\n condition: params.direct_connect_gateway_asn is set\n - id: fill-custom_asn\n action: fill\n selector: spinbutton[name=\'Custom ASN\']\n value: "{custom_asn}"\n description: Set Custom ASN\n - id: select-private_connectivity_via_regional_edge_re\n action: select\n selector: listbox\n context: Private Connectivity via Regional Edge (RE) section\n value: "{private_connectivity_via_regional_edge_re}"\n description: Select Private Connectivity via Regional Edge (RE)\n condition: params.private_connectivity_via_regional_edge_re is set\n - id: configure-cloud_provider\n action: click\n selector:
|
|
203
|
+
'schema: urn:f5xc:console:workflow:v1\nid: cloud-link-create\nlabel: Create CloudLinks\nresource: cloud-link\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: CloudLinks name (lowercase alphanumeric and hyphens)\n example: example-cloud-link\n type:\n required: false\n description: Type\n default: Amazon Web Services(AWS)\n bring_your_own_connections:\n required: true\n description: Bring Your Own Connections\n account_credential:\n required: true\n description: Account Credential\n direct_connect_gateway_asn:\n required: false\n description: Direct Connect Gateway ASN\n default: Custom ASN\n custom_asn:\n required: false\n description: Custom ASN\n default: 0\n private_connectivity_via_regional_edge_re:\n required: false\n description: Private Connectivity via Regional Edge (RE)\n default: Disable\n cloud_provider:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text(\'CloudLinks\')\n description: Navigate to CloudLinks list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add CloudLink\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add CloudLink tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-type\n action: select\n selector: listbox\n context: Type section\n value: "{type}"\n description: Select Type\n condition: params.type is set\n - id: fill-bring_your_own_connections\n action: fill\n selector: ngx-datatable input.form-control\n context: Bring Your Own Connections table\n value: "{bring_your_own_connections}"\n description: Enter Bring Your Own Connections in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-account_credential\n action: select\n selector: listbox\n context: Account Credential section\n value: "{account_credential}"\n description: Select Account Credential\n - id: select-direct_connect_gateway_asn\n action: select\n selector: listbox\n context: Direct Connect Gateway ASN section\n value: "{direct_connect_gateway_asn}"\n description: Select Direct Connect Gateway ASN\n condition: params.direct_connect_gateway_asn is set\n - id: fill-custom_asn\n action: fill\n selector: spinbutton[name=\'Custom ASN\']\n value: "{custom_asn}"\n description: Set Custom ASN\n - id: select-private_connectivity_via_regional_edge_re\n action: select\n selector: listbox\n context: Private Connectivity via Regional Edge (RE) section\n value: "{private_connectivity_via_regional_edge_re}"\n description: Select Private Connectivity via Regional Edge (RE)\n condition: params.private_connectivity_via_regional_edge_re is set\n - id: configure-cloud_provider\n action: click\n selector: text(\'Configure\')\n context: Cloud Provider section\n description: Open the Cloud Provider configuration (\'Configure\' is a link, not a button)\n - id: fill-cloud_provider-value\n action: fill\n selector: textbox\n value: "{cloud_provider}"\n description: Enter the Cloud Provider value via the \'cloud_provider\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
204
204
|
"cloud-link/delete":
|
|
205
205
|
"schema: urn:f5xc:console:workflow:v1\nid: cloud-link-delete\nlabel: Delete CloudLinks\nresource: cloud-link\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-link\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text('CloudLinks')\n description: Navigate to CloudLinks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('CloudLinks')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
206
206
|
"cloud-link/read":
|
|
207
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-link-read\nlabel: Read CloudLinks\nresource: cloud-link\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-link\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text('CloudLinks')\n description: Navigate to CloudLinks list page\n - id:
|
|
207
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-link-read\nlabel: Read CloudLinks\nresource: cloud-link\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-link\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text('CloudLinks')\n description: Navigate to CloudLinks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
208
208
|
"cloud-link/update":
|
|
209
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cloud-link-update\nlabel: Update CloudLinks\nresource: cloud-link\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-link\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text('CloudLinks')\n description: Navigate to CloudLinks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
209
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cloud-link-update\nlabel: Update CloudLinks\nresource: cloud-link\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cloud-link\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/cloud_links\n wait_for: text('CloudLinks')\n description: Navigate to CloudLinks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('CloudLinks')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
210
210
|
"cluster/create":
|
|
211
211
|
"schema: urn:f5xc:console:workflow:v1\nid: cluster-create\nlabel: Create Clusters\nresource: cluster\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Clusters name (lowercase alphanumeric and hyphens)\n example: example-cluster\n select_upstream_connection_pool_reuse_state:\n required: false\n description: Select upstream connection pool reuse state\n default: Enable Connection Pool Reuse\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Cluster')\n wait_for: textbox[name='Name']\n description: Click the Add Cluster tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_upstream_connection_pool_reuse_state\n action: select\n selector: listbox\n context: Select upstream connection pool reuse state section\n value: \"{select_upstream_connection_pool_reuse_state}\"\n description: Select Select upstream connection pool reuse state\n condition: params.select_upstream_connection_pool_reuse_state is set\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
212
212
|
"cluster/delete":
|
|
213
213
|
"schema: urn:f5xc:console:workflow:v1\nid: cluster-delete\nlabel: Delete Clusters\nresource: cluster\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Clusters')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
214
214
|
"cluster/read":
|
|
215
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cluster-read\nlabel: Read Clusters\nresource: cluster\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id:
|
|
215
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cluster-read\nlabel: Read Clusters\nresource: cluster\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
216
216
|
"cluster/update":
|
|
217
|
-
"schema: urn:f5xc:console:workflow:v1\nid: cluster-update\nlabel: Update Clusters\nresource: cluster\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
217
|
+
"schema: urn:f5xc:console:workflow:v1\nid: cluster-update\nlabel: Update Clusters\nresource: cluster\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/clusters\n wait_for: text('Clusters')\n description: Navigate to Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Clusters')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
218
218
|
"code-base-integration/create":
|
|
219
|
-
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-create\nlabel: Create Code Base Integration\nresource: code-base-integration\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Code Base Integration name (lowercase alphanumeric and hyphens)\n example: example-code-base-integration\n code_base:\n required: false\n description: \"'Field Code Base in Integration Data is required'\"\n default: \"\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Code Base Integration')\n wait_for: textbox[name='Name']\n description: Click the Add Code Base Integration tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-code_base\n action: click\n selector:
|
|
219
|
+
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-create\nlabel: Create Code Base Integration\nresource: code-base-integration\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Code Base Integration name (lowercase alphanumeric and hyphens)\n example: example-code-base-integration\n code_base:\n required: false\n description: \"'Field Code Base in Integration Data is required'\"\n default: \"\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Code Base Integration')\n wait_for: textbox[name='Name']\n description: Click the Add Code Base Integration tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-code_base\n action: click\n selector: text('Configure')\n context: Code Base section\n description: Open the Code Base configuration ('Configure' is a link, not a button)\n - id: fill-code_base-value\n action: fill\n selector: textbox\n value: \"{code_base}\"\n description: Enter the Code Base value via the 'code_base' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
220
220
|
"code-base-integration/delete":
|
|
221
221
|
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-delete\nlabel: Delete Code Base Integration\nresource: code-base-integration\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-code-base-integration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Code Base Integration')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
222
222
|
"code-base-integration/read":
|
|
223
|
-
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-read\nlabel: Read Code Base Integration\nresource: code-base-integration\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-code-base-integration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id:
|
|
223
|
+
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-read\nlabel: Read Code Base Integration\nresource: code-base-integration\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-code-base-integration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
224
224
|
"code-base-integration/update":
|
|
225
|
-
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-update\nlabel: Update Code Base Integration\nresource: code-base-integration\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-code-base-integration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
225
|
+
"schema: urn:f5xc:console:workflow:v1\nid: code-base-integration-update\nlabel: Update Code Base Integration\nresource: code-base-integration\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-code-base-integration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/code_base_integration\n wait_for: text('Code Base Integration')\n description: Navigate to Code Base Integration list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Code Base Integration')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
226
226
|
"container-registry/create":
|
|
227
|
-
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-create\nlabel: Create Container Registries\nresource: container-registry\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Container Registries name (lowercase alphanumeric and hyphens)\n example: example-container-registry\n server_fqdn:\n required: true\n description: Server FQDN\n user_name:\n required: true\n description: User Name\n password:\n required: true\n description:
|
|
227
|
+
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-create\nlabel: Create Container Registries\nresource: container-registry\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Container Registries name (lowercase alphanumeric and hyphens)\n example: example-container-registry\n server_fqdn:\n required: true\n description: Server FQDN\n user_name:\n required: true\n description: User Name\n password:\n required: true\n description: \"Secret field: click Configure (a link), enter the value in the secret TEXTAREA (Secret Type defaults are\n fine), then Apply. Verified live: create 200.\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/container_registries\n wait_for: text('Container Registries')\n description: Navigate to Container Registries list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Container Registry')\n wait_for: textbox[name='Name']\n description: Click the Add Container Registry tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-server_fqdn\n action: fill\n selector: textbox[name='Server FQDN']\n value: \"{server_fqdn}\"\n description: Enter Server FQDN\n - id: fill-user_name\n action: fill\n selector: textbox[name='User Name']\n value: \"{user_name}\"\n description: Enter User Name\n - id: configure-password\n action: click\n selector: text('Configure')\n context: Password section\n description: Open the Password configuration ('Configure' is a link, not a button)\n - id: fill-password-value\n action: fill\n selector: textarea\n value: \"{password}\"\n description: Enter the Password value (secret textarea) via the 'password' parameter\n - id: apply-password\n action: click\n selector: button:text('Apply')\n description: Apply the Password secret to commit it\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
228
228
|
"container-registry/delete":
|
|
229
|
-
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-delete\nlabel: Delete Container Registries\nresource: container-registry\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/
|
|
229
|
+
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-delete\nlabel: Delete Container Registries\nresource: container-registry\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/container_registries\n wait_for: text('Container Registries')\n description: Navigate to Container Registries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Container Registries')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
230
230
|
"container-registry/read":
|
|
231
|
-
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-read\nlabel: Read Container Registries\nresource: container-registry\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/
|
|
231
|
+
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-read\nlabel: Read Container Registries\nresource: container-registry\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/container_registries\n wait_for: text('Container Registries')\n description: Navigate to Container Registries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
232
232
|
"container-registry/update":
|
|
233
|
-
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-update\nlabel: Update Container Registries\nresource: container-registry\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/
|
|
233
|
+
"schema: urn:f5xc:console:workflow:v1\nid: container-registry-update\nlabel: Update Container Registries\nresource: container-registry\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-container-registry\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/container_registries\n wait_for: text('Container Registries')\n description: Navigate to Container Registries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Container Registries')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
234
234
|
"crl/create":
|
|
235
|
-
"schema: urn:f5xc:console:workflow:v1\nid: crl-create\nlabel: Create Certificate Revocation List\nresource: crl\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Certificate Revocation List name (lowercase alphanumeric and hyphens)\n example: example-crl\n crl_server_address:\n required: true\n description: CRL Server address\n refresh_interval:\n required: true\n description: \"Server-required: Must be >= 6\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add CRL')\n wait_for: textbox[name='Name']\n description: Click the Add CRL tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-crl_server_address\n action: fill\n selector: textbox[name='CRL Server address']\n value: \"{crl_server_address}\"\n description: Enter CRL Server address\n - id: configure-refresh_interval\n action: click\n selector:
|
|
235
|
+
"schema: urn:f5xc:console:workflow:v1\nid: crl-create\nlabel: Create Certificate Revocation List\nresource: crl\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Certificate Revocation List name (lowercase alphanumeric and hyphens)\n example: example-crl\n crl_server_address:\n required: true\n description: CRL Server address\n refresh_interval:\n required: true\n description: \"Server-required: Must be >= 6\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add CRL')\n wait_for: textbox[name='Name']\n description: Click the Add CRL tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-crl_server_address\n action: fill\n selector: textbox[name='CRL Server address']\n value: \"{crl_server_address}\"\n description: Enter CRL Server address\n - id: configure-refresh_interval\n action: click\n selector: text('Configure')\n context: Refresh Interval section\n description: Open the Refresh Interval configuration ('Configure' is a link, not a button)\n - id: fill-refresh_interval-value\n action: fill\n selector: textbox\n value: \"{refresh_interval}\"\n description: Enter the Refresh Interval value via the 'refresh_interval' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
236
236
|
"crl/delete":
|
|
237
237
|
"schema: urn:f5xc:console:workflow:v1\nid: crl-delete\nlabel: Delete Certificate Revocation List\nresource: crl\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-crl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Certificate Revocation List')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
238
238
|
"crl/read":
|
|
239
|
-
"schema: urn:f5xc:console:workflow:v1\nid: crl-read\nlabel: Read Certificate Revocation List\nresource: crl\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-crl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id:
|
|
239
|
+
"schema: urn:f5xc:console:workflow:v1\nid: crl-read\nlabel: Read Certificate Revocation List\nresource: crl\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-crl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
240
240
|
"crl/update":
|
|
241
|
-
"schema: urn:f5xc:console:workflow:v1\nid: crl-update\nlabel: Update Certificate Revocation List\nresource: crl\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-crl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
241
|
+
"schema: urn:f5xc:console:workflow:v1\nid: crl-update\nlabel: Update Certificate Revocation List\nresource: crl\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-crl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/crl\n wait_for: text('Certificate Revocation List')\n description: Navigate to Certificate Revocation List list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Certificate Revocation List')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
242
242
|
"data-type/create":
|
|
243
|
-
"schema: urn:f5xc:console:workflow:v1\nid: data-type-create\nlabel: Create Data Types\nresource: data-type\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Data Types name (lowercase alphanumeric and hyphens)\n example: example-data-type\n data_type_rules:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
243
|
+
"schema: urn:f5xc:console:workflow:v1\nid: data-type-create\nlabel: Create Data Types\nresource: data-type\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Data Types name (lowercase alphanumeric and hyphens)\n example: example-data-type\n data_type_rules:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/data_type\n wait_for: text('Data Types')\n description: Navigate to Data Types list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Data Type')\n wait_for: textbox[name='Name']\n description: Click the Add Data Type tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-data_type_rules\n action: click\n selector: text('Configure')\n context: Data Type Rules section\n description: Open the Data Type Rules configuration ('Configure' is a link, not a button)\n - id: fill-data_type_rules-value\n action: fill\n selector: textbox\n value: \"{data_type_rules}\"\n description: Enter the Data Type Rules value via the 'data_type_rules' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
244
244
|
"data-type/delete":
|
|
245
|
-
"schema: urn:f5xc:console:workflow:v1\nid: data-type-delete\nlabel: Delete Data Types\nresource: data-type\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
245
|
+
"schema: urn:f5xc:console:workflow:v1\nid: data-type-delete\nlabel: Delete Data Types\nresource: data-type\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/data_type\n wait_for: text('Data Types')\n description: Navigate to Data Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Data Types')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
246
246
|
"data-type/read":
|
|
247
|
-
"schema: urn:f5xc:console:workflow:v1\nid: data-type-read\nlabel: Read Data Types\nresource: data-type\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
247
|
+
"schema: urn:f5xc:console:workflow:v1\nid: data-type-read\nlabel: Read Data Types\nresource: data-type\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/data_type\n wait_for: text('Data Types')\n description: Navigate to Data Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
248
248
|
"data-type/update":
|
|
249
|
-
"schema: urn:f5xc:console:workflow:v1\nid: data-type-update\nlabel: Update Data Types\nresource: data-type\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
249
|
+
"schema: urn:f5xc:console:workflow:v1\nid: data-type-update\nlabel: Update Data Types\nresource: data-type\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-data-type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/data_type\n wait_for: text('Data Types')\n description: Navigate to Data Types list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Data Types')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
250
250
|
"dc-cluster-group/create":
|
|
251
251
|
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-create\nlabel: Create DC Cluster Groups\nresource: dc-cluster-group\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DC Cluster Groups name (lowercase alphanumeric and hyphens)\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DC Cluster Group')\n wait_for: textbox[name='Name']\n description: Click the Add DC Cluster Group tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
252
252
|
"dc-cluster-group/delete":
|
|
253
253
|
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-delete\nlabel: Delete DC Cluster Groups\nresource: dc-cluster-group\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DC Cluster Groups')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
254
254
|
"dc-cluster-group/read":
|
|
255
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-read\nlabel: Read DC Cluster Groups\nresource: dc-cluster-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id:
|
|
255
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-read\nlabel: Read DC Cluster Groups\nresource: dc-cluster-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
256
256
|
"dc-cluster-group/update":
|
|
257
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-update\nlabel: Update DC Cluster Groups\nresource: dc-cluster-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
257
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dc-cluster-group-update\nlabel: Update DC Cluster Groups\nresource: dc-cluster-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dc-cluster-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/dc_cluster_groups\n wait_for: text('DC Cluster Groups')\n description: Navigate to DC Cluster Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DC Cluster Groups')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
258
258
|
"demos/cdn-distribution":
|
|
259
259
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "cdn-distribution-demo"\nlabel: "CDN Distribution Demo — Origin Pool + CDN Distribution"\nresource:\n - "origin-pool"\n - "cdn-loadbalancer"\noperation: "demo"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n app_name:\n required: true\n description: "Base name for all resources"\n example: "example-cdn"\n domain:\n required: true\n description: "Domain for the CDN distribution"\n example: "cdn.example.com"\n origin_server:\n required: true\n description: "DNS hostname of the origin server"\n example: "origin.example.com"\n\nsteps:\n - id: "screenshot-start"\n action: "screenshot"\n screenshot_name: "cdn-demo-start"\n description: "Capture starting state"\n\n - id: "create-origin-pool"\n action: "run-workflow"\n workflow: "origin-pool/create"\n with:\n namespace: "{namespace}"\n name: "{app_name}-origin"\n origin_server: "{origin_server}"\n port: "443"\n description: "Step 1: Create an origin pool for the CDN backend"\n\n - id: "screenshot-pool-created"\n action: "screenshot"\n screenshot_name: "cdn-demo-pool-created"\n description: "Capture origin pool creation"\n\n - id: "navigate-cdn"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/distributions"\n wait_for: "text(\'CDN Distributions\')"\n description: "Step 2: Navigate to CDN Distributions"\n\n - id: "click-add-cdn"\n action: "click"\n selector: "tab:text(\'Add CDN Distribution\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Open the Add CDN Distribution form"\n\n - id: "fill-cdn-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{app_name}-cdn"\n description: "Enter the CDN distribution name"\n\n - id: "add-cdn-domain"\n action: "click"\n selector: "button:text(\'Add Item\')"\n context: "Domains table"\n description: "Add a domain to the CDN distribution"\n then:\n - id: "fill-cdn-domain"\n action: "fill"\n selector: "textbox"\n context: "Domains table row"\n value: "{domain}"\n description: "Enter the CDN domain"\n\n - id: "save-cdn"\n action: "click"\n selector: "button:text(\'Add CDN Distribution\')"\n context: "footer"\n wait_for: "text(\'{app_name}-cdn\')"\n wait_timeout_ms: 30000\n description: "Save the CDN Distribution"\n\n - id: "screenshot-final"\n action: "screenshot"\n screenshot_name: "cdn-demo-complete"\n description: "Capture completed CDN stack"\n\npostconditions:\n - "resource_name_in_list: {app_name}-cdn"\n - "origin_pool_exists: {app_name}-origin"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-16"\n validated_at: "2026-06-16"\n console_version: "2025.06"\n estimated_duration_seconds: 60\n notes: >\n Validated on staging 2026-06-16. CDN Distributions at /cdn/distributions\n (not /cdn/cdn_loadbalancers). Standard tab "Add CDN Distribution". Form\n has 9 sections including WAF/API/DoS (EA preview). CDN Origin Pool is\n a Configure link (nested form). WAAP preview dialog appears on first open.\n Domains use same table pattern as HTTP LB.\n',
|
|
260
260
|
"demos/cdn-distribution-teardown":
|
|
@@ -272,133 +272,133 @@ export const CONSOLE_CATALOG_DATA: ConsoleCatalogData = {
|
|
|
272
272
|
"demos/waap-full-stack-teardown":
|
|
273
273
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "waap-full-stack-teardown"\nlabel: "WAAP Full Stack Teardown — Delete HTTP LB + App Firewall + Origin Pool"\nresource:\n - "http-load-balancer"\n - "app-firewall"\n - "origin-pool"\noperation: "demo"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Namespace containing the resources"\n example: "demo"\n app_name:\n required: true\n description: "Base name used when creating resources"\n example: "example-app"\n\nsteps:\n - id: "delete-http-lb"\n action: "run-workflow"\n workflow: "http-load-balancer/delete"\n with:\n namespace: "{namespace}"\n name: "{app_name}-lb"\n description: "Step 1: Delete the HTTP Load Balancer (must be deleted before its dependencies)"\n\n - id: "delete-app-firewall"\n action: "run-workflow"\n workflow: "app-firewall/delete"\n with:\n namespace: "{namespace}"\n name: "{app_name}-waf"\n description: "Step 2: Delete the App Firewall policy"\n\n - id: "delete-origin-pool"\n action: "run-workflow"\n workflow: "origin-pool/delete"\n with:\n namespace: "{namespace}"\n name: "{app_name}-pool"\n description: "Step 3: Delete the Origin Pool"\n\npostconditions:\n - "resource_deleted: {app_name}-lb"\n - "resource_deleted: {app_name}-waf"\n - "resource_deleted: {app_name}-pool"\n\nmetadata:\n confidence: "draft"\n discovered_at: "2026-06-16"\n console_version: "2025.06"\n estimated_duration_seconds: 60\n notes: >\n Teardown companion for waap-full-stack demo. Deletes resources in\n reverse dependency order: HTTP LB first (references origin pool and\n app firewall), then app firewall, then origin pool.\n',
|
|
274
274
|
"discovery/create":
|
|
275
|
-
'schema: urn:f5xc:console:workflow:v1\nid: discovery-create\nlabel: Create Service Discoveries\nresource: discovery\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Discoveries name (lowercase alphanumeric and hyphens)\n example: example-discovery\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: Reference\n select_kubernetes_credentials:\n required: false\n description: Select Kubernetes Credentials\n default: Kubeconfig\n kubeconfig:\n required: true\n description: Kubeconfig\n kubernetes_pod_network_reachability:\n required: false\n description: Kubernetes POD network reachability\n default: Kubernetes POD is isolated\n select_vip_publishing_or_dns_delegation:\n required: false\n description: Select VIP Publishing or DNS Delegation\n default: Disable VIP Publishing and DNS Delegation\n mapping_preference:\n required: false\n description: Mapping Preference\n default: Custom\n regex_matching:\n required: true\n description: Regex Matching\n select_discovery_cluster_identifier:\n required: false\n description: Select Discovery Cluster Identifier\n default: No cluster identifier\n discovery_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text(\'Service Discoveries\')\n description: Navigate to Service Discoveries list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Service Discovery\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Service Discovery tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: select-select_kubernetes_credentials\n action: select\n selector: listbox\n context: Select Kubernetes Credentials section\n value: "{select_kubernetes_credentials}"\n description: Select Select Kubernetes Credentials\n condition: params.select_kubernetes_credentials is set\n - id: configure-kubeconfig\n action: click\n selector:
|
|
275
|
+
'schema: urn:f5xc:console:workflow:v1\nid: discovery-create\nlabel: Create Service Discoveries\nresource: discovery\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Discoveries name (lowercase alphanumeric and hyphens)\n example: example-discovery\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: Reference\n select_kubernetes_credentials:\n required: false\n description: Select Kubernetes Credentials\n default: Kubeconfig\n kubeconfig:\n required: true\n description: Kubeconfig\n kubernetes_pod_network_reachability:\n required: false\n description: Kubernetes POD network reachability\n default: Kubernetes POD is isolated\n select_vip_publishing_or_dns_delegation:\n required: false\n description: Select VIP Publishing or DNS Delegation\n default: Disable VIP Publishing and DNS Delegation\n mapping_preference:\n required: false\n description: Mapping Preference\n default: Custom\n regex_matching:\n required: true\n description: Regex Matching\n select_discovery_cluster_identifier:\n required: false\n description: Select Discovery Cluster Identifier\n default: No cluster identifier\n discovery_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text(\'Service Discoveries\')\n description: Navigate to Service Discoveries list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Service Discovery\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Service Discovery tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: select-reference\n action: select\n selector: listbox\n context: Reference section\n value: "{reference}"\n description: Select Reference\n - id: select-select_kubernetes_credentials\n action: select\n selector: listbox\n context: Select Kubernetes Credentials section\n value: "{select_kubernetes_credentials}"\n description: Select Select Kubernetes Credentials\n condition: params.select_kubernetes_credentials is set\n - id: configure-kubeconfig\n action: click\n selector: text(\'Configure\')\n context: Kubeconfig section\n description: Open the Kubeconfig configuration (\'Configure\' is a link, not a button)\n - id: fill-kubeconfig-value\n action: fill\n selector: textbox\n value: "{kubeconfig}"\n description: Enter the Kubeconfig value via the \'kubeconfig\' parameter\n - id: select-kubernetes_pod_network_reachability\n action: select\n selector: listbox\n context: Kubernetes POD network reachability section\n value: "{kubernetes_pod_network_reachability}"\n description: Select Kubernetes POD network reachability\n condition: params.kubernetes_pod_network_reachability is set\n - id: select-select_vip_publishing_or_dns_delegation\n action: select\n selector: listbox\n context: Select VIP Publishing or DNS Delegation section\n value: "{select_vip_publishing_or_dns_delegation}"\n description: Select Select VIP Publishing or DNS Delegation\n condition: params.select_vip_publishing_or_dns_delegation is set\n - id: select-mapping_preference\n action: select\n selector: listbox\n context: Mapping Preference section\n value: "{mapping_preference}"\n description: Select Mapping Preference\n condition: params.mapping_preference is set\n - id: fill-regex_matching\n action: fill\n selector: ngx-datatable input.form-control\n context: Regex Matching table\n value: "{regex_matching}"\n description: Enter Regex Matching in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-select_discovery_cluster_identifier\n action: select\n selector: listbox\n context: Select Discovery Cluster Identifier section\n value: "{select_discovery_cluster_identifier}"\n description: Select Select Discovery Cluster Identifier\n condition: params.select_discovery_cluster_identifier is set\n - id: configure-discovery_choice\n action: click\n selector: text(\'Configure\')\n context: Discovery Choice section\n description: Open the Discovery Choice configuration (\'Configure\' is a link, not a button)\n - id: fill-discovery_choice-value\n action: fill\n selector: textbox\n value: "{discovery_choice}"\n description: Enter the Discovery Choice value via the \'discovery_choice\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
276
276
|
"discovery/delete":
|
|
277
277
|
"schema: urn:f5xc:console:workflow:v1\nid: discovery-delete\nlabel: Delete Service Discoveries\nresource: discovery\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text('Service Discoveries')\n description: Navigate to Service Discoveries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Service Discoveries')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
278
278
|
"discovery/read":
|
|
279
|
-
"schema: urn:f5xc:console:workflow:v1\nid: discovery-read\nlabel: Read Service Discoveries\nresource: discovery\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text('Service Discoveries')\n description: Navigate to Service Discoveries list page\n - id:
|
|
279
|
+
"schema: urn:f5xc:console:workflow:v1\nid: discovery-read\nlabel: Read Service Discoveries\nresource: discovery\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text('Service Discoveries')\n description: Navigate to Service Discoveries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
280
280
|
"discovery/update":
|
|
281
|
-
"schema: urn:f5xc:console:workflow:v1\nid: discovery-update\nlabel: Update Service Discoveries\nresource: discovery\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text('Service Discoveries')\n description: Navigate to Service Discoveries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
281
|
+
"schema: urn:f5xc:console:workflow:v1\nid: discovery-update\nlabel: Update Service Discoveries\nresource: discovery\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-discovery\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/discovery\n wait_for: text('Service Discoveries')\n description: Navigate to Service Discoveries list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Service Discoveries')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
282
282
|
"dns-domain/create":
|
|
283
283
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-create\nlabel: Create Delegated Domain Management\nresource: dns-domain\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Delegated Domain Management name (lowercase alphanumeric and hyphens)\n example: example-dns-domain\n domain_name:\n required: true\n description: Domain Name\n domain_method:\n required: false\n description: Domain Method\n default: Managed by Distributed Cloud\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Domain')\n wait_for: textbox[name='Name']\n description: Click the Add Domain tab to open the create form\n - id: fill-domain_name\n action: fill\n selector: textbox[name='Domain Name']\n value: \"{domain_name}\"\n description: Enter Domain Name\n - id: select-domain_method\n action: select\n selector: listbox\n context: Domain Method section\n value: \"{domain_method}\"\n description: Select Domain Method\n condition: params.domain_method is set\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
284
284
|
"dns-domain/delete":
|
|
285
285
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-delete\nlabel: Delete Delegated Domain Management\nresource: dns-domain\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Delegated Domain Management')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
286
286
|
"dns-domain/read":
|
|
287
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-read\nlabel: Read Delegated Domain Management\nresource: dns-domain\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id:
|
|
287
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-read\nlabel: Read Delegated Domain Management\nresource: dns-domain\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
288
288
|
"dns-domain/update":
|
|
289
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-update\nlabel: Update Delegated Domain Management\nresource: dns-domain\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
289
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-domain-update\nlabel: Update Delegated Domain Management\nresource: dns-domain\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_domain\n wait_for: text('Delegated Domain Management')\n description: Navigate to Delegated Domain Management list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Delegated Domain Management')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
290
290
|
"dns-lb-health-check/create":
|
|
291
291
|
'schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-create\nlabel: Create DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Load Balancer Health Checks name (lowercase alphanumeric and hyphens)\n example: example-dns-lb-health-check\n health_check_type:\n required: false\n description: Health Check Type\n default: HTTP Health Check\n health_check_port:\n required: false\n description: Health Check Port\n default: "0"\n virtual_host:\n required: false\n description: Virtual Host\n default: Disable Virtual Host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text(\'DNS Load Balancer Health Checks\')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add DNS LB Health Check\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add DNS LB Health Check tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-health_check_type\n action: select\n selector: listbox\n context: Health Check Type section\n value: "{health_check_type}"\n description: Select Health Check Type\n condition: params.health_check_type is set\n - id: select-health_check_port\n action: select\n selector: listbox\n context: Health Check Port section\n value: "{health_check_port}"\n description: Select Health Check Port\n condition: params.health_check_port is set\n - id: select-virtual_host\n action: select\n selector: listbox\n context: Virtual Host section\n value: "{virtual_host}"\n description: Select Virtual Host\n condition: params.virtual_host is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
292
292
|
"dns-lb-health-check/delete":
|
|
293
293
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-delete\nlabel: Delete DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text('DNS Load Balancer Health Checks')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DNS Load Balancer Health Checks')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
294
294
|
"dns-lb-health-check/read":
|
|
295
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-read\nlabel: Read DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text('DNS Load Balancer Health Checks')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id:
|
|
295
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-read\nlabel: Read DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text('DNS Load Balancer Health Checks')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
296
296
|
"dns-lb-health-check/update":
|
|
297
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-update\nlabel: Update DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text('DNS Load Balancer Health Checks')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
297
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-health-check-update\nlabel: Update DNS Load Balancer Health Checks\nresource: dns-lb-health-check\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_health_check\n wait_for: text('DNS Load Balancer Health Checks')\n description: Navigate to DNS Load Balancer Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DNS Load Balancer Health Checks')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
298
298
|
"dns-lb-pool/create":
|
|
299
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-create\nlabel: Create DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Load Balancer Pools name (lowercase alphanumeric and hyphens)\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Load Balancer Pool')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Load Balancer Pool tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
299
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-create\nlabel: Create DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Load Balancer Pools name (lowercase alphanumeric and hyphens)\n example: example-dns-lb-pool\n pool_members:\n required: true\n description: \"Server-required: Pool Members in A record type. Click Configure (link) to add members.\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Load Balancer Pool')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Load Balancer Pool tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-pool_members\n action: click\n selector: text('Configure')\n context: Pool Members section\n description: Open the Pool Members configuration ('Configure' is a link, not a button)\n - id: fill-pool_members-value\n action: fill\n selector: textbox\n value: \"{pool_members}\"\n description: Enter the Pool Members value via the 'pool_members' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
300
300
|
"dns-lb-pool/delete":
|
|
301
301
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-delete\nlabel: Delete DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DNS Load Balancer Pools')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
302
302
|
"dns-lb-pool/read":
|
|
303
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-read\nlabel: Read DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id:
|
|
303
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-read\nlabel: Read DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
304
304
|
"dns-lb-pool/update":
|
|
305
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-update\nlabel: Update DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
305
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-lb-pool-update\nlabel: Update DNS Load Balancer Pools\nresource: dns-lb-pool\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-lb-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_lb_pool\n wait_for: text('DNS Load Balancer Pools')\n description: Navigate to DNS Load Balancer Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DNS Load Balancer Pools')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
306
306
|
"dns-load-balancer/create":
|
|
307
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-create\nlabel: Create DNS Load Balancers\nresource: dns-load-balancer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Load Balancers name (lowercase alphanumeric and hyphens)\n example: example-dns-load-balancer\n record_type:\n required: true\n description: Record Type\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Load Balancer')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Load Balancer tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-record_type\n action: select\n selector: listbox\n context: Record Type section\n value: \"{record_type}\"\n description: Select Record Type\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
307
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-create\nlabel: Create DNS Load Balancers\nresource: dns-load-balancer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Load Balancers name (lowercase alphanumeric and hyphens)\n example: example-dns-load-balancer\n record_type:\n required: true\n description: Record Type\n load_balancing_rules:\n required: true\n description: \"Server-required: at least one Load Balancing Rule.\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Load Balancer')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Load Balancer tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-record_type\n action: select\n selector: listbox\n context: Record Type section\n value: \"{record_type}\"\n description: Select Record Type\n - id: add-load_balancing_rules\n action: click\n selector: button:text('Add Item')\n context: Load Balancing Rules section\n description: Add Load Balancing Rules entry\n then:\n - id: fill-load_balancing_rules-value\n action: fill\n selector: textbox\n value: \"{load_balancing_rules}\"\n description: Fill the first required field in the Load Balancing Rules sub-form (the agent should provide a value via\n the 'load_balancing_rules' parameter)\n - id: apply-load_balancing_rules\n action: click\n selector: button:text('Apply')\n description: Confirm Load Balancing Rules entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
308
308
|
"dns-load-balancer/delete":
|
|
309
309
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-delete\nlabel: Delete DNS Load Balancers\nresource: dns-load-balancer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DNS Load Balancers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
310
310
|
"dns-load-balancer/read":
|
|
311
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-read\nlabel: Read DNS Load Balancers\nresource: dns-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id:
|
|
311
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-read\nlabel: Read DNS Load Balancers\nresource: dns-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
312
312
|
"dns-load-balancer/update":
|
|
313
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-update\nlabel: Update DNS Load Balancers\nresource: dns-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
313
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-load-balancer-update\nlabel: Update DNS Load Balancers\nresource: dns-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/dns_load_balancer\n wait_for: text('DNS Load Balancers')\n description: Navigate to DNS Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DNS Load Balancers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
314
314
|
"dns-zone/create":
|
|
315
315
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-create\nlabel: Create DNS Zones\nresource: dns-zone\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Zones name (lowercase alphanumeric and hyphens)\n example: example-dns-zone\n domain:\n required: true\n description: Domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Zone')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Zone tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-domain\n action: fill\n selector: textbox[name='Domain']\n value: \"{domain}\"\n description: Enter Domain\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
316
316
|
"dns-zone/delete":
|
|
317
317
|
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-delete\nlabel: Delete DNS Zones\nresource: dns-zone\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-zone\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DNS Zones')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
318
318
|
"dns-zone/read":
|
|
319
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-read\nlabel: Read DNS Zones\nresource: dns-zone\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-zone\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id:
|
|
319
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-read\nlabel: Read DNS Zones\nresource: dns-zone\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-zone\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
320
320
|
"dns-zone/update":
|
|
321
|
-
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-update\nlabel: Update DNS Zones\nresource: dns-zone\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-zone\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
321
|
+
"schema: urn:f5xc:console:workflow:v1\nid: dns-zone-update\nlabel: Update DNS Zones\nresource: dns-zone\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-dns-zone\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/zone_management\n wait_for: text('DNS Zones')\n description: Navigate to DNS Zones list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DNS Zones')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
322
322
|
"endpoint/create":
|
|
323
|
-
|
|
323
|
+
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-create\nlabel: Create Endpoints\nresource: endpoint\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Endpoints name (lowercase alphanumeric and hyphens)\n example: example-endpoint\n protocol:\n required: false\n description: \"Server-required: Must be TCP or UDP\"\n default: TCP\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: \"Feedback loop: 'Field Reference is required'\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Endpoint')\n wait_for: textbox[name='Name']\n description: Click the Add Endpoint tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-protocol\n action: select\n selector: listbox\n context: Protocol section\n value: \"{protocol}\"\n description: Select Protocol\n condition: params.protocol is set\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: \"{virtual_site_or_site_or_network}\"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: configure-reference\n action: click\n selector: text('Configure')\n context: Reference section\n description: Open the Reference configuration ('Configure' is a link, not a button)\n - id: fill-reference-value\n action: fill\n selector: textbox\n value: \"{reference}\"\n description: Enter the Reference value via the 'reference' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
324
324
|
"endpoint/delete":
|
|
325
325
|
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-delete\nlabel: Delete Endpoints\nresource: endpoint\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-endpoint\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Endpoints')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
326
326
|
"endpoint/read":
|
|
327
|
-
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-read\nlabel: Read Endpoints\nresource: endpoint\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-endpoint\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id:
|
|
327
|
+
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-read\nlabel: Read Endpoints\nresource: endpoint\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-endpoint\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
328
328
|
"endpoint/update":
|
|
329
|
-
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-update\nlabel: Update Endpoints\nresource: endpoint\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-endpoint\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
329
|
+
"schema: urn:f5xc:console:workflow:v1\nid: endpoint-update\nlabel: Update Endpoints\nresource: endpoint\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-endpoint\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/endpoints\n wait_for: text('Endpoints')\n description: Navigate to Endpoints list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Endpoints')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
330
330
|
"enhanced-firewall-policy/create":
|
|
331
331
|
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-create\nlabel: Create Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Enhanced Firewall Policies name (lowercase alphanumeric and hyphens)\n example: example-enhanced-firewall-policy\n select_enhanced_firewall_policy_rule_type:\n required: false\n description: Select Enhanced Firewall Policy Rule Type\n default: Allow all connections\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Enhanced Firewall Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Enhanced Firewall Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_enhanced_firewall_policy_rule_type\n action: select\n selector: listbox\n context: Select Enhanced Firewall Policy Rule Type section\n value: \"{select_enhanced_firewall_policy_rule_type}\"\n description: Select Select Enhanced Firewall Policy Rule Type\n condition: params.select_enhanced_firewall_policy_rule_type is set\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
332
332
|
"enhanced-firewall-policy/delete":
|
|
333
333
|
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-delete\nlabel: Delete Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-enhanced-firewall-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Enhanced Firewall Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
334
334
|
"enhanced-firewall-policy/read":
|
|
335
|
-
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-read\nlabel: Read Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-enhanced-firewall-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id:
|
|
335
|
+
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-read\nlabel: Read Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-enhanced-firewall-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
336
336
|
"enhanced-firewall-policy/update":
|
|
337
|
-
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-update\nlabel: Update Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-enhanced-firewall-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
337
|
+
"schema: urn:f5xc:console:workflow:v1\nid: enhanced-firewall-policy-update\nlabel: Update Enhanced Firewall Policies\nresource: enhanced-firewall-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-enhanced-firewall-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/enhanced_firewall_policy\n wait_for: text('Enhanced Firewall Policies')\n description: Navigate to Enhanced Firewall Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Enhanced Firewall Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
338
338
|
"external-connector/create":
|
|
339
339
|
'schema: urn:f5xc:console:workflow:v1\nid: external-connector-create\nlabel: Create External Connectors\nresource: external-connector\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: External Connectors name (lowercase alphanumeric and hyphens)\n example: example-external-connector\n ce_site_reference:\n required: true\n description: CE Site Reference\n connection_type:\n required: false\n description: Connection Type\n default: IPSec\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text(\'External Connectors\')\n description: Navigate to External Connectors list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add External Connector\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add External Connector tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-ce_site_reference\n action: select\n selector: listbox\n context: CE Site Reference section\n value: "{ce_site_reference}"\n description: Select CE Site Reference\n - id: select-connection_type\n action: select\n selector: listbox\n context: Connection Type section\n value: "{connection_type}"\n description: Select Connection Type\n condition: params.connection_type is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
340
340
|
"external-connector/delete":
|
|
341
341
|
"schema: urn:f5xc:console:workflow:v1\nid: external-connector-delete\nlabel: Delete External Connectors\nresource: external-connector\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-external-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text('External Connectors')\n description: Navigate to External Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('External Connectors')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
342
342
|
"external-connector/read":
|
|
343
|
-
"schema: urn:f5xc:console:workflow:v1\nid: external-connector-read\nlabel: Read External Connectors\nresource: external-connector\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-external-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text('External Connectors')\n description: Navigate to External Connectors list page\n - id:
|
|
343
|
+
"schema: urn:f5xc:console:workflow:v1\nid: external-connector-read\nlabel: Read External Connectors\nresource: external-connector\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-external-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text('External Connectors')\n description: Navigate to External Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
344
344
|
"external-connector/update":
|
|
345
|
-
"schema: urn:f5xc:console:workflow:v1\nid: external-connector-update\nlabel: Update External Connectors\nresource: external-connector\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-external-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text('External Connectors')\n description: Navigate to External Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
345
|
+
"schema: urn:f5xc:console:workflow:v1\nid: external-connector-update\nlabel: Update External Connectors\nresource: external-connector\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-external-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/external_connector\n wait_for: text('External Connectors')\n description: Navigate to External Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('External Connectors')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
346
346
|
"fast-acl/create":
|
|
347
|
-
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-create\nlabel: Create Fast ACLs\nresource: fast-acl\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Fast ACLs name (lowercase alphanumeric and hyphens)\n example: example-fast-acl\n select_site_type_for_acl:\n required: false\n description: Select Site Type For acl\n default: Site Type Regional Edge\n site_type_regional_edge:\n required: true\n description: Site Type Regional Edge\n site_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Fast ACL')\n wait_for: textbox[name='Name']\n description: Click the Add Fast ACL tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_site_type_for_acl\n action: select\n selector: listbox\n context: Select Site Type For acl section\n value: \"{select_site_type_for_acl}\"\n description: Select Select Site Type For acl\n condition: params.select_site_type_for_acl is set\n - id: configure-site_type_regional_edge\n action: click\n selector:
|
|
347
|
+
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-create\nlabel: Create Fast ACLs\nresource: fast-acl\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Fast ACLs name (lowercase alphanumeric and hyphens)\n example: example-fast-acl\n select_site_type_for_acl:\n required: false\n description: Select Site Type For acl\n default: Site Type Regional Edge\n site_type_regional_edge:\n required: true\n description: Site Type Regional Edge\n site_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Fast ACL')\n wait_for: textbox[name='Name']\n description: Click the Add Fast ACL tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_site_type_for_acl\n action: select\n selector: listbox\n context: Select Site Type For acl section\n value: \"{select_site_type_for_acl}\"\n description: Select Select Site Type For acl\n condition: params.select_site_type_for_acl is set\n - id: configure-site_type_regional_edge\n action: click\n selector: text('Configure')\n context: Site Type Regional Edge section\n description: Open the Site Type Regional Edge configuration ('Configure' is a link, not a button)\n - id: fill-site_type_regional_edge-value\n action: fill\n selector: textbox\n value: \"{site_type_regional_edge}\"\n description: Enter the Site Type Regional Edge value via the 'site_type_regional_edge' parameter\n - id: configure-site_choice\n action: click\n selector: text('Configure')\n context: Site Choice section\n description: Open the Site Choice configuration ('Configure' is a link, not a button)\n - id: fill-site_choice-value\n action: fill\n selector: textbox\n value: \"{site_choice}\"\n description: Enter the Site Choice value via the 'site_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
348
348
|
"fast-acl/delete":
|
|
349
349
|
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-delete\nlabel: Delete Fast ACLs\nresource: fast-acl\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fast-acl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Fast ACLs')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
350
350
|
"fast-acl/read":
|
|
351
|
-
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-read\nlabel: Read Fast ACLs\nresource: fast-acl\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fast-acl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id:
|
|
351
|
+
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-read\nlabel: Read Fast ACLs\nresource: fast-acl\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fast-acl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
352
352
|
"fast-acl/update":
|
|
353
|
-
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-update\nlabel: Update Fast ACLs\nresource: fast-acl\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fast-acl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
353
|
+
"schema: urn:f5xc:console:workflow:v1\nid: fast-acl-update\nlabel: Update Fast ACLs\nresource: fast-acl\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fast-acl\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/fast_acls\n wait_for: text('Fast ACLs')\n description: Navigate to Fast ACLs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Fast ACLs')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
354
354
|
"fleet/create":
|
|
355
355
|
'schema: urn:f5xc:console:workflow:v1\nid: fleet-create\nlabel: Create Fleets\nresource: fleet\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Fleets name (lowercase alphanumeric and hyphens)\n example: example-fleet\n fleet_label_value:\n required: true\n description: Fleet Label Value\n select_bond_configuration:\n required: false\n description: Select Bond Configuration\n default: No Bond Devices\n select_interface_config:\n required: false\n description: Select Interface Config\n default: Default Interface Config\n select_storage_interface_configuration:\n required: false\n description: Select Storage Interface Configuration\n default: No Storage Interfaces\n select_storage_device_configuration:\n required: false\n description: Select Storage Device Configuration\n default: No Storage Devices\n select_configuration_for_storage_classes:\n required: false\n description: Select Configuration for Storage Classes\n default: Default Storage Class\n select_storage_static_routes:\n required: false\n description: Select Storage Static Routes\n default: No Storage Static Routes\n node_by_node_upgrade:\n required: false\n description: Node by Node Upgrade\n default: Enable\n upgrade_wait_time:\n required: false\n description: Upgrade Wait Time\n default: 300\n node_batch_size:\n required: false\n description: Node Batch Size\n default: Node Batch Size Count\n node_batch_size_count:\n required: false\n description: Node Batch Size Count\n default: 1\n sr_iov_interfaces:\n required: false\n description: SR-IOV interfaces\n default: Disable SR-IOV interfaces\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text(\'Fleets\')\n description: Navigate to Fleets list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Fleet\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Fleet tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: fill-fleet_label_value\n action: fill\n selector: textbox[name=\'Fleet Label Value\']\n value: "{fleet_label_value}"\n description: Enter Fleet Label Value\n - id: select-select_bond_configuration\n action: select\n selector: listbox\n context: Select Bond Configuration section\n value: "{select_bond_configuration}"\n description: Select Select Bond Configuration\n condition: params.select_bond_configuration is set\n - id: select-select_interface_config\n action: select\n selector: listbox\n context: Select Interface Config section\n value: "{select_interface_config}"\n description: Select Select Interface Config\n condition: params.select_interface_config is set\n - id: select-select_storage_interface_configuration\n action: select\n selector: listbox\n context: Select Storage Interface Configuration section\n value: "{select_storage_interface_configuration}"\n description: Select Select Storage Interface Configuration\n condition: params.select_storage_interface_configuration is set\n - id: select-select_storage_device_configuration\n action: select\n selector: listbox\n context: Select Storage Device Configuration section\n value: "{select_storage_device_configuration}"\n description: Select Select Storage Device Configuration\n condition: params.select_storage_device_configuration is set\n - id: select-select_configuration_for_storage_classes\n action: select\n selector: listbox\n context: Select Configuration for Storage Classes section\n value: "{select_configuration_for_storage_classes}"\n description: Select Select Configuration for Storage Classes\n condition: params.select_configuration_for_storage_classes is set\n - id: select-select_storage_static_routes\n action: select\n selector: listbox\n context: Select Storage Static Routes section\n value: "{select_storage_static_routes}"\n description: Select Select Storage Static Routes\n condition: params.select_storage_static_routes is set\n - id: select-node_by_node_upgrade\n action: select\n selector: listbox\n context: Node by Node Upgrade section\n value: "{node_by_node_upgrade}"\n description: Select Node by Node Upgrade\n condition: params.node_by_node_upgrade is set\n - id: fill-upgrade_wait_time\n action: fill\n selector: spinbutton[name=\'Upgrade Wait Time\']\n value: "{upgrade_wait_time}"\n description: "Set Upgrade Wait Time (default: 300)"\n condition: params.upgrade_wait_time is set\n - id: select-node_batch_size\n action: select\n selector: listbox\n context: Node Batch Size section\n value: "{node_batch_size}"\n description: Select Node Batch Size\n condition: params.node_batch_size is set\n - id: fill-node_batch_size_count\n action: fill\n selector: spinbutton[name=\'Node Batch Size Count\']\n value: "{node_batch_size_count}"\n description: "Set Node Batch Size Count (default: 1)"\n condition: params.node_batch_size_count is set\n - id: select-sr_iov_interfaces\n action: select\n selector: listbox\n context: SR-IOV interfaces section\n value: "{sr_iov_interfaces}"\n description: Select SR-IOV interfaces\n condition: params.sr_iov_interfaces is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
356
356
|
"fleet/delete":
|
|
357
357
|
"schema: urn:f5xc:console:workflow:v1\nid: fleet-delete\nlabel: Delete Fleets\nresource: fleet\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fleet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text('Fleets')\n description: Navigate to Fleets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Fleets')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
358
358
|
"fleet/read":
|
|
359
|
-
"schema: urn:f5xc:console:workflow:v1\nid: fleet-read\nlabel: Read Fleets\nresource: fleet\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fleet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text('Fleets')\n description: Navigate to Fleets list page\n - id:
|
|
359
|
+
"schema: urn:f5xc:console:workflow:v1\nid: fleet-read\nlabel: Read Fleets\nresource: fleet\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fleet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text('Fleets')\n description: Navigate to Fleets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
360
360
|
"fleet/update":
|
|
361
|
-
"schema: urn:f5xc:console:workflow:v1\nid: fleet-update\nlabel: Update Fleets\nresource: fleet\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fleet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text('Fleets')\n description: Navigate to Fleets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
361
|
+
"schema: urn:f5xc:console:workflow:v1\nid: fleet-update\nlabel: Update Fleets\nresource: fleet\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-fleet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/fleets\n wait_for: text('Fleets')\n description: Navigate to Fleets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Fleets')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
362
362
|
"forward-proxy-policy/create":
|
|
363
|
-
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-create\nlabel: Create Forward Proxy Policies\nresource: forward-proxy-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Forward Proxy Policies name (lowercase alphanumeric and hyphens)\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-
|
|
363
|
+
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-create\nlabel: Create Forward Proxy Policies\nresource: forward-proxy-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Forward Proxy Policies name (lowercase alphanumeric and hyphens)\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/forward_proxy_policy\n wait_for: text('Forward Proxy Policies')\n description: Navigate to Forward Proxy Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Forward Proxy Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Forward Proxy Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
364
364
|
"forward-proxy-policy/delete":
|
|
365
|
-
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-delete\nlabel: Delete Forward Proxy Policies\nresource: forward-proxy-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-
|
|
365
|
+
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-delete\nlabel: Delete Forward Proxy Policies\nresource: forward-proxy-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/forward_proxy_policy\n wait_for: text('Forward Proxy Policies')\n description: Navigate to Forward Proxy Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Forward Proxy Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
366
366
|
"forward-proxy-policy/read":
|
|
367
|
-
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-read\nlabel: Read Forward Proxy Policies\nresource: forward-proxy-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-
|
|
367
|
+
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-read\nlabel: Read Forward Proxy Policies\nresource: forward-proxy-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/forward_proxy_policy\n wait_for: text('Forward Proxy Policies')\n description: Navigate to Forward Proxy Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
368
368
|
"forward-proxy-policy/update":
|
|
369
|
-
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-update\nlabel: Update Forward Proxy Policies\nresource: forward-proxy-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-
|
|
369
|
+
"schema: urn:f5xc:console:workflow:v1\nid: forward-proxy-policy-update\nlabel: Update Forward Proxy Policies\nresource: forward-proxy-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-forward-proxy-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/forward_proxy_policy\n wait_for: text('Forward Proxy Policies')\n description: Navigate to Forward Proxy Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Forward Proxy Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
370
370
|
"gcp-vpc-site/create":
|
|
371
|
-
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-create\nlabel: Create GCP VPC Sites\nresource: gcp-vpc-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: GCP VPC Sites name (lowercase alphanumeric and hyphens)\n example: example-gcp-vpc-site\n gcp_credentials:\n required: true\n description: GCP Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add GCP VPC Site')\n wait_for: textbox[name='Name']\n description: Click the Add GCP VPC Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: attach-gcp_credentials\n action: click\n selector: button:text('Add Item')\n context: GCP Credentials section\n condition: params.gcp_credentials is set\n description: Attach GCP Credentials (references a resource)\n then:\n - id: select-gcp_credentials\n action: select\n selector: listbox\n context: GCP Credentials selector\n value: \"{gcp_credentials}\"\n description: Select the GCP Credentials\n - id: apply-gcp_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm GCP Credentials selection\n - id: configure-deployment\n action: click\n selector:
|
|
371
|
+
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-create\nlabel: Create GCP VPC Sites\nresource: gcp-vpc-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: GCP VPC Sites name (lowercase alphanumeric and hyphens)\n example: example-gcp-vpc-site\n gcp_credentials:\n required: true\n description: GCP Credentials\n deployment:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add GCP VPC Site')\n wait_for: textbox[name='Name']\n description: Click the Add GCP VPC Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: attach-gcp_credentials\n action: click\n selector: button:text('Add Item')\n context: GCP Credentials section\n condition: params.gcp_credentials is set\n description: Attach GCP Credentials (references a resource)\n then:\n - id: select-gcp_credentials\n action: select\n selector: listbox\n context: GCP Credentials selector\n value: \"{gcp_credentials}\"\n description: Select the GCP Credentials\n - id: apply-gcp_credentials\n action: click\n selector: button:text('Apply')\n description: Confirm GCP Credentials selection\n - id: configure-deployment\n action: click\n selector: text('Configure')\n context: Deployment section\n description: Open the Deployment configuration ('Configure' is a link, not a button)\n - id: fill-deployment-value\n action: fill\n selector: textbox\n value: \"{deployment}\"\n description: Enter the Deployment value via the 'deployment' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
372
372
|
"gcp-vpc-site/delete":
|
|
373
373
|
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-delete\nlabel: Delete GCP VPC Sites\nresource: gcp-vpc-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-gcp-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('GCP VPC Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
374
374
|
"gcp-vpc-site/read":
|
|
375
|
-
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-read\nlabel: Read GCP VPC Sites\nresource: gcp-vpc-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-gcp-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id:
|
|
375
|
+
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-read\nlabel: Read GCP VPC Sites\nresource: gcp-vpc-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-gcp-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
376
376
|
"gcp-vpc-site/update":
|
|
377
|
-
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-update\nlabel: Update GCP VPC Sites\nresource: gcp-vpc-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-gcp-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
377
|
+
"schema: urn:f5xc:console:workflow:v1\nid: gcp-vpc-site-update\nlabel: Update GCP VPC Sites\nresource: gcp-vpc-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-gcp-vpc-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/gcp_vpc_site\n wait_for: text('GCP VPC Sites')\n description: Navigate to GCP VPC Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('GCP VPC Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
378
378
|
"geo-location-set/create":
|
|
379
379
|
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-create\nlabel: Create Geo-Location Sets\nresource: geo-location-set\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Geo-Location Sets name (lowercase alphanumeric and hyphens)\n example: example-geo-location-set\n geolocation_label_selector:\n required: false\n description: Geolocation Label Selector\n default: Global Geolocation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Geo-Location Set')\n wait_for: textbox[name='Name']\n description: Click the Add Geo-Location Set tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-geolocation_label_selector\n action: select\n selector: listbox\n context: Geolocation Label Selector section\n value: \"{geolocation_label_selector}\"\n description: Select Geolocation Label Selector\n condition: params.geolocation_label_selector is set\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
380
380
|
"geo-location-set/delete":
|
|
381
381
|
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-delete\nlabel: Delete Geo-Location Sets\nresource: geo-location-set\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-geo-location-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Geo-Location Sets')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
382
382
|
"geo-location-set/read":
|
|
383
|
-
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-read\nlabel: Read Geo-Location Sets\nresource: geo-location-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-geo-location-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id:
|
|
383
|
+
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-read\nlabel: Read Geo-Location Sets\nresource: geo-location-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-geo-location-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
384
384
|
"geo-location-set/update":
|
|
385
|
-
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-update\nlabel: Update Geo-Location Sets\nresource: geo-location-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-geo-location-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
385
|
+
"schema: urn:f5xc:console:workflow:v1\nid: geo-location-set-update\nlabel: Update Geo-Location Sets\nresource: geo-location-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-geo-location-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/dns-management/manage/dns_lb_management/geo_location_set\n wait_for: text('Geo-Location Sets')\n description: Navigate to Geo-Location Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Geo-Location Sets')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
386
386
|
"global-log-receiver/create":
|
|
387
|
-
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-create\nlabel: Create Global Log Receivers\nresource: global-log-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Global Log Receivers name (lowercase alphanumeric and hyphens)\n example: example-global-log-receiver\n receiver_configuration:\n required: true\n description: Receiver Configuration\n log_type:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
387
|
+
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-create\nlabel: Create Global Log Receivers\nresource: global-log-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Global Log Receivers name (lowercase alphanumeric and hyphens)\n example: example-global-log-receiver\n receiver_configuration:\n required: true\n description: Receiver Configuration\n log_type:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Global Log Receivers')\n description: Navigate to Global Log Receivers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Global Log Receiver')\n wait_for: textbox[name='Name']\n description: Click the Add Global Log Receiver tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-receiver_configuration\n action: click\n selector: text('Configure')\n context: Receiver Configuration section\n description: Open the Receiver Configuration configuration ('Configure' is a link, not a button)\n - id: fill-receiver_configuration-value\n action: fill\n selector: textbox\n value: \"{receiver_configuration}\"\n description: Enter the Receiver Configuration value via the 'receiver_configuration' parameter\n - id: configure-log_type\n action: click\n selector: text('Configure')\n context: Log Type section\n description: Open the Log Type configuration ('Configure' is a link, not a button)\n - id: fill-log_type-value\n action: fill\n selector: textbox\n value: \"{log_type}\"\n description: Enter the Log Type value via the 'log_type' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
388
388
|
"global-log-receiver/delete":
|
|
389
|
-
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-delete\nlabel: Delete Global Log Receivers\nresource: global-log-receiver\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
389
|
+
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-delete\nlabel: Delete Global Log Receivers\nresource: global-log-receiver\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Global Log Receivers')\n description: Navigate to Global Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Global Log Receivers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
390
390
|
"global-log-receiver/read":
|
|
391
|
-
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-read\nlabel: Read Global Log Receivers\nresource: global-log-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
391
|
+
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-read\nlabel: Read Global Log Receivers\nresource: global-log-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Global Log Receivers')\n description: Navigate to Global Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
392
392
|
"global-log-receiver/update":
|
|
393
|
-
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-update\nlabel: Update Global Log Receivers\nresource: global-log-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
393
|
+
"schema: urn:f5xc:console:workflow:v1\nid: global-log-receiver-update\nlabel: Update Global Log Receivers\nresource: global-log-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-global-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Global Log Receivers')\n description: Navigate to Global Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Global Log Receivers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
394
394
|
"health-check/create":
|
|
395
395
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "health-check-create"\nlabel: "Create Health Check"\nresource: "health-check"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "Health check name (lowercase alphanumeric and hyphens)"\n example: "example-health-check"\n health_check_type:\n required: false\n description: "Health check protocol type"\n example: "HTTP HealthCheck"\n default: "HTTP HealthCheck"\n timeout:\n required: false\n type: "number"\n description: "Timeout for each health check probe in seconds"\n example: 3\n default: 3\n interval:\n required: false\n type: "number"\n description: "Interval between health check probes in seconds"\n example: 15\n default: 15\n unhealthy_threshold:\n required: false\n type: "number"\n description: "Number of consecutive failures before marking unhealthy"\n example: 1\n default: 1\n healthy_threshold:\n required: false\n type: "number"\n description: "Number of consecutive successes before marking healthy"\n example: 3\n default: 3\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks"\n wait_for: "text(\'Health Checks\')"\n description: "Navigate to Health Checks list page within Web App & API Protection workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add Health Check\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add Health Check tab to open the inline create form"\n note: "This is a tab element, not a button"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the health check name in the Name textbox"\n\n - id: "select-type"\n condition: "params.health_check_type is set"\n action: "select"\n selector: "listbox"\n context: "Health Check Parameters section"\n value: "{health_check_type}"\n description: "Select the health check type (HTTP HealthCheck or TCP HealthCheck)"\n\n - id: "set-timeout"\n condition: "params.timeout is set"\n action: "fill"\n selector: "spinbutton[name=\'Timeout\']"\n value: "{timeout}"\n description: "Set the health check timeout value"\n\n - id: "set-interval"\n condition: "params.interval is set"\n action: "fill"\n selector: "spinbutton[name=\'Interval\']"\n value: "{interval}"\n description: "Set the health check interval value"\n\n - id: "set-unhealthy-threshold"\n condition: "params.unhealthy_threshold is set"\n action: "fill"\n selector: "spinbutton[name=\'Unhealthy Threshold\']"\n value: "{unhealthy_threshold}"\n description: "Set the unhealthy threshold value"\n\n - id: "set-healthy-threshold"\n condition: "params.healthy_threshold is set"\n action: "fill"\n selector: "spinbutton[name=\'Healthy Threshold\']"\n value: "{healthy_threshold}"\n description: "Set the healthy threshold value"\n\n - id: "save"\n action: "click"\n selector: "[class*=\'save-bt\']"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add Health Check button to save. The \'button\' role disambiguates the footer save button from the same-named tab, so no section context is needed. The wait_for confirms the new resource\'s name appears in the list, which is the creation verification."\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-18"\n console_version: "2025.06"\n estimated_duration_seconds: 25\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist. Has Show Advanced Fields toggle for additional parameters."\n',
|
|
396
396
|
"health-check/delete":
|
|
397
397
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "health-check-delete"\nlabel: "Delete Health Check"\nresource: "health-check"\noperation: "delete"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n - "resource_exists: {name}"\n\nparams:\n namespace:\n required: true\n description: "Namespace containing the health check"\n example: "demo"\n name:\n required: true\n description: "Name of the health check to delete"\n example: "example-health-check"\n\n# Selectors discovered against the live console 2026-06-22. The console has NO\n# data-testid attributes; it uses ves-e2e-test. The per-row actions menu is a\n# shared CrudComponent: a kebab button opens a listbox whose options include\n# Delete, which opens a confirmation dialog with Cancel / Delete buttons.\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks"\n wait_for: "text(\'Health Checks\')"\n description: "Navigate to the Health Check list page (Web App & API Protection workspace)"\n\n - id: "scroll-actions-into-view"\n action: "scroll"\n selector: "row:has-text(\'{name}\') >> [ves-e2e-test=\'row-action-dropdown\']"\n context: "row containing {name}"\n description: "The data table is wider than the viewport and the Actions column sits off-screen-right; scroll the row\'s actions button into view before clicking. Avoids enlarging the window."\n note: "For a multi-row list, scope to the datatable-body-row whose cells contain {name}; for a single-row list the first row-action-dropdown is the target."\n\n - id: "open-row-actions"\n action: "click"\n selector: "row:has-text(\'{name}\') >> [ves-e2e-test=\'row-action-dropdown\']"\n context: "row containing {name}"\n wait_for: "option:text(\'Delete\')"\n description: "Click the row kebab to open the actions listbox. Requires a trusted (CDP) click — synthetic JS clicks fire outside Angular\'s zone and never render the overlay."\n\n - id: "click-delete"\n action: "click"\n selector: "option:text(\'Delete\')"\n wait_for: "button:text(\'Delete\')"\n description: "Click the Delete option (ves-e2e-test=\'row-action-item-delete\') to open the confirmation dialog."\n\n - id: "confirm-delete"\n action: "click"\n selector: "button:text(\'Delete\')"\n context: "confirmation dialog"\n wait_for: "text(\'Health Checks\')"\n wait_timeout_ms: 15000\n description: "Click the dialog\'s Delete button to confirm. Cancel via button:text(\'Cancel\') aborts without deleting."\n\n - id: "verify-on-list"\n action: "assert"\n selector: "text(\'Health Checks\')"\n description: "Confirm the list page is shown after deletion. (Run-time read-back verifies {name} is absent; assert checks presence, so it targets the list heading, not the removed row.)"\n\npostconditions:\n - "resource_removed_from_list"\n - "list_page_visible"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-22"\n console_version: "2025.06"\n estimated_duration_seconds: 15\n selector_scheme: "ves-e2e-test + aria (no data-testid exists)"\n notes: "Validated end-to-end on the live nferreira staging tenant 2026-06-22 (UI delete confirmed; list row removed and API GET returned 404)."\n',
|
|
398
398
|
"health-check/read":
|
|
399
|
-
"schema: urn:f5xc:console:workflow:v1\nid: health-check-read\nlabel: Read Health Checks\nresource: health-check\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\n wait_for: text('Health Checks')\n description: Navigate to Health Checks list page\n - id:
|
|
399
|
+
"schema: urn:f5xc:console:workflow:v1\nid: health-check-read\nlabel: Read Health Checks\nresource: health-check\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\n wait_for: text('Health Checks')\n description: Navigate to Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
400
400
|
"health-check/update":
|
|
401
|
-
"schema: urn:f5xc:console:workflow:v1\nid: health-check-update\nlabel: Update Health Checks\nresource: health-check\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\n wait_for: text('Health Checks')\n description: Navigate to Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
401
|
+
"schema: urn:f5xc:console:workflow:v1\nid: health-check-update\nlabel: Update Health Checks\nresource: health-check\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-health-check\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\n wait_for: text('Health Checks')\n description: Navigate to Health Checks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Health Checks')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
402
402
|
"http-load-balancer/clone":
|
|
403
403
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "http-load-balancer-clone"\nlabel: "Clone HTTP Load Balancer"\nresource: "http-load-balancer"\noperation: "clone"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n - "resource_exists: {name}"\n\nparams:\n namespace:\n required: true\n description: "Namespace containing the source load balancer"\n example: "demo"\n name:\n required: true\n description: "Name of the source load balancer to clone"\n example: "example-http-lb"\n new_name:\n required: true\n description: "Name for the cloned load balancer"\n example: "example-http-lb-copy"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/namespace/{namespace}/load-balancers/http"\n wait_for: "[data-testid=\'resource-table\']"\n description: "Navigate to HTTP Load Balancer list page"\n\n - id: "find-row"\n action: "assert"\n selector: "[data-testid=\'resource-row-{name}\']"\n expected_text: "{name}"\n description: "Locate the source resource row in the table"\n\n - id: "open-actions"\n action: "click"\n selector: "[data-testid=\'resource-row-{name}\'] [data-testid=\'row-actions\']"\n wait_for: "[data-testid=\'action-clone\']"\n description: "Open the row actions menu"\n\n - id: "click-clone"\n action: "click"\n selector: "[data-testid=\'action-clone\']"\n wait_for: "input[data-testid=\'name-input\']"\n description: "Click Clone to open the clone form pre-filled with source values"\n\n - id: "clear-name"\n action: "fill"\n selector: "input[data-testid=\'name-input\']"\n value: ""\n description: "Clear the pre-filled name field"\n\n - id: "fill-new-name"\n action: "fill"\n selector: "input[data-testid=\'name-input\']"\n value: "{new_name}"\n description: "Enter the new name for the cloned load balancer"\n\n - id: "save"\n action: "click"\n selector: "[data-testid=\'save-and-exit\']"\n wait_for: "[data-testid=\'resource-detail\']"\n wait_timeout_ms: 30000\n description: "Save the cloned load balancer and wait for the detail page"\n\n - id: "verify-cloned"\n action: "assert"\n selector: "[data-testid=\'resource-name\']"\n expected_text: "{new_name}"\n description: "Verify the cloned resource was created with the new name"\n\npostconditions:\n - "resource_detail_page_visible"\n - "resource_name_matches: {new_name}"\n\nmetadata:\n confidence: "draft"\n discovered_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 20\n notes: "Selectors are placeholders — must be validated against the live console"\n',
|
|
404
404
|
"http-load-balancer/create":
|
|
@@ -408,9 +408,9 @@ export const CONSOLE_CATALOG_DATA: ConsoleCatalogData = {
|
|
|
408
408
|
"http-load-balancer/edit":
|
|
409
409
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "http-load-balancer-edit"\nlabel: "Edit HTTP Load Balancer"\nresource: "http-load-balancer"\noperation: "update"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n - "resource_exists: {name}"\n\nparams:\n namespace:\n required: true\n description: "Namespace containing the load balancer"\n example: "demo"\n name:\n required: true\n description: "Name of the load balancer to edit"\n example: "example-http-lb"\n description:\n required: false\n description: "Updated description for the load balancer"\n example: "Production HTTP LB"\n domains:\n required: false\n type: "string[]"\n description: "Updated list of domains"\n example: ["app.example.com"]\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/namespace/{namespace}/load-balancers/http"\n wait_for: "[data-testid=\'resource-table\']"\n description: "Navigate to HTTP Load Balancer list page"\n\n - id: "find-row"\n action: "assert"\n selector: "[data-testid=\'resource-row-{name}\']"\n expected_text: "{name}"\n description: "Locate the target resource row in the table"\n\n - id: "open-actions"\n action: "click"\n selector: "[data-testid=\'resource-row-{name}\'] [data-testid=\'row-actions\']"\n wait_for: "[data-testid=\'action-edit\']"\n description: "Open the row actions menu"\n\n - id: "click-edit"\n action: "click"\n selector: "[data-testid=\'action-edit\']"\n wait_for: "input[data-testid=\'name-input\']"\n description: "Click Edit to open the edit form"\n\n - id: "update-description"\n condition: "params.description is set"\n action: "fill"\n selector: "textarea[data-testid=\'description-input\']"\n value: "{description}"\n description: "Update the description field"\n\n - id: "update-domains"\n condition: "params.domains is set"\n action: "fill-list"\n selector: "[data-testid=\'domains-input\']"\n values: "{domains}"\n description: "Update the domains list"\n\n - id: "save"\n action: "click"\n selector: "[data-testid=\'save-and-exit\']"\n wait_for: "[data-testid=\'resource-detail\']"\n wait_timeout_ms: 30000\n description: "Save changes and wait for the detail page"\n\n - id: "verify-updated"\n action: "assert"\n selector: "[data-testid=\'resource-name\']"\n expected_text: "{name}"\n description: "Verify the resource detail page shows the correct name after update"\n\npostconditions:\n - "resource_updated"\n - "resource_detail_page_visible"\n - "resource_name_matches: {name}"\n\nmetadata:\n confidence: "draft"\n discovered_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 20\n notes: "Selectors are placeholders — must be validated against the live console"\n',
|
|
410
410
|
"http-load-balancer/read":
|
|
411
|
-
"schema: urn:f5xc:console:workflow:v1\nid: http-load-balancer-read\nlabel: Read HTTP Load Balancers\nresource: http-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-http-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\n wait_for: text('HTTP Load Balancers')\n description: Navigate to HTTP Load Balancers list page\n - id:
|
|
411
|
+
"schema: urn:f5xc:console:workflow:v1\nid: http-load-balancer-read\nlabel: Read HTTP Load Balancers\nresource: http-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-http-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\n wait_for: text('HTTP Load Balancers')\n description: Navigate to HTTP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
412
412
|
"http-load-balancer/update":
|
|
413
|
-
"schema: urn:f5xc:console:workflow:v1\nid: http-load-balancer-update\nlabel: Update HTTP Load Balancers\nresource: http-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-http-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\n wait_for: text('HTTP Load Balancers')\n description: Navigate to HTTP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
413
|
+
"schema: urn:f5xc:console:workflow:v1\nid: http-load-balancer-update\nlabel: Update HTTP Load Balancers\nresource: http-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-http-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\n wait_for: text('HTTP Load Balancers')\n description: Navigate to HTTP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('HTTP Load Balancers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
414
414
|
"http-load-balancer/view":
|
|
415
415
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "http-load-balancer-view"\nlabel: "View HTTP Load Balancer"\nresource: "http-load-balancer"\noperation: "read"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "resource_exists: {name}"\n\nparams:\n namespace:\n required: true\n description: "Namespace containing the load balancer"\n example: "demo"\n name:\n required: true\n description: "Name of the load balancer to view"\n example: "example-http-lb"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/namespace/{namespace}/load-balancers/http"\n wait_for: "[data-testid=\'resource-table\']"\n description: "Navigate to HTTP Load Balancer list page"\n\n - id: "find-row"\n action: "assert"\n selector: "[data-testid=\'resource-row-{name}\']"\n expected_text: "{name}"\n description: "Locate the target resource row in the table"\n\n - id: "click-name-link"\n action: "click"\n selector: "[data-testid=\'resource-row-{name}\'] [data-testid=\'resource-name-link\']"\n wait_for: "[data-testid=\'resource-detail\']"\n description: "Click the resource name link to open the detail page"\n\n - id: "wait-for-detail"\n action: "wait"\n selector: "[data-testid=\'resource-detail\']"\n wait_timeout_ms: 15000\n description: "Wait for the resource detail page to fully load"\n\n - id: "assert-name"\n action: "assert"\n selector: "[data-testid=\'resource-name\']"\n expected_text: "{name}"\n description: "Verify the correct resource name is displayed on the detail page"\n\n - id: "assert-summary-tab"\n action: "assert"\n selector: "[data-testid=\'tab-summary\']"\n description: "Verify the Summary tab is present"\n\n - id: "assert-json-tab"\n action: "assert"\n selector: "[data-testid=\'tab-json\']"\n description: "Verify the JSON tab is present"\n\n - id: "assert-documentation-tab"\n action: "assert"\n selector: "[data-testid=\'tab-documentation\']"\n description: "Verify the Documentation tab is present"\n\npostconditions:\n - "resource_detail_page_visible"\n - "resource_name_matches: {name}"\n\nmetadata:\n confidence: "draft"\n discovered_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 10\n notes: "Selectors are placeholders — must be validated against the live console"\n',
|
|
416
416
|
"ike-gateway/create":
|
|
@@ -418,409 +418,409 @@ export const CONSOLE_CATALOG_DATA: ConsoleCatalogData = {
|
|
|
418
418
|
"ike-gateway/delete":
|
|
419
419
|
"schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-delete\nlabel: Delete IKE Profiles\nresource: ike-gateway\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ike-gateway\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/ike_profiles\n wait_for: text('IKE Profiles')\n description: Navigate to IKE Profiles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('IKE Profiles')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
420
420
|
"ike-gateway/read":
|
|
421
|
-
"schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-read\nlabel: Read IKE Profiles\nresource: ike-gateway\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ike-gateway\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/ike_profiles\n wait_for: text('IKE Profiles')\n description: Navigate to IKE Profiles list page\n - id:
|
|
421
|
+
"schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-read\nlabel: Read IKE Profiles\nresource: ike-gateway\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ike-gateway\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/ike_profiles\n wait_for: text('IKE Profiles')\n description: Navigate to IKE Profiles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
422
422
|
"ike-gateway/update":
|
|
423
|
-
"schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-update\nlabel: Update IKE Profiles\nresource: ike-gateway\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ike-gateway\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/ike_profiles\n wait_for: text('IKE Profiles')\n description: Navigate to IKE Profiles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
423
|
+
"schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-update\nlabel: Update IKE Profiles\nresource: ike-gateway\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ike-gateway\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/external_connectivity/ike_profiles\n wait_for: text('IKE Profiles')\n description: Navigate to IKE Profiles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('IKE Profiles')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
424
424
|
"ip-prefix-set/create":
|
|
425
425
|
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-create\nlabel: Create IP Prefix Sets\nresource: ip-prefix-set\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: IP Prefix Sets name (lowercase alphanumeric and hyphens)\n example: example-ip-prefix-set\n prefix:\n required: true\n description: IP prefixes — Add Item creates an inline row (NO Apply button). Fill IPv4 Prefix directly.\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add IP Prefix Set')\n wait_for: textbox[name='Name']\n description: Click the Add IP Prefix Set tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: add-prefix\n action: click\n selector: button:text('Add Item')\n context: Prefix section\n description: Add Prefix entry (inline row, no Apply)\n then:\n - id: fill-prefix-value\n action: fill\n selector: textbox[name='IPv4 Prefix']\n value: \"{prefix}\"\n description: Enter IPv4 Prefix for the Prefix entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
426
426
|
"ip-prefix-set/delete":
|
|
427
427
|
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-delete\nlabel: Delete IP Prefix Sets\nresource: ip-prefix-set\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ip-prefix-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('IP Prefix Sets')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
428
428
|
"ip-prefix-set/read":
|
|
429
|
-
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-read\nlabel: Read IP Prefix Sets\nresource: ip-prefix-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ip-prefix-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id:
|
|
429
|
+
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-read\nlabel: Read IP Prefix Sets\nresource: ip-prefix-set\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ip-prefix-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
430
430
|
"ip-prefix-set/update":
|
|
431
|
-
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-update\nlabel: Update IP Prefix Sets\nresource: ip-prefix-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ip-prefix-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
431
|
+
"schema: urn:f5xc:console:workflow:v1\nid: ip-prefix-set-update\nlabel: Update IP Prefix Sets\nresource: ip-prefix-set\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-ip-prefix-set\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n wait_for: text('IP Prefix Sets')\n description: Navigate to IP Prefix Sets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('IP Prefix Sets')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
432
432
|
"k8s-cluster/create":
|
|
433
433
|
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-create\nlabel: Create K8s Clusters\nresource: k8s-cluster\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: K8s Clusters name (lowercase alphanumeric and hyphens)\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add K8s Cluster')\n wait_for: textbox[name='Name']\n description: Click the Add K8s Cluster tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
434
434
|
"k8s-cluster/delete":
|
|
435
435
|
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-delete\nlabel: Delete K8s Clusters\nresource: k8s-cluster\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('K8s Clusters')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
436
436
|
"k8s-cluster/read":
|
|
437
|
-
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-read\nlabel: Read K8s Clusters\nresource: k8s-cluster\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id:
|
|
437
|
+
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-read\nlabel: Read K8s Clusters\nresource: k8s-cluster\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
438
438
|
"k8s-cluster/update":
|
|
439
|
-
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-update\nlabel: Update K8s Clusters\nresource: k8s-cluster\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
439
|
+
"schema: urn:f5xc:console:workflow:v1\nid: k8s-cluster-update\nlabel: Update K8s Clusters\nresource: k8s-cluster\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-k8s-cluster\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n wait_for: text('K8s Clusters')\n description: Navigate to K8s Clusters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('K8s Clusters')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
440
440
|
"log-receiver/create":
|
|
441
|
-
'schema: urn:f5xc:console:workflow:v1\nid: log-receiver-create\nlabel: Create Log Receivers\nresource: log-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Log Receivers name (lowercase alphanumeric and hyphens)\n example: example-log-receiver\n log_receiver:\n required: false\n description: Log Receiver\n default: Syslog Server\n syslog_transport_mode:\n required: false\n description: Syslog Transport Mode\n default: Mode UDP\n server_name:\n required: true\n description: Server name\n port_number:\n required: false\n description: Port Number\n default: 514\n log_receiver_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text(\'Log Receivers\')\n description: Navigate to Log Receivers list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Log Receiver\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Log Receiver tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-log_receiver\n action: select\n selector: listbox\n context: Log Receiver section\n value: "{log_receiver}"\n description: Select Log Receiver\n condition: params.log_receiver is set\n - id: select-syslog_transport_mode\n action: select\n selector: listbox\n context: Syslog Transport Mode section\n value: "{syslog_transport_mode}"\n description: Select Syslog Transport Mode\n condition: params.syslog_transport_mode is set\n - id: fill-server_name\n action: fill\n selector: textbox[name=\'Server name\']\n value: "{server_name}"\n description: Enter Server name\n - id: fill-port_number\n action: fill\n selector: spinbutton[name=\'Port Number\']\n value: "{port_number}"\n description: "Set Port Number (default: 514)"\n condition: params.port_number is set\n - id: configure-log_receiver_choice\n action: click\n selector:
|
|
441
|
+
'schema: urn:f5xc:console:workflow:v1\nid: log-receiver-create\nlabel: Create Log Receivers\nresource: log-receiver\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Log Receivers name (lowercase alphanumeric and hyphens)\n example: example-log-receiver\n log_receiver:\n required: false\n description: Log Receiver\n default: Syslog Server\n syslog_transport_mode:\n required: false\n description: Syslog Transport Mode\n default: Mode UDP\n server_name:\n required: true\n description: Server name\n port_number:\n required: false\n description: Port Number\n default: 514\n log_receiver_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text(\'Log Receivers\')\n description: Navigate to Log Receivers list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Log Receiver\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Log Receiver tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-log_receiver\n action: select\n selector: listbox\n context: Log Receiver section\n value: "{log_receiver}"\n description: Select Log Receiver\n condition: params.log_receiver is set\n - id: select-syslog_transport_mode\n action: select\n selector: listbox\n context: Syslog Transport Mode section\n value: "{syslog_transport_mode}"\n description: Select Syslog Transport Mode\n condition: params.syslog_transport_mode is set\n - id: fill-server_name\n action: fill\n selector: textbox[name=\'Server name\']\n value: "{server_name}"\n description: Enter Server name\n - id: fill-port_number\n action: fill\n selector: spinbutton[name=\'Port Number\']\n value: "{port_number}"\n description: "Set Port Number (default: 514)"\n condition: params.port_number is set\n - id: configure-log_receiver_choice\n action: click\n selector: text(\'Configure\')\n context: Log Receiver Choice section\n description: Open the Log Receiver Choice configuration (\'Configure\' is a link, not a button)\n - id: fill-log_receiver_choice-value\n action: fill\n selector: textbox\n value: "{log_receiver_choice}"\n description: Enter the Log Receiver Choice value via the \'log_receiver_choice\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
442
442
|
"log-receiver/delete":
|
|
443
443
|
"schema: urn:f5xc:console:workflow:v1\nid: log-receiver-delete\nlabel: Delete Log Receivers\nresource: log-receiver\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Log Receivers')\n description: Navigate to Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Log Receivers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
444
444
|
"log-receiver/read":
|
|
445
|
-
"schema: urn:f5xc:console:workflow:v1\nid: log-receiver-read\nlabel: Read Log Receivers\nresource: log-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Log Receivers')\n description: Navigate to Log Receivers list page\n - id:
|
|
445
|
+
"schema: urn:f5xc:console:workflow:v1\nid: log-receiver-read\nlabel: Read Log Receivers\nresource: log-receiver\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Log Receivers')\n description: Navigate to Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
446
446
|
"log-receiver/update":
|
|
447
|
-
"schema: urn:f5xc:console:workflow:v1\nid: log-receiver-update\nlabel: Update Log Receivers\nresource: log-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Log Receivers')\n description: Navigate to Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
447
|
+
"schema: urn:f5xc:console:workflow:v1\nid: log-receiver-update\nlabel: Update Log Receivers\nresource: log-receiver\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-log-receiver\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/log_management/log_receivers\n wait_for: text('Log Receivers')\n description: Navigate to Log Receivers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Log Receivers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
448
448
|
"malicious-user-mitigation/create":
|
|
449
449
|
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-create\nlabel: Create Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Malicious User Mitigation name (lowercase alphanumeric and hyphens)\n example: example-malicious-user-mitigation\n rules:\n required: true\n description: \"At least one mitigation rule is required. Server error: 'Field Rules in Mitigation Rules is required.'\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Malicious User Mitigation')\n wait_for: textbox[name='Name']\n description: Click the Add Malicious User Mitigation tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: add-rules\n action: click\n selector: button:text('Add Item')\n context: Rules section\n description: Add Rules entry\n then:\n - id: fill-rules-value\n action: fill\n selector: textbox\n value: \"{rules}\"\n description: Fill the first required field in the Rules sub-form (the agent should provide a value via the 'rules'\n parameter)\n - id: apply-rules\n action: click\n selector: button:text('Apply')\n description: Confirm Rules entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
450
450
|
"malicious-user-mitigation/delete":
|
|
451
451
|
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-delete\nlabel: Delete Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-malicious-user-mitigation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Malicious User Mitigation')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
452
452
|
"malicious-user-mitigation/read":
|
|
453
|
-
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-read\nlabel: Read Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-malicious-user-mitigation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id:
|
|
453
|
+
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-read\nlabel: Read Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-malicious-user-mitigation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
454
454
|
"malicious-user-mitigation/update":
|
|
455
|
-
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-update\nlabel: Update Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-malicious-user-mitigation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
455
|
+
"schema: urn:f5xc:console:workflow:v1\nid: malicious-user-mitigation-update\nlabel: Update Malicious User Mitigation\nresource: malicious-user-mitigation\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-malicious-user-mitigation\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n wait_for: text('Malicious User Mitigation')\n description: Navigate to Malicious User Mitigation list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Malicious User Mitigation')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
456
456
|
"mcn-secret-policy-rule/create":
|
|
457
457
|
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-create\nlabel: Create Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secret Policy Rules name (lowercase alphanumeric and hyphens)\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Secret Policy Rule')\n wait_for: textbox[name='Name']\n description: Click the Add Secret Policy Rule tab to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
458
458
|
"mcn-secret-policy-rule/delete":
|
|
459
459
|
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-delete\nlabel: Delete Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Secret Policy Rules')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
460
460
|
"mcn-secret-policy-rule/read":
|
|
461
|
-
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-read\nlabel: Read Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id:
|
|
461
|
+
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-read\nlabel: Read Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
462
462
|
"mcn-secret-policy-rule/update":
|
|
463
|
-
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-update\nlabel: Update Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
463
|
+
"schema: urn:f5xc:console:workflow:v1\nid: mcn-secret-policy-rule-update\nlabel: Update Secret Policy Rules\nresource: mcn-secret-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-mcn-secret-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policy_rules\n wait_for: text('Secret Policy Rules')\n description: Navigate to Secret Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Secret Policy Rules')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
464
464
|
"namespace/create":
|
|
465
|
-
|
|
465
|
+
"schema: urn:f5xc:console:workflow:v1\nid: namespace-create\nlabel: Create My Namespaces\nresource: namespace\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: My Namespaces name (lowercase alphanumeric and hyphens)\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Namespace')\n wait_for: textbox[name='Name']\n description: Click the Add Namespace tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Submit via the primary submit button (Administration forms have no save-bt)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
466
466
|
"namespace/delete":
|
|
467
467
|
"schema: urn:f5xc:console:workflow:v1\nid: namespace-delete\nlabel: Delete My Namespaces\nresource: namespace\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('My Namespaces')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
468
468
|
"namespace/read":
|
|
469
|
-
"schema: urn:f5xc:console:workflow:v1\nid: namespace-read\nlabel: Read My Namespaces\nresource: namespace\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id:
|
|
469
|
+
"schema: urn:f5xc:console:workflow:v1\nid: namespace-read\nlabel: Read My Namespaces\nresource: namespace\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
470
470
|
"namespace/update":
|
|
471
|
-
"schema: urn:f5xc:console:workflow:v1\nid: namespace-update\nlabel: Update My Namespaces\nresource: namespace\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
471
|
+
"schema: urn:f5xc:console:workflow:v1\nid: namespace-update\nlabel: Update My Namespaces\nresource: namespace\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-namespace\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/personal-management/namespaces\n wait_for: text('My Namespaces')\n description: Navigate to My Namespaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('My Namespaces')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
472
472
|
"nat-policy/create":
|
|
473
|
-
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-create\nlabel: Create NAT Policies\nresource: nat-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: NAT Policies name (lowercase alphanumeric and hyphens)\n example: example-nat-policy\n applies_to:\n required: false\n description: Applies To\n default: Site\n applies_to_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add NAT Policy')\n wait_for: textbox[name='Name']\n description: Click the Add NAT Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-applies_to\n action: select\n selector: listbox\n context: Applies To section\n value: \"{applies_to}\"\n description: Select Applies To\n condition: params.applies_to is set\n - id: configure-applies_to_choice\n action: click\n selector:
|
|
473
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-create\nlabel: Create NAT Policies\nresource: nat-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: NAT Policies name (lowercase alphanumeric and hyphens)\n example: example-nat-policy\n applies_to:\n required: false\n description: Applies To\n default: Site\n applies_to_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add NAT Policy')\n wait_for: textbox[name='Name']\n description: Click the Add NAT Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-applies_to\n action: select\n selector: listbox\n context: Applies To section\n value: \"{applies_to}\"\n description: Select Applies To\n condition: params.applies_to is set\n - id: configure-applies_to_choice\n action: click\n selector: text('Configure')\n context: Applies To Choice section\n description: Open the Applies To Choice configuration ('Configure' is a link, not a button)\n - id: fill-applies_to_choice-value\n action: fill\n selector: textbox\n value: \"{applies_to_choice}\"\n description: Enter the Applies To Choice value via the 'applies_to_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
474
474
|
"nat-policy/delete":
|
|
475
475
|
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-delete\nlabel: Delete NAT Policies\nresource: nat-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nat-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('NAT Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
476
476
|
"nat-policy/read":
|
|
477
|
-
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-read\nlabel: Read NAT Policies\nresource: nat-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nat-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id:
|
|
477
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-read\nlabel: Read NAT Policies\nresource: nat-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nat-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
478
478
|
"nat-policy/update":
|
|
479
|
-
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-update\nlabel: Update NAT Policies\nresource: nat-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nat-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
479
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nat-policy-update\nlabel: Update NAT Policies\nresource: nat-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nat-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/nat_policy\n wait_for: text('NAT Policies')\n description: Navigate to NAT Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('NAT Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
480
480
|
"network-connector/create":
|
|
481
|
-
'schema: urn:f5xc:console:workflow:v1\nid: network-connector-create\nlabel: Create Network Connectors\nresource: network-connector\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Connectors name (lowercase alphanumeric and hyphens)\n example: example-network-connector\n select_network_connector_type:\n required: false\n description: Select Network Connector Type\n default: SNAT, Site Local Inside to Site Local Outside\n routing_mode:\n required: false\n description: Routing Mode\n default: Default Gateway\n snat_source_ip_selection:\n required: false\n description: SNAT Source IP Selection\n default: Interface IP\n select_forward_proxy:\n required: false\n description: Select Forward Proxy\n default: Disable Forward Proxy\n connector_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text(\'Network Connectors\')\n description: Navigate to Network Connectors list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Network Connector\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Network Connector tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-select_network_connector_type\n action: select\n selector: listbox\n context: Select Network Connector Type section\n value: "{select_network_connector_type}"\n description: Select Select Network Connector Type\n condition: params.select_network_connector_type is set\n - id: select-routing_mode\n action: select\n selector: listbox\n context: Routing Mode section\n value: "{routing_mode}"\n description: Select Routing Mode\n condition: params.routing_mode is set\n - id: select-snat_source_ip_selection\n action: select\n selector: listbox\n context: SNAT Source IP Selection section\n value: "{snat_source_ip_selection}"\n description: Select SNAT Source IP Selection\n condition: params.snat_source_ip_selection is set\n - id: select-select_forward_proxy\n action: select\n selector: listbox\n context: Select Forward Proxy section\n value: "{select_forward_proxy}"\n description: Select Select Forward Proxy\n condition: params.select_forward_proxy is set\n - id: configure-connector_choice\n action: click\n selector:
|
|
481
|
+
'schema: urn:f5xc:console:workflow:v1\nid: network-connector-create\nlabel: Create Network Connectors\nresource: network-connector\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Connectors name (lowercase alphanumeric and hyphens)\n example: example-network-connector\n select_network_connector_type:\n required: false\n description: Select Network Connector Type\n default: SNAT, Site Local Inside to Site Local Outside\n routing_mode:\n required: false\n description: Routing Mode\n default: Default Gateway\n snat_source_ip_selection:\n required: false\n description: SNAT Source IP Selection\n default: Interface IP\n select_forward_proxy:\n required: false\n description: Select Forward Proxy\n default: Disable Forward Proxy\n connector_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text(\'Network Connectors\')\n description: Navigate to Network Connectors list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Network Connector\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Network Connector tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-select_network_connector_type\n action: select\n selector: listbox\n context: Select Network Connector Type section\n value: "{select_network_connector_type}"\n description: Select Select Network Connector Type\n condition: params.select_network_connector_type is set\n - id: select-routing_mode\n action: select\n selector: listbox\n context: Routing Mode section\n value: "{routing_mode}"\n description: Select Routing Mode\n condition: params.routing_mode is set\n - id: select-snat_source_ip_selection\n action: select\n selector: listbox\n context: SNAT Source IP Selection section\n value: "{snat_source_ip_selection}"\n description: Select SNAT Source IP Selection\n condition: params.snat_source_ip_selection is set\n - id: select-select_forward_proxy\n action: select\n selector: listbox\n context: Select Forward Proxy section\n value: "{select_forward_proxy}"\n description: Select Select Forward Proxy\n condition: params.select_forward_proxy is set\n - id: configure-connector_choice\n action: click\n selector: text(\'Configure\')\n context: Connector Choice section\n description: Open the Connector Choice configuration (\'Configure\' is a link, not a button)\n - id: fill-connector_choice-value\n action: fill\n selector: textbox\n value: "{connector_choice}"\n description: Enter the Connector Choice value via the \'connector_choice\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
482
482
|
"network-connector/delete":
|
|
483
483
|
"schema: urn:f5xc:console:workflow:v1\nid: network-connector-delete\nlabel: Delete Network Connectors\nresource: network-connector\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text('Network Connectors')\n description: Navigate to Network Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Network Connectors')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
484
484
|
"network-connector/read":
|
|
485
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-connector-read\nlabel: Read Network Connectors\nresource: network-connector\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text('Network Connectors')\n description: Navigate to Network Connectors list page\n - id:
|
|
485
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-connector-read\nlabel: Read Network Connectors\nresource: network-connector\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text('Network Connectors')\n description: Navigate to Network Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
486
486
|
"network-connector/update":
|
|
487
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-connector-update\nlabel: Update Network Connectors\nresource: network-connector\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text('Network Connectors')\n description: Navigate to Network Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
487
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-connector-update\nlabel: Update Network Connectors\nresource: network-connector\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-connector\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_connectors\n wait_for: text('Network Connectors')\n description: Navigate to Network Connectors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Network Connectors')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
488
488
|
"network-firewall/create":
|
|
489
489
|
'schema: urn:f5xc:console:workflow:v1\nid: network-firewall-create\nlabel: Create Network Firewalls\nresource: network-firewall\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Firewalls name (lowercase alphanumeric and hyphens)\n example: example-network-firewall\n select_forward_policy_configuration:\n required: false\n description: Select Forward Policy Configuration\n default: Disable Forward Proxy Policy\n select_firewall_policy_configuration:\n required: false\n description: Select Firewall Policy Configuration\n default: Disable Firewall Policy\n select_fast_acl_configuration:\n required: false\n description: Select Fast ACL Configuration\n default: Disable Fast ACL\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text(\'Network Firewalls\')\n description: Navigate to Network Firewalls list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Network Firewall\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Network Firewall tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-select_forward_policy_configuration\n action: select\n selector: listbox\n context: Select Forward Policy Configuration section\n value: "{select_forward_policy_configuration}"\n description: Select Select Forward Policy Configuration\n condition: params.select_forward_policy_configuration is set\n - id: select-select_firewall_policy_configuration\n action: select\n selector: listbox\n context: Select Firewall Policy Configuration section\n value: "{select_firewall_policy_configuration}"\n description: Select Select Firewall Policy Configuration\n condition: params.select_firewall_policy_configuration is set\n - id: select-select_fast_acl_configuration\n action: select\n selector: listbox\n context: Select Fast ACL Configuration section\n value: "{select_fast_acl_configuration}"\n description: Select Select Fast ACL Configuration\n condition: params.select_fast_acl_configuration is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
490
490
|
"network-firewall/delete":
|
|
491
491
|
"schema: urn:f5xc:console:workflow:v1\nid: network-firewall-delete\nlabel: Delete Network Firewalls\nresource: network-firewall\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text('Network Firewalls')\n description: Navigate to Network Firewalls list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Network Firewalls')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
492
492
|
"network-firewall/read":
|
|
493
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-firewall-read\nlabel: Read Network Firewalls\nresource: network-firewall\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text('Network Firewalls')\n description: Navigate to Network Firewalls list page\n - id:
|
|
493
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-firewall-read\nlabel: Read Network Firewalls\nresource: network-firewall\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text('Network Firewalls')\n description: Navigate to Network Firewalls list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
494
494
|
"network-firewall/update":
|
|
495
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-firewall-update\nlabel: Update Network Firewalls\nresource: network-firewall\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text('Network Firewalls')\n description: Navigate to Network Firewalls list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
495
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-firewall-update\nlabel: Update Network Firewalls\nresource: network-firewall\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-firewall\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/network_firewall\n wait_for: text('Network Firewalls')\n description: Navigate to Network Firewalls list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Network Firewalls')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
496
496
|
"network-interface/create":
|
|
497
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-create\nlabel: Create Network Interfaces\nresource: network-interface\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Interfaces name (lowercase alphanumeric and hyphens)\n example: example-network-interface\n interface_config_type:\n required: false\n description: Interface Config Type\n default: Ethernet Interface\n ethernet_interface:\n required: true\n description: Ethernet Interface\n interface_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Network Interface')\n wait_for: textbox[name='Name']\n description: Click the Add Network Interface tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-interface_config_type\n action: select\n selector: listbox\n context: Interface Config Type section\n value: \"{interface_config_type}\"\n description: Select Interface Config Type\n condition: params.interface_config_type is set\n - id: configure-ethernet_interface\n action: click\n selector:
|
|
497
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-create\nlabel: Create Network Interfaces\nresource: network-interface\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Interfaces name (lowercase alphanumeric and hyphens)\n example: example-network-interface\n interface_config_type:\n required: false\n description: Interface Config Type\n default: Ethernet Interface\n ethernet_interface:\n required: true\n description: Ethernet Interface\n interface_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Network Interface')\n wait_for: textbox[name='Name']\n description: Click the Add Network Interface tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-interface_config_type\n action: select\n selector: listbox\n context: Interface Config Type section\n value: \"{interface_config_type}\"\n description: Select Interface Config Type\n condition: params.interface_config_type is set\n - id: configure-ethernet_interface\n action: click\n selector: text('Configure')\n context: Ethernet Interface section\n description: Open the Ethernet Interface configuration ('Configure' is a link, not a button)\n - id: fill-ethernet_interface-value\n action: fill\n selector: textbox\n value: \"{ethernet_interface}\"\n description: Enter the Ethernet Interface value via the 'ethernet_interface' parameter\n - id: configure-interface_choice\n action: click\n selector: text('Configure')\n context: Interface Choice section\n description: Open the Interface Choice configuration ('Configure' is a link, not a button)\n - id: fill-interface_choice-value\n action: fill\n selector: textbox\n value: \"{interface_choice}\"\n description: Enter the Interface Choice value via the 'interface_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
498
498
|
"network-interface/delete":
|
|
499
499
|
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-delete\nlabel: Delete Network Interfaces\nresource: network-interface\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-interface\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Network Interfaces')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
500
500
|
"network-interface/read":
|
|
501
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-read\nlabel: Read Network Interfaces\nresource: network-interface\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-interface\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id:
|
|
501
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-read\nlabel: Read Network Interfaces\nresource: network-interface\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-interface\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
502
502
|
"network-interface/update":
|
|
503
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-update\nlabel: Update Network Interfaces\nresource: network-interface\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-interface\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
503
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-interface-update\nlabel: Update Network Interfaces\nresource: network-interface\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-interface\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/network_interfaces\n wait_for: text('Network Interfaces')\n description: Navigate to Network Interfaces list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Network Interfaces')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
504
504
|
"network-policy-rule/create":
|
|
505
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-create\nlabel: Create Network Policy Rules\nresource: network-policy-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Policy Rules name (lowercase alphanumeric and hyphens)\n example: example-network-policy-rule\n protocol:\n required: true\n description: \"Server-required: Must be ALL/TCP/UDP/ICMP\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Network Policy Rule')\n wait_for: textbox[name='Name']\n description: Click the Add Network Policy Rule tab to open the create form\n - id: configure-protocol\n action: click\n selector:
|
|
505
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-create\nlabel: Create Network Policy Rules\nresource: network-policy-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Policy Rules name (lowercase alphanumeric and hyphens)\n example: example-network-policy-rule\n protocol:\n required: true\n description: \"Server-required: Must be ALL/TCP/UDP/ICMP\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Network Policy Rule')\n wait_for: textbox[name='Name']\n description: Click the Add Network Policy Rule tab to open the create form\n - id: configure-protocol\n action: click\n selector: text('Configure')\n context: Protocol section\n description: Open the Protocol configuration ('Configure' is a link, not a button)\n - id: fill-protocol-value\n action: fill\n selector: textbox\n value: \"{protocol}\"\n description: Enter the Protocol value via the 'protocol' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
506
506
|
"network-policy-rule/delete":
|
|
507
507
|
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-delete\nlabel: Delete Network Policy Rules\nresource: network-policy-rule\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Network Policy Rules')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
508
508
|
"network-policy-rule/read":
|
|
509
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-read\nlabel: Read Network Policy Rules\nresource: network-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id:
|
|
509
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-read\nlabel: Read Network Policy Rules\nresource: network-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
510
510
|
"network-policy-rule/update":
|
|
511
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-update\nlabel: Update Network Policy Rules\nresource: network-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
511
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-rule-update\nlabel: Update Network Policy Rules\nresource: network-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policy_rules\n wait_for: text('Network Policy Rules')\n description: Navigate to Network Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Network Policy Rules')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
512
512
|
"network-policy/create":
|
|
513
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-create\nlabel: Create Network Policies\nresource: network-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Policies name (lowercase alphanumeric and hyphens)\n example: example-network-policy\n endpoint:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/
|
|
513
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-create\nlabel: Create Network Policies\nresource: network-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Network Policies name (lowercase alphanumeric and hyphens)\n example: example-network-policy\n endpoint:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policies\n wait_for: text('Network Policies')\n description: Navigate to Network Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Network Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Network Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-endpoint\n action: click\n selector: text('Configure')\n context: Endpoint section\n description: Open the Endpoint configuration ('Configure' is a link, not a button)\n - id: fill-endpoint-value\n action: fill\n selector: textbox\n value: \"{endpoint}\"\n description: Enter the Endpoint value via the 'endpoint' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
514
514
|
"network-policy/delete":
|
|
515
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-delete\nlabel: Delete Network Policies\nresource: network-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/
|
|
515
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-delete\nlabel: Delete Network Policies\nresource: network-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policies\n wait_for: text('Network Policies')\n description: Navigate to Network Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Network Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
516
516
|
"network-policy/read":
|
|
517
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-read\nlabel: Read Network Policies\nresource: network-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/
|
|
517
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-read\nlabel: Read Network Policies\nresource: network-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policies\n wait_for: text('Network Policies')\n description: Navigate to Network Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
518
518
|
"network-policy/update":
|
|
519
|
-
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-update\nlabel: Update Network Policies\nresource: network-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/
|
|
519
|
+
"schema: urn:f5xc:console:workflow:v1\nid: network-policy-update\nlabel: Update Network Policies\nresource: network-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-network-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/manage/network_policies/network_policies\n wait_for: text('Network Policies')\n description: Navigate to Network Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Network Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
520
520
|
"nfv-service/create":
|
|
521
|
-
|
|
521
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-create\nlabel: Create NFV Services\nresource: nfv-service\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: NFV Services name (lowercase alphanumeric and hyphens)\n example: example-nfv-service\n external_service_provider:\n required: false\n description: External Service Provider\n default: Virtual BIG-IP on AWS\n provider_configuration:\n required: true\n description: Provider Configuration\n https_based_management_of_nodes:\n required: false\n description: HTTPS Based Management of Nodes\n default: Disable HTTPS Based Management\n ssh_based_management_of_nodes:\n required: false\n description: SSH based management of nodes\n default: Disable SSH access\n service_provider_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add NFV Service')\n wait_for: textbox[name='Name']\n description: Click the Add NFV Service tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-external_service_provider\n action: select\n selector: listbox\n context: External Service Provider section\n value: \"{external_service_provider}\"\n description: Select External Service Provider\n condition: params.external_service_provider is set\n - id: configure-provider_configuration\n action: click\n selector: text('Configure')\n context: Provider Configuration section\n description: Open the Provider Configuration configuration ('Configure' is a link, not a button)\n - id: fill-provider_configuration-value\n action: fill\n selector: textbox\n value: \"{provider_configuration}\"\n description: Enter the Provider Configuration value via the 'provider_configuration' parameter\n - id: select-https_based_management_of_nodes\n action: select\n selector: listbox\n context: HTTPS Based Management of Nodes section\n value: \"{https_based_management_of_nodes}\"\n description: Select HTTPS Based Management of Nodes\n condition: params.https_based_management_of_nodes is set\n - id: select-ssh_based_management_of_nodes\n action: select\n selector: listbox\n context: SSH based management of nodes section\n value: \"{ssh_based_management_of_nodes}\"\n description: Select SSH based management of nodes\n condition: params.ssh_based_management_of_nodes is set\n - id: configure-service_provider_choice\n action: click\n selector: text('Configure')\n context: Service Provider Choice section\n description: Open the Service Provider Choice configuration ('Configure' is a link, not a button)\n - id: fill-service_provider_choice-value\n action: fill\n selector: textbox\n value: \"{service_provider_choice}\"\n description: Enter the Service Provider Choice value via the 'service_provider_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
522
522
|
"nfv-service/delete":
|
|
523
523
|
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-delete\nlabel: Delete NFV Services\nresource: nfv-service\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nfv-service\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('NFV Services')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
524
524
|
"nfv-service/read":
|
|
525
|
-
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-read\nlabel: Read NFV Services\nresource: nfv-service\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nfv-service\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id:
|
|
525
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-read\nlabel: Read NFV Services\nresource: nfv-service\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nfv-service\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
526
526
|
"nfv-service/update":
|
|
527
|
-
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-update\nlabel: Update NFV Services\nresource: nfv-service\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nfv-service\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
527
|
+
"schema: urn:f5xc:console:workflow:v1\nid: nfv-service-update\nlabel: Update NFV Services\nresource: nfv-service\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-nfv-service\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/nfv_services\n wait_for: text('NFV Services')\n description: Navigate to NFV Services list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('NFV Services')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
528
528
|
"openapi-file/create":
|
|
529
529
|
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-create\nlabel: Create OpenAPI Files\nresource: openapi-file\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: OpenAPI Files name (lowercase alphanumeric and hyphens)\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add OpenAPI File')\n wait_for: textbox[name='Name']\n description: Click the Add OpenAPI File tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
530
530
|
"openapi-file/delete":
|
|
531
531
|
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-delete\nlabel: Delete OpenAPI Files\nresource: openapi-file\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('OpenAPI Files')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
532
532
|
"openapi-file/read":
|
|
533
|
-
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-read\nlabel: Read OpenAPI Files\nresource: openapi-file\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id:
|
|
533
|
+
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-read\nlabel: Read OpenAPI Files\nresource: openapi-file\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
534
534
|
"openapi-file/update":
|
|
535
|
-
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-update\nlabel: Update OpenAPI Files\nresource: openapi-file\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
535
|
+
"schema: urn:f5xc:console:workflow:v1\nid: openapi-file-update\nlabel: Update OpenAPI Files\nresource: openapi-file\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-openapi-file\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/files/openapi\n wait_for: text('OpenAPI Files')\n description: Navigate to OpenAPI Files list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('OpenAPI Files')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
536
536
|
"origin-pool/create":
|
|
537
537
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "origin-pool-create"\nlabel: "Create Origin Pool"\nresource: "origin-pool"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "Origin pool name (lowercase alphanumeric and hyphens)"\n example: "example-origin-pool"\n origin_server:\n required: true\n description: "DNS hostname of the origin server (must be hostname format, not IP)"\n example: "app.example.com"\n port:\n required: true\n type: "number"\n description: "Port number for the origin server"\n example: 8080\n health_check:\n required: false\n description: "Existing health check name to attach"\n example: "example-health-check"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools"\n wait_for: "text(\'Origin Pools\')"\n description: "Navigate to Origin Pools list page within Web App & API Protection workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add Origin Pool\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add Origin Pool tab to open the inline create form"\n note: "This is a tab element, not a button"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the origin pool name in the Name textbox"\n\n - id: "add-origin-server"\n action: "click"\n selector: "button:text(\'Add Item\')"\n context: "Origin Servers section"\n wait_for: "text(\'DNS Name\')"\n description: "Click Add Item to open the Origin Server sub-form (Type defaults to \'Public DNS Name of Origin Server\')"\n then:\n - id: "fill-origin-server"\n action: "fill"\n selector: "textbox[name=\'DNS Name\']"\n context: "Origin Server sub-form"\n value: "{origin_server}"\n description: "Enter the origin server DNS hostname in the *DNS Name field. Bare \'textbox\' is ambiguous (the sub-form has 18 inputs incl. search boxes) — target the DNS Name field by label."\n\n - id: "apply-origin-server"\n action: "click"\n selector: "button:text(\'Apply\')"\n description: "Confirm origin server entry (closes the sub-form, returns to the pool form)"\n\n - id: "fill-port"\n action: "fill"\n selector: "textbox[name=\'Port\']"\n value: "{port}"\n description: "Enter the origin pool *Port (required, pool-level field on the main form — distinct from the origin-server sub-form). Without this, save fails validation."\n\n - id: "attach-health-check"\n condition: "params.health_check is set"\n action: "click"\n selector: "button:text(\'Add Item\')"\n context: "Health Checks section"\n wait_for: "listbox"\n description: "Click Add Item in the Health Checks section to add a health check"\n then:\n - id: "select-health-check"\n action: "select"\n selector: "listbox"\n context: "Health Check selector"\n value: "{health_check}"\n description: "Select the named health check from the dropdown"\n\n - id: "apply-health-check"\n action: "click"\n selector: "button:text(\'Apply\')"\n description: "Confirm health check selection"\n\n - id: "save"\n action: "click"\n selector: "[class*=\'save-bt\']"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the footer save button. NOTE: \'Add Origin Pool\' text matches TWO buttons (the header tab + the footer save) — target the footer save button by its \'save-bt\'/\'save-btn\' class to avoid clicking the tab."\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 30\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
538
538
|
"origin-pool/delete":
|
|
539
539
|
"schema: urn:f5xc:console:workflow:v1\nid: origin-pool-delete\nlabel: Delete Origin Pools\nresource: origin-pool\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-origin-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\n wait_for: text('Origin Pools')\n description: Navigate to Origin Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Origin Pools')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
540
540
|
"origin-pool/read":
|
|
541
|
-
"schema: urn:f5xc:console:workflow:v1\nid: origin-pool-read\nlabel: Read Origin Pools\nresource: origin-pool\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-origin-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\n wait_for: text('Origin Pools')\n description: Navigate to Origin Pools list page\n - id:
|
|
541
|
+
"schema: urn:f5xc:console:workflow:v1\nid: origin-pool-read\nlabel: Read Origin Pools\nresource: origin-pool\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-origin-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\n wait_for: text('Origin Pools')\n description: Navigate to Origin Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
542
542
|
"origin-pool/update":
|
|
543
|
-
"schema: urn:f5xc:console:workflow:v1\nid: origin-pool-update\nlabel: Update Origin Pools\nresource: origin-pool\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-origin-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\n wait_for: text('Origin Pools')\n description: Navigate to Origin Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
543
|
+
"schema: urn:f5xc:console:workflow:v1\nid: origin-pool-update\nlabel: Update Origin Pools\nresource: origin-pool\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-origin-pool\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\n wait_for: text('Origin Pools')\n description: Navigate to Origin Pools list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Origin Pools')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
544
544
|
"policer/create":
|
|
545
545
|
"schema: urn:f5xc:console:workflow:v1\nid: policer-create\nlabel: Create Policers\nresource: policer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Policers name (lowercase alphanumeric and hyphens)\n example: example-policer\n committed_information_rate:\n required: false\n description: Committed Information Rate\n default: 0\n burst_size:\n required: false\n description: Burst Size\n default: 0\n policer_rules:\n required: true\n description: \"'We found 2 errors' — needs policer rules + burst_size\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Policer')\n wait_for: textbox[name='Name']\n description: Click the Add Policer tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-committed_information_rate\n action: fill\n selector: spinbutton[name='Committed Information Rate']\n value: \"{committed_information_rate}\"\n description: Set Committed Information Rate\n - id: fill-burst_size\n action: fill\n selector: spinbutton[name='Burst Size']\n value: \"{burst_size}\"\n description: Set Burst Size\n - id: add-policer_rules\n action: click\n selector: button:text('Add Item')\n context: Policer Rules section\n description: Add Policer Rules entry\n then:\n - id: fill-policer_rules-value\n action: fill\n selector: textbox\n value: \"{policer_rules}\"\n description: Fill the first required field in the Policer Rules sub-form (the agent should provide a value via the\n 'policer_rules' parameter)\n - id: apply-policer_rules\n action: click\n selector: button:text('Apply')\n description: Confirm Policer Rules entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
546
546
|
"policer/delete":
|
|
547
547
|
"schema: urn:f5xc:console:workflow:v1\nid: policer-delete\nlabel: Delete Policers\nresource: policer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Policers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
548
548
|
"policer/read":
|
|
549
|
-
"schema: urn:f5xc:console:workflow:v1\nid: policer-read\nlabel: Read Policers\nresource: policer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id:
|
|
549
|
+
"schema: urn:f5xc:console:workflow:v1\nid: policer-read\nlabel: Read Policers\nresource: policer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
550
550
|
"policer/update":
|
|
551
|
-
"schema: urn:f5xc:console:workflow:v1\nid: policer-update\nlabel: Update Policers\nresource: policer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
551
|
+
"schema: urn:f5xc:console:workflow:v1\nid: policer-update\nlabel: Update Policers\nresource: policer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/policers\n wait_for: text('Policers')\n description: Navigate to Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Policers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
552
552
|
"protocol-policer/create":
|
|
553
|
-
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-create\nlabel: Create Protocol Policers\nresource: protocol-policer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Protocol Policers name (lowercase alphanumeric and hyphens)\n example: example-protocol-policer\n protocol_policer:\n required: true\n description: At least one protocol policer entry required.
|
|
553
|
+
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-create\nlabel: Create Protocol Policers\nresource: protocol-policer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Protocol Policers name (lowercase alphanumeric and hyphens)\n example: example-protocol-policer\n protocol_policer:\n required: true\n description: 'At least one protocol policer entry required. The nested Add Item sub-form requires selecting an existing\n Policer (feedback loop: \"Field Policer is required\") — a policer object must exist first.'\n policer:\n required: true\n description: Name of an existing policer to reference (dependency — create it first)\n example: example-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Protocol Policer')\n wait_for: textbox[name='Name']\n description: Click the Add Protocol Policer tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: add-protocol_policer\n action: click\n selector: button:text('Add Item')\n context: Protocol Policer section\n description: Add Protocol Policer entry\n then:\n - id: select-protocol_policer-ref\n action: select\n selector: listbox[name='Policer']\n context: Policer selector\n value: \"{policer}\"\n description: Select the Policer for the Protocol Policer entry (references an existing policer — create one first)\n - id: apply-protocol_policer\n action: click\n selector: button:text('Apply')\n description: Confirm Protocol Policer entry\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
554
554
|
"protocol-policer/delete":
|
|
555
555
|
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-delete\nlabel: Delete Protocol Policers\nresource: protocol-policer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-protocol-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Protocol Policers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
556
556
|
"protocol-policer/read":
|
|
557
|
-
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-read\nlabel: Read Protocol Policers\nresource: protocol-policer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-protocol-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id:
|
|
557
|
+
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-read\nlabel: Read Protocol Policers\nresource: protocol-policer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-protocol-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
558
558
|
"protocol-policer/update":
|
|
559
|
-
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-update\nlabel: Update Protocol Policers\nresource: protocol-policer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-protocol-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
559
|
+
"schema: urn:f5xc:console:workflow:v1\nid: protocol-policer-update\nlabel: Update Protocol Policers\nresource: protocol-policer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-protocol-policer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/firewall/protocol_policers\n wait_for: text('Protocol Policers')\n description: Navigate to Protocol Policers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Protocol Policers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
560
560
|
"proxy/create":
|
|
561
|
-
'schema: urn:f5xc:console:workflow:v1\nid: proxy-create\nlabel: Create HTTP Connect & DRPs\nresource: proxy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: HTTP Connect & DRPs name (lowercase alphanumeric and hyphens)\n example: example-proxy\n http_connect_proxy_or_dynamic_reverse_proxy:\n required: false\n description: HTTP Connect Proxy or Dynamic Reverse Proxy\n default: HTTP Connect Proxy\n http_connect:\n required: false\n description: HTTP Connect\n default: HTTP Connect\n select_sites_for_proxy:\n required: false\n description: Select Sites for Proxy\n default: Site or Virtual Site\n site_or_virtual_site:\n required: true\n description: Site or Virtual Site\n select_upstream_network:\n required: false\n description: Select Upstream Network\n default: Site Local Network (Outside)\n tls_interception_choice:\n required: false\n description: TLS Interception choice\n default: No TLS Interception\n manage_proxy_policy:\n required: false\n description: Manage Proxy Policy\n default: Disable Proxy Policy\n proxy_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text(\'HTTP Connect & DRPs\')\n description: Navigate to HTTP Connect & DRPs list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add HTTP Connect / DRP\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add HTTP Connect / DRP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-http_connect_proxy_or_dynamic_reverse_proxy\n action: select\n selector: listbox\n context: HTTP Connect Proxy or Dynamic Reverse Proxy section\n value: "{http_connect_proxy_or_dynamic_reverse_proxy}"\n description: Select HTTP Connect Proxy or Dynamic Reverse Proxy\n condition: params.http_connect_proxy_or_dynamic_reverse_proxy is set\n - id: select-http_connect\n action: select\n selector: listbox\n context: HTTP Connect section\n value: "{http_connect}"\n description: Select HTTP Connect\n condition: params.http_connect is set\n - id: select-select_sites_for_proxy\n action: select\n selector: listbox\n context: Select Sites for Proxy section\n value: "{select_sites_for_proxy}"\n description: Select Select Sites for Proxy\n condition: params.select_sites_for_proxy is set\n - id: configure-site_or_virtual_site\n action: click\n selector:
|
|
561
|
+
'schema: urn:f5xc:console:workflow:v1\nid: proxy-create\nlabel: Create HTTP Connect & DRPs\nresource: proxy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: HTTP Connect & DRPs name (lowercase alphanumeric and hyphens)\n example: example-proxy\n http_connect_proxy_or_dynamic_reverse_proxy:\n required: false\n description: HTTP Connect Proxy or Dynamic Reverse Proxy\n default: HTTP Connect Proxy\n http_connect:\n required: false\n description: HTTP Connect\n default: HTTP Connect\n select_sites_for_proxy:\n required: false\n description: Select Sites for Proxy\n default: Site or Virtual Site\n site_or_virtual_site:\n required: true\n description: Site or Virtual Site\n select_upstream_network:\n required: false\n description: Select Upstream Network\n default: Site Local Network (Outside)\n tls_interception_choice:\n required: false\n description: TLS Interception choice\n default: No TLS Interception\n manage_proxy_policy:\n required: false\n description: Manage Proxy Policy\n default: Disable Proxy Policy\n proxy_choice:\n required: true\n description: "Server-required: Field should be not nil"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text(\'HTTP Connect & DRPs\')\n description: Navigate to HTTP Connect & DRPs list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add HTTP Connect / DRP\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add HTTP Connect / DRP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-http_connect_proxy_or_dynamic_reverse_proxy\n action: select\n selector: listbox\n context: HTTP Connect Proxy or Dynamic Reverse Proxy section\n value: "{http_connect_proxy_or_dynamic_reverse_proxy}"\n description: Select HTTP Connect Proxy or Dynamic Reverse Proxy\n condition: params.http_connect_proxy_or_dynamic_reverse_proxy is set\n - id: select-http_connect\n action: select\n selector: listbox\n context: HTTP Connect section\n value: "{http_connect}"\n description: Select HTTP Connect\n condition: params.http_connect is set\n - id: select-select_sites_for_proxy\n action: select\n selector: listbox\n context: Select Sites for Proxy section\n value: "{select_sites_for_proxy}"\n description: Select Select Sites for Proxy\n condition: params.select_sites_for_proxy is set\n - id: configure-site_or_virtual_site\n action: click\n selector: text(\'Configure\')\n context: Site or Virtual Site section\n description: Open the Site or Virtual Site configuration (\'Configure\' is a link, not a button)\n - id: fill-site_or_virtual_site-value\n action: fill\n selector: textbox\n value: "{site_or_virtual_site}"\n description: Enter the Site or Virtual Site value via the \'site_or_virtual_site\' parameter\n - id: select-select_upstream_network\n action: select\n selector: listbox\n context: Select Upstream Network section\n value: "{select_upstream_network}"\n description: Select Select Upstream Network\n condition: params.select_upstream_network is set\n - id: select-tls_interception_choice\n action: select\n selector: listbox\n context: TLS Interception choice section\n value: "{tls_interception_choice}"\n description: Select TLS Interception choice\n condition: params.tls_interception_choice is set\n - id: select-manage_proxy_policy\n action: select\n selector: listbox\n context: Manage Proxy Policy section\n value: "{manage_proxy_policy}"\n description: Select Manage Proxy Policy\n condition: params.manage_proxy_policy is set\n - id: configure-proxy_choice\n action: click\n selector: text(\'Configure\')\n context: Proxy Choice section\n description: Open the Proxy Choice configuration (\'Configure\' is a link, not a button)\n - id: fill-proxy_choice-value\n action: fill\n selector: textbox\n value: "{proxy_choice}"\n description: Enter the Proxy Choice value via the \'proxy_choice\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
562
562
|
"proxy/delete":
|
|
563
563
|
"schema: urn:f5xc:console:workflow:v1\nid: proxy-delete\nlabel: Delete HTTP Connect & DRPs\nresource: proxy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-proxy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text('HTTP Connect & DRPs')\n description: Navigate to HTTP Connect & DRPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('HTTP Connect & DRPs')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
564
564
|
"proxy/read":
|
|
565
|
-
"schema: urn:f5xc:console:workflow:v1\nid: proxy-read\nlabel: Read HTTP Connect & DRPs\nresource: proxy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-proxy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text('HTTP Connect & DRPs')\n description: Navigate to HTTP Connect & DRPs list page\n - id:
|
|
565
|
+
"schema: urn:f5xc:console:workflow:v1\nid: proxy-read\nlabel: Read HTTP Connect & DRPs\nresource: proxy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-proxy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text('HTTP Connect & DRPs')\n description: Navigate to HTTP Connect & DRPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
566
566
|
"proxy/update":
|
|
567
|
-
"schema: urn:f5xc:console:workflow:v1\nid: proxy-update\nlabel: Update HTTP Connect & DRPs\nresource: proxy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-proxy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text('HTTP Connect & DRPs')\n description: Navigate to HTTP Connect & DRPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
567
|
+
"schema: urn:f5xc:console:workflow:v1\nid: proxy-update\nlabel: Update HTTP Connect & DRPs\nresource: proxy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-proxy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/proxy\n wait_for: text('HTTP Connect & DRPs')\n description: Navigate to HTTP Connect & DRPs list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('HTTP Connect & DRPs')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
568
568
|
"public-ip/create":
|
|
569
569
|
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-create\nlabel: Create Public IP Addresses\nresource: public-ip\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Public IP Addresses name (lowercase alphanumeric and hyphens)\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Public IP')\n wait_for: textbox[name='Name']\n description: Click the Add Public IP tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
570
570
|
"public-ip/delete":
|
|
571
571
|
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-delete\nlabel: Delete Public IP Addresses\nresource: public-ip\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Public IP Addresses')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
572
572
|
"public-ip/read":
|
|
573
|
-
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-read\nlabel: Read Public IP Addresses\nresource: public-ip\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id:
|
|
573
|
+
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-read\nlabel: Read Public IP Addresses\nresource: public-ip\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
574
574
|
"public-ip/update":
|
|
575
|
-
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-update\nlabel: Update Public IP Addresses\nresource: public-ip\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
575
|
+
"schema: urn:f5xc:console:workflow:v1\nid: public-ip-update\nlabel: Update Public IP Addresses\nresource: public-ip\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-public-ip\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\n wait_for: text('Public IP Addresses')\n description: Navigate to Public IP Addresses list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Public IP Addresses')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
576
576
|
"rate-limiter-policy/create":
|
|
577
577
|
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-create\nlabel: Create Rate Limiter Policies\nresource: rate-limiter-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Rate Limiter Policies name (lowercase alphanumeric and hyphens)\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Rate Limiter')\n wait_for: textbox[name='Name']\n description: Click the Add Rate Limiter tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
578
578
|
"rate-limiter-policy/delete":
|
|
579
579
|
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-delete\nlabel: Delete Rate Limiter Policies\nresource: rate-limiter-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Rate Limiter Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
580
580
|
"rate-limiter-policy/read":
|
|
581
|
-
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-read\nlabel: Read Rate Limiter Policies\nresource: rate-limiter-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id:
|
|
581
|
+
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-read\nlabel: Read Rate Limiter Policies\nresource: rate-limiter-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
582
582
|
"rate-limiter-policy/update":
|
|
583
|
-
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-update\nlabel: Update Rate Limiter Policies\nresource: rate-limiter-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
583
|
+
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-policy-update\nlabel: Update Rate Limiter Policies\nresource: rate-limiter-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\n wait_for: text('Rate Limiter Policies')\n description: Navigate to Rate Limiter Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Rate Limiter Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
584
584
|
"rate-limiter/create":
|
|
585
585
|
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-create\nlabel: Create Rate Limiters\nresource: rate-limiter\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Rate Limiters name (lowercase alphanumeric and hyphens)\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Rate Limiter')\n wait_for: textbox[name='Name']\n description: Click the Add Rate Limiter tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
586
586
|
"rate-limiter/delete":
|
|
587
587
|
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-delete\nlabel: Delete Rate Limiters\nresource: rate-limiter\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Rate Limiters')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
588
588
|
"rate-limiter/read":
|
|
589
|
-
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-read\nlabel: Read Rate Limiters\nresource: rate-limiter\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id:
|
|
589
|
+
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-read\nlabel: Read Rate Limiters\nresource: rate-limiter\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
590
590
|
"rate-limiter/update":
|
|
591
|
-
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-update\nlabel: Update Rate Limiters\nresource: rate-limiter\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
591
|
+
"schema: urn:f5xc:console:workflow:v1\nid: rate-limiter-update\nlabel: Update Rate Limiters\nresource: rate-limiter\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-rate-limiter\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/rate_limiters\n wait_for: text('Rate Limiters')\n description: Navigate to Rate Limiters list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Rate Limiters')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
592
592
|
"role/create":
|
|
593
|
-
"schema: urn:f5xc:console:workflow:v1\nid: role-create\nlabel: Create Roles\nresource: role\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Roles name (lowercase alphanumeric and hyphens)\n example: example-role\n role_name:\n required: true\n description: Role Name\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Role')\n wait_for: textbox[name='Name']\n description: Click the Add Role tab to open the create form\n - id: fill-role_name\n action: fill\n selector: textbox[name='Role Name']\n value: \"{role_name}\"\n description: Enter Role Name\n - id: save\n action: click\n selector: \"[class*='
|
|
593
|
+
"schema: urn:f5xc:console:workflow:v1\nid: role-create\nlabel: Create Roles\nresource: role\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Roles name (lowercase alphanumeric and hyphens)\n example: example-role\n role_name:\n required: true\n description: Role Name\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Role')\n wait_for: textbox[name='Name']\n description: Click the Add Role tab to open the create form\n - id: fill-role_name\n action: fill\n selector: textbox[name='Role Name']\n value: \"{role_name}\"\n description: Enter Role Name\n - id: save\n action: click\n selector: \"[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Submit via the primary submit button (Administration forms have no save-bt)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
594
594
|
"role/delete":
|
|
595
595
|
"schema: urn:f5xc:console:workflow:v1\nid: role-delete\nlabel: Delete Roles\nresource: role\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-role\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Roles')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
596
596
|
"role/read":
|
|
597
|
-
"schema: urn:f5xc:console:workflow:v1\nid: role-read\nlabel: Read Roles\nresource: role\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-role\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id:
|
|
597
|
+
"schema: urn:f5xc:console:workflow:v1\nid: role-read\nlabel: Read Roles\nresource: role\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-role\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
598
598
|
"role/update":
|
|
599
|
-
"schema: urn:f5xc:console:workflow:v1\nid: role-update\nlabel: Update Roles\nresource: role\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-role\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
599
|
+
"schema: urn:f5xc:console:workflow:v1\nid: role-update\nlabel: Update Roles\nresource: role\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-role\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/roles\n wait_for: text('Roles')\n description: Navigate to Roles list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Roles')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
600
600
|
"route-object/create":
|
|
601
601
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "route-object-create"\nlabel: "Create Route"\nresource: "route-object"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "Route name (lowercase alphanumeric and hyphens)"\n example: "example-route"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes"\n wait_for: "text(\'Routes\')"\n description: "Navigate to Routes list page within Multi-Cloud App Connect workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add Route\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add Route tab to open the inline create form"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the route name in the Name textbox"\n\n - id: "save"\n action: "click"\n selector: "button:text(\'Add Route\')"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add Route button in the form footer to save"\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 20\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
602
602
|
"route-object/delete":
|
|
603
603
|
"schema: urn:f5xc:console:workflow:v1\nid: route-object-delete\nlabel: Delete Routes\nresource: route-object\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-route-object\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\n wait_for: text('Routes')\n description: Navigate to Routes list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Routes')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
604
604
|
"route-object/read":
|
|
605
|
-
"schema: urn:f5xc:console:workflow:v1\nid: route-object-read\nlabel: Read Routes\nresource: route-object\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-route-object\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\n wait_for: text('Routes')\n description: Navigate to Routes list page\n - id:
|
|
605
|
+
"schema: urn:f5xc:console:workflow:v1\nid: route-object-read\nlabel: Read Routes\nresource: route-object\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-route-object\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\n wait_for: text('Routes')\n description: Navigate to Routes list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
606
606
|
"route-object/update":
|
|
607
|
-
"schema: urn:f5xc:console:workflow:v1\nid: route-object-update\nlabel: Update Routes\nresource: route-object\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-route-object\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\n wait_for: text('Routes')\n description: Navigate to Routes list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
607
|
+
"schema: urn:f5xc:console:workflow:v1\nid: route-object-update\nlabel: Update Routes\nresource: route-object\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-route-object\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\n wait_for: text('Routes')\n description: Navigate to Routes list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Routes')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
608
608
|
"secret-policy/create":
|
|
609
|
-
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-create\nlabel: Create Secret Policies\nresource: secret-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secret Policies name (lowercase alphanumeric and hyphens)\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
609
|
+
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-create\nlabel: Create Secret Policies\nresource: secret-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secret Policies name (lowercase alphanumeric and hyphens)\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policies\n wait_for: text('Secret Policies')\n description: Navigate to Secret Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Secret Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Secret Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
610
610
|
"secret-policy/delete":
|
|
611
|
-
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-delete\nlabel: Delete Secret Policies\nresource: secret-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
611
|
+
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-delete\nlabel: Delete Secret Policies\nresource: secret-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policies\n wait_for: text('Secret Policies')\n description: Navigate to Secret Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Secret Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
612
612
|
"secret-policy/read":
|
|
613
|
-
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-read\nlabel: Read Secret Policies\nresource: secret-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
613
|
+
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-read\nlabel: Read Secret Policies\nresource: secret-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policies\n wait_for: text('Secret Policies')\n description: Navigate to Secret Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
614
614
|
"secret-policy/update":
|
|
615
|
-
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-update\nlabel: Update Secret Policies\nresource: secret-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/
|
|
615
|
+
"schema: urn:f5xc:console:workflow:v1\nid: secret-policy-update\nlabel: Update Secret Policies\nresource: secret-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-secret-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/secrets/secret_policies\n wait_for: text('Secret Policies')\n description: Navigate to Secret Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Secret Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
616
616
|
"securemesh-site-v2/create":
|
|
617
|
-
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-create\nlabel: Create Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secure Mesh Sites v2 name (lowercase alphanumeric and hyphens)\n example: example-securemesh-site-v2\n provider_name:\n required: false\n description: Provider Name\n default: VMWare\n provider_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Secure Mesh Site v2')\n wait_for: textbox[name='Name']\n description: Click the Add Secure Mesh Site v2 tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-provider_name\n action: select\n selector: listbox\n context: Provider Name section\n value: \"{provider_name}\"\n description: Select Provider Name\n condition: params.provider_name is set\n - id: configure-provider_choice\n action: click\n selector:
|
|
617
|
+
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-create\nlabel: Create Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secure Mesh Sites v2 name (lowercase alphanumeric and hyphens)\n example: example-securemesh-site-v2\n provider_name:\n required: false\n description: Provider Name\n default: VMWare\n provider_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Secure Mesh Site v2')\n wait_for: textbox[name='Name']\n description: Click the Add Secure Mesh Site v2 tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-provider_name\n action: select\n selector: listbox\n context: Provider Name section\n value: \"{provider_name}\"\n description: Select Provider Name\n condition: params.provider_name is set\n - id: configure-provider_choice\n action: click\n selector: text('Configure')\n context: Provider Choice section\n description: Open the Provider Choice configuration ('Configure' is a link, not a button)\n - id: fill-provider_choice-value\n action: fill\n selector: textbox\n value: \"{provider_choice}\"\n description: Enter the Provider Choice value via the 'provider_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
618
618
|
"securemesh-site-v2/delete":
|
|
619
619
|
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-delete\nlabel: Delete Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site-v2\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Secure Mesh Sites v2')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
620
620
|
"securemesh-site-v2/read":
|
|
621
|
-
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-read\nlabel: Read Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site-v2\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id:
|
|
621
|
+
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-read\nlabel: Read Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site-v2\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
622
622
|
"securemesh-site-v2/update":
|
|
623
|
-
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-update\nlabel: Update Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site-v2\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
623
|
+
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-v2-update\nlabel: Update Secure Mesh Sites v2\nresource: securemesh-site-v2\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site-v2\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/securemesh_site_v2\n wait_for: text('Secure Mesh Sites v2')\n description: Navigate to Secure Mesh Sites v2 list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Secure Mesh Sites v2')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
624
624
|
"securemesh-site/create":
|
|
625
|
-
'schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-create\nlabel: Create Secure Mesh Sites\nresource: securemesh-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secure Mesh Sites name (lowercase alphanumeric and hyphens)\n example: example-securemesh-site\n generic_server_certified_hardware:\n required: false\n description: Generic Server Certified Hardware\n default: isv-8000-series-voltmesh\n master_nodes:\n required: true\n description: Master Nodes\n bond_configuration:\n required: false\n description: Bond Configuration\n default: No Bond Devices\n configure_networking:\n required: false\n description: Configure Networking\n default: Default Network Configuration\n logs_streaming:\n required: false\n description: Logs Streaming\n default: Disable Logs Streaming\n f5xc_software_version:\n required: false\n description: F5XC Software Version\n default: Latest SW Version\n operating_system_version:\n required: false\n description: Operating System Version\n default: Latest OS Version\n node_by_node_upgrade:\n required: false\n description: Node by Node Upgrade\n default: Enable\n upgrade_wait_time:\n required: false\n description: Upgrade Wait Time\n default: 300\n node_batch_size:\n required: false\n description: Node Batch Size\n default: Node Batch Size Count\n node_batch_size_count:\n required: false\n description: Node Batch Size Count\n default: 1\n blocked_services:\n required: false\n description: Blocked Services\n default: Default Blocked Service Configuration\n offline_survivability_mode:\n required: false\n description: Offline Survivability Mode\n default: Disabled\n performance_mode:\n required: false\n description: Performance Mode\n default: L7 Enhanced\n master_node_configuration:\n required: true\n description: "Server-required: Must be 1 or 3"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text(\'Secure Mesh Sites\')\n description: Navigate to Secure Mesh Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Secure Mesh Site\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Secure Mesh Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-generic_server_certified_hardware\n action: select\n selector: listbox\n context: Generic Server Certified Hardware section\n value: "{generic_server_certified_hardware}"\n description: Select Generic Server Certified Hardware\n condition: params.generic_server_certified_hardware is set\n - id: fill-master_nodes\n action: fill\n selector: ngx-datatable input.form-control\n context: Master Nodes table\n value: "{master_nodes}"\n description: Enter Master Nodes in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-bond_configuration\n action: select\n selector: listbox\n context: Bond Configuration section\n value: "{bond_configuration}"\n description: Select Bond Configuration\n condition: params.bond_configuration is set\n - id: select-configure_networking\n action: select\n selector: listbox\n context: Configure Networking section\n value: "{configure_networking}"\n description: Select Configure Networking\n condition: params.configure_networking is set\n - id: select-logs_streaming\n action: select\n selector: listbox\n context: Logs Streaming section\n value: "{logs_streaming}"\n description: Select Logs Streaming\n condition: params.logs_streaming is set\n - id: select-f5xc_software_version\n action: select\n selector: listbox\n context: F5XC Software Version section\n value: "{f5xc_software_version}"\n description: Select F5XC Software Version\n condition: params.f5xc_software_version is set\n - id: select-operating_system_version\n action: select\n selector: listbox\n context: Operating System Version section\n value: "{operating_system_version}"\n description: Select Operating System Version\n condition: params.operating_system_version is set\n - id: select-node_by_node_upgrade\n action: select\n selector: listbox\n context: Node by Node Upgrade section\n value: "{node_by_node_upgrade}"\n description: Select Node by Node Upgrade\n condition: params.node_by_node_upgrade is set\n - id: fill-upgrade_wait_time\n action: fill\n selector: spinbutton[name=\'Upgrade Wait Time\']\n value: "{upgrade_wait_time}"\n description: "Set Upgrade Wait Time (default: 300)"\n condition: params.upgrade_wait_time is set\n - id: select-node_batch_size\n action: select\n selector: listbox\n context: Node Batch Size section\n value: "{node_batch_size}"\n description: Select Node Batch Size\n condition: params.node_batch_size is set\n - id: fill-node_batch_size_count\n action: fill\n selector: spinbutton[name=\'Node Batch Size Count\']\n value: "{node_batch_size_count}"\n description: "Set Node Batch Size Count (default: 1)"\n condition: params.node_batch_size_count is set\n - id: select-blocked_services\n action: select\n selector: listbox\n context: Blocked Services section\n value: "{blocked_services}"\n description: Select Blocked Services\n condition: params.blocked_services is set\n - id: select-offline_survivability_mode\n action: select\n selector: listbox\n context: Offline Survivability Mode section\n value: "{offline_survivability_mode}"\n description: Select Offline Survivability Mode\n condition: params.offline_survivability_mode is set\n - id: select-performance_mode\n action: select\n selector: listbox\n context: Performance Mode section\n value: "{performance_mode}"\n description: Select Performance Mode\n condition: params.performance_mode is set\n - id: configure-master_node_configuration\n action: click\n selector:
|
|
625
|
+
'schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-create\nlabel: Create Secure Mesh Sites\nresource: securemesh-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Secure Mesh Sites name (lowercase alphanumeric and hyphens)\n example: example-securemesh-site\n generic_server_certified_hardware:\n required: false\n description: Generic Server Certified Hardware\n default: isv-8000-series-voltmesh\n master_nodes:\n required: true\n description: Master Nodes\n bond_configuration:\n required: false\n description: Bond Configuration\n default: No Bond Devices\n configure_networking:\n required: false\n description: Configure Networking\n default: Default Network Configuration\n logs_streaming:\n required: false\n description: Logs Streaming\n default: Disable Logs Streaming\n f5xc_software_version:\n required: false\n description: F5XC Software Version\n default: Latest SW Version\n operating_system_version:\n required: false\n description: Operating System Version\n default: Latest OS Version\n node_by_node_upgrade:\n required: false\n description: Node by Node Upgrade\n default: Enable\n upgrade_wait_time:\n required: false\n description: Upgrade Wait Time\n default: 300\n node_batch_size:\n required: false\n description: Node Batch Size\n default: Node Batch Size Count\n node_batch_size_count:\n required: false\n description: Node Batch Size Count\n default: 1\n blocked_services:\n required: false\n description: Blocked Services\n default: Default Blocked Service Configuration\n offline_survivability_mode:\n required: false\n description: Offline Survivability Mode\n default: Disabled\n performance_mode:\n required: false\n description: Performance Mode\n default: L7 Enhanced\n master_node_configuration:\n required: true\n description: "Server-required: Must be 1 or 3"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text(\'Secure Mesh Sites\')\n description: Navigate to Secure Mesh Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Secure Mesh Site\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Secure Mesh Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-generic_server_certified_hardware\n action: select\n selector: listbox\n context: Generic Server Certified Hardware section\n value: "{generic_server_certified_hardware}"\n description: Select Generic Server Certified Hardware\n condition: params.generic_server_certified_hardware is set\n - id: fill-master_nodes\n action: fill\n selector: ngx-datatable input.form-control\n context: Master Nodes table\n value: "{master_nodes}"\n description: Enter Master Nodes in the existing table row (no Add Item needed — the table ships one empty row)\n - id: select-bond_configuration\n action: select\n selector: listbox\n context: Bond Configuration section\n value: "{bond_configuration}"\n description: Select Bond Configuration\n condition: params.bond_configuration is set\n - id: select-configure_networking\n action: select\n selector: listbox\n context: Configure Networking section\n value: "{configure_networking}"\n description: Select Configure Networking\n condition: params.configure_networking is set\n - id: select-logs_streaming\n action: select\n selector: listbox\n context: Logs Streaming section\n value: "{logs_streaming}"\n description: Select Logs Streaming\n condition: params.logs_streaming is set\n - id: select-f5xc_software_version\n action: select\n selector: listbox\n context: F5XC Software Version section\n value: "{f5xc_software_version}"\n description: Select F5XC Software Version\n condition: params.f5xc_software_version is set\n - id: select-operating_system_version\n action: select\n selector: listbox\n context: Operating System Version section\n value: "{operating_system_version}"\n description: Select Operating System Version\n condition: params.operating_system_version is set\n - id: select-node_by_node_upgrade\n action: select\n selector: listbox\n context: Node by Node Upgrade section\n value: "{node_by_node_upgrade}"\n description: Select Node by Node Upgrade\n condition: params.node_by_node_upgrade is set\n - id: fill-upgrade_wait_time\n action: fill\n selector: spinbutton[name=\'Upgrade Wait Time\']\n value: "{upgrade_wait_time}"\n description: "Set Upgrade Wait Time (default: 300)"\n condition: params.upgrade_wait_time is set\n - id: select-node_batch_size\n action: select\n selector: listbox\n context: Node Batch Size section\n value: "{node_batch_size}"\n description: Select Node Batch Size\n condition: params.node_batch_size is set\n - id: fill-node_batch_size_count\n action: fill\n selector: spinbutton[name=\'Node Batch Size Count\']\n value: "{node_batch_size_count}"\n description: "Set Node Batch Size Count (default: 1)"\n condition: params.node_batch_size_count is set\n - id: select-blocked_services\n action: select\n selector: listbox\n context: Blocked Services section\n value: "{blocked_services}"\n description: Select Blocked Services\n condition: params.blocked_services is set\n - id: select-offline_survivability_mode\n action: select\n selector: listbox\n context: Offline Survivability Mode section\n value: "{offline_survivability_mode}"\n description: Select Offline Survivability Mode\n condition: params.offline_survivability_mode is set\n - id: select-performance_mode\n action: select\n selector: listbox\n context: Performance Mode section\n value: "{performance_mode}"\n description: Select Performance Mode\n condition: params.performance_mode is set\n - id: configure-master_node_configuration\n action: click\n selector: text(\'Configure\')\n context: Master Node Configuration section\n description: Open the Master Node Configuration configuration (\'Configure\' is a link, not a button)\n - id: fill-master_node_configuration-value\n action: fill\n selector: textbox\n value: "{master_node_configuration}"\n description: Enter the Master Node Configuration value via the \'master_node_configuration\' parameter\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
626
626
|
"securemesh-site/delete":
|
|
627
627
|
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-delete\nlabel: Delete Secure Mesh Sites\nresource: securemesh-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text('Secure Mesh Sites')\n description: Navigate to Secure Mesh Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Secure Mesh Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
628
628
|
"securemesh-site/read":
|
|
629
|
-
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-read\nlabel: Read Secure Mesh Sites\nresource: securemesh-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text('Secure Mesh Sites')\n description: Navigate to Secure Mesh Sites list page\n - id:
|
|
629
|
+
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-read\nlabel: Read Secure Mesh Sites\nresource: securemesh-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text('Secure Mesh Sites')\n description: Navigate to Secure Mesh Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
630
630
|
"securemesh-site/update":
|
|
631
|
-
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-update\nlabel: Update Secure Mesh Sites\nresource: securemesh-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text('Secure Mesh Sites')\n description: Navigate to Secure Mesh Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
631
|
+
"schema: urn:f5xc:console:workflow:v1\nid: securemesh-site-update\nlabel: Update Secure Mesh Sites\nresource: securemesh-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-securemesh-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/legacy_configs/securemesh_site\n wait_for: text('Secure Mesh Sites')\n description: Navigate to Secure Mesh Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Secure Mesh Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
632
632
|
"segment-connection/create":
|
|
633
633
|
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-create\nlabel: Create Segment Connector\nresource: segment-connection\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Segment Connector name (lowercase alphanumeric and hyphens)\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Segment Connector')\n wait_for: textbox[name='Name']\n description: Click the Add Segment Connector tab to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
634
634
|
"segment-connection/delete":
|
|
635
635
|
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-delete\nlabel: Delete Segment Connector\nresource: segment-connection\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Segment Connector')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
636
636
|
"segment-connection/read":
|
|
637
|
-
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-read\nlabel: Read Segment Connector\nresource: segment-connection\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id:
|
|
637
|
+
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-read\nlabel: Read Segment Connector\nresource: segment-connection\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
638
638
|
"segment-connection/update":
|
|
639
|
-
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-update\nlabel: Update Segment Connector\nresource: segment-connection\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
639
|
+
"schema: urn:f5xc:console:workflow:v1\nid: segment-connection-update\nlabel: Update Segment Connector\nresource: segment-connection\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment-connection\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment_connection\n wait_for: text('Segment Connector')\n description: Navigate to Segment Connector list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Segment Connector')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
640
640
|
"segment/create":
|
|
641
641
|
"schema: urn:f5xc:console:workflow:v1\nid: segment-create\nlabel: Create Segments\nresource: segment\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Segments name (lowercase alphanumeric and hyphens)\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Segment')\n wait_for: textbox[name='Name']\n description: Click the Add Segment tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
642
642
|
"segment/delete":
|
|
643
643
|
"schema: urn:f5xc:console:workflow:v1\nid: segment-delete\nlabel: Delete Segments\nresource: segment\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Segments')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
644
644
|
"segment/read":
|
|
645
|
-
"schema: urn:f5xc:console:workflow:v1\nid: segment-read\nlabel: Read Segments\nresource: segment\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id:
|
|
645
|
+
"schema: urn:f5xc:console:workflow:v1\nid: segment-read\nlabel: Read Segments\nresource: segment\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
646
646
|
"segment/update":
|
|
647
|
-
"schema: urn:f5xc:console:workflow:v1\nid: segment-update\nlabel: Update Segments\nresource: segment\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
647
|
+
"schema: urn:f5xc:console:workflow:v1\nid: segment-update\nlabel: Update Segments\nresource: segment\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-segment\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/network_configuration/segment\n wait_for: text('Segments')\n description: Navigate to Segments list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Segments')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
648
648
|
"sensitive-data-policy/create":
|
|
649
|
-
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-create\nlabel: Create Sensitive Data Policies\nresource: sensitive-data-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Sensitive Data Policies name (lowercase alphanumeric and hyphens)\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
649
|
+
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-create\nlabel: Create Sensitive Data Policies\nresource: sensitive-data-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Sensitive Data Policies name (lowercase alphanumeric and hyphens)\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/sensitive_data_policy\n wait_for: text('Sensitive Data Policies')\n description: Navigate to Sensitive Data Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Sensitive Data Policy')\n wait_for: textbox[name='Name']\n description: Click the Add Sensitive Data Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
650
650
|
"sensitive-data-policy/delete":
|
|
651
|
-
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-delete\nlabel: Delete Sensitive Data Policies\nresource: sensitive-data-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
651
|
+
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-delete\nlabel: Delete Sensitive Data Policies\nresource: sensitive-data-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/sensitive_data_policy\n wait_for: text('Sensitive Data Policies')\n description: Navigate to Sensitive Data Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Sensitive Data Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
652
652
|
"sensitive-data-policy/read":
|
|
653
|
-
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-read\nlabel: Read Sensitive Data Policies\nresource: sensitive-data-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
653
|
+
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-read\nlabel: Read Sensitive Data Policies\nresource: sensitive-data-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/sensitive_data_policy\n wait_for: text('Sensitive Data Policies')\n description: Navigate to Sensitive Data Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
654
654
|
"sensitive-data-policy/update":
|
|
655
|
-
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-update\nlabel: Update Sensitive Data Policies\nresource: sensitive-data-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/
|
|
655
|
+
"schema: urn:f5xc:console:workflow:v1\nid: sensitive-data-policy-update\nlabel: Update Sensitive Data Policies\nresource: sensitive-data-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-sensitive-data-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/api_security/sensitive_data_policy\n wait_for: text('Sensitive Data Policies')\n description: Navigate to Sensitive Data Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Sensitive Data Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
656
656
|
"service-credential/create":
|
|
657
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-create\nlabel: Create Service Credentials\nresource: service-credential\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Credentials name (lowercase alphanumeric and hyphens)\n example: example-service-credential\n credential_email:\n required: true\n description: Credential Email\n credential_type:\n required: false\n description: Credential Type\n default: API Certificate\n password:\n required: true\n description: Password\n confirm_password:\n required: true\n description: Confirm Password\n expiry_date:\n required: true\n description: Expiry Date\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Credential')\n wait_for: textbox[name='Name']\n description: Click the Add Credential tab to open the create form\n - id: fill-credential_email\n action: fill\n selector: textbox[name='Credential Email']\n value: \"{credential_email}\"\n description: Enter Credential Email\n - id: select-credential_type\n action: select\n selector: listbox\n context: Credential Type section\n value: \"{credential_type}\"\n description: Select Credential Type\n condition: params.credential_type is set\n - id: fill-password\n action: fill\n selector: textbox[name='Password']\n value: \"{password}\"\n description: Enter Password\n - id: fill-confirm_password\n action: fill\n selector: textbox[name='Confirm Password']\n value: \"{confirm_password}\"\n description: Enter Confirm Password\n - id: fill-expiry_date\n action: fill\n selector: textbox[name='Expiry Date']\n value: \"{expiry_date}\"\n description: Enter Expiry Date\n - id: save\n action: click\n selector: \"[class*='
|
|
657
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-create\nlabel: Create Service Credentials\nresource: service-credential\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Credentials name (lowercase alphanumeric and hyphens)\n example: example-service-credential\n credential_email:\n required: true\n description: Credential Email\n credential_type:\n required: false\n description: Credential Type\n default: API Certificate\n password:\n required: true\n description: Password\n confirm_password:\n required: true\n description: Confirm Password\n expiry_date:\n required: true\n description: Expiry Date\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Credential')\n wait_for: textbox[name='Name']\n description: Click the Add Credential tab to open the create form\n - id: fill-credential_email\n action: fill\n selector: textbox[name='Credential Email']\n value: \"{credential_email}\"\n description: Enter Credential Email\n - id: select-credential_type\n action: select\n selector: listbox\n context: Credential Type section\n value: \"{credential_type}\"\n description: Select Credential Type\n condition: params.credential_type is set\n - id: fill-password\n action: fill\n selector: textbox[name='Password']\n value: \"{password}\"\n description: Enter Password\n - id: fill-confirm_password\n action: fill\n selector: textbox[name='Confirm Password']\n value: \"{confirm_password}\"\n description: Enter Confirm Password\n - id: fill-expiry_date\n action: fill\n selector: textbox[name='Expiry Date']\n value: \"{expiry_date}\"\n description: Enter Expiry Date\n - id: save\n action: click\n selector: \"[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Submit via the primary submit button (Administration forms have no save-bt)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
658
658
|
"service-credential/delete":
|
|
659
659
|
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-delete\nlabel: Delete Service Credentials\nresource: service-credential\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Service Credentials')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
660
660
|
"service-credential/read":
|
|
661
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-read\nlabel: Read Service Credentials\nresource: service-credential\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id:
|
|
661
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-read\nlabel: Read Service Credentials\nresource: service-credential\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
662
662
|
"service-credential/update":
|
|
663
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-update\nlabel: Update Service Credentials\nresource: service-credential\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
663
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-credential-update\nlabel: Update Service Credentials\nresource: service-credential\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-credential\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/administration/iam/service_credentials\n wait_for: text('Service Credentials')\n description: Navigate to Service Credentials list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Service Credentials')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
664
664
|
"service-policy-rule/create":
|
|
665
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-create\nlabel: Create Service Policy Rules\nresource: service-policy-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Policy Rules name (lowercase alphanumeric and hyphens)\n example: example-service-policy-rule\n waf_action:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Service Policy Rule')\n wait_for: textbox[name='Name']\n description: Click the Add Service Policy Rule tab to open the create form\n - id: configure-waf_action\n action: click\n selector:
|
|
665
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-create\nlabel: Create Service Policy Rules\nresource: service-policy-rule\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Service Policy Rules name (lowercase alphanumeric and hyphens)\n example: example-service-policy-rule\n waf_action:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Service Policy Rule')\n wait_for: textbox[name='Name']\n description: Click the Add Service Policy Rule tab to open the create form\n - id: configure-waf_action\n action: click\n selector: text('Configure')\n context: Waf Action section\n description: Open the Waf Action configuration ('Configure' is a link, not a button)\n - id: fill-waf_action-value\n action: fill\n selector: textbox\n value: \"{waf_action}\"\n description: Enter the Waf Action value via the 'waf_action' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
666
666
|
"service-policy-rule/delete":
|
|
667
667
|
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-delete\nlabel: Delete Service Policy Rules\nresource: service-policy-rule\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Service Policy Rules')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
668
668
|
"service-policy-rule/read":
|
|
669
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-read\nlabel: Read Service Policy Rules\nresource: service-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id:
|
|
669
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-read\nlabel: Read Service Policy Rules\nresource: service-policy-rule\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
670
670
|
"service-policy-rule/update":
|
|
671
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-update\nlabel: Update Service Policy Rules\nresource: service-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
671
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-rule-update\nlabel: Update Service Policy Rules\nresource: service-policy-rule\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy-rule\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policy_rules\n wait_for: text('Service Policy Rules')\n description: Navigate to Service Policy Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Service Policy Rules')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
672
672
|
"service-policy/create":
|
|
673
673
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "service-policy-create"\nlabel: "Create Service Policy"\nresource: "service-policy"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "Service policy name (lowercase alphanumeric and hyphens)"\n example: "example-service-policy"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies"\n wait_for: "text(\'Service Policies\')"\n description: "Navigate to Service Policies list page within Web App & API Protection workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add Service Policy\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add Service policy tab to open the inline create form"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the service policy name in the Name textbox"\n\n - id: "save"\n action: "click"\n selector: "[class*=\'save-bt\']"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add Service policy button in the form footer to save"\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 20\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
674
674
|
"service-policy/delete":
|
|
675
675
|
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-delete\nlabel: Delete Service Policies\nresource: service-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\n wait_for: text('Service Policies')\n description: Navigate to Service Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Service Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
676
676
|
"service-policy/read":
|
|
677
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-read\nlabel: Read Service Policies\nresource: service-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\n wait_for: text('Service Policies')\n description: Navigate to Service Policies list page\n - id:
|
|
677
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-read\nlabel: Read Service Policies\nresource: service-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\n wait_for: text('Service Policies')\n description: Navigate to Service Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
678
678
|
"service-policy/update":
|
|
679
|
-
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-update\nlabel: Update Service Policies\nresource: service-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\n wait_for: text('Service Policies')\n description: Navigate to Service Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
679
|
+
"schema: urn:f5xc:console:workflow:v1\nid: service-policy-update\nlabel: Update Service Policies\nresource: service-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-service-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\n wait_for: text('Service Policies')\n description: Navigate to Service Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Service Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
680
680
|
"shared-advertise-policy/create":
|
|
681
|
-
'schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-create\nlabel: Create Advertise Policies\nresource: shared-advertise-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Advertise Policies name (lowercase alphanumeric and hyphens)\n example: example-shared-advertise-policy\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: "\'Field Reference is required\'"\n internet_vip_choice:\n required: false\n description: Internet VIP Choice\n default: Disable advertise on internet vip\n tcp_udp_port:\n required: false\n description: TCP/UDP Port\n default: TCP/UDP Port\n tcp_udp_port_value:\n required: false\n description: TCP/UDP Port (value)\n default: 80\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text(\'Advertise Policies\')\n description: Navigate to Advertise Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Advertise Policy\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Advertise Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: configure-reference\n action: click\n selector:
|
|
681
|
+
'schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-create\nlabel: Create Advertise Policies\nresource: shared-advertise-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - "role_minimum: admin"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Advertise Policies name (lowercase alphanumeric and hyphens)\n example: example-shared-advertise-policy\n virtual_site_or_site_or_network:\n required: false\n description: Virtual-Site or Site or Network\n default: Virtual Site\n reference:\n required: true\n description: "\'Field Reference is required\'"\n internet_vip_choice:\n required: false\n description: Internet VIP Choice\n default: Disable advertise on internet vip\n tcp_udp_port:\n required: false\n description: TCP/UDP Port\n default: TCP/UDP Port\n tcp_udp_port_value:\n required: false\n description: TCP/UDP Port (value)\n default: 80\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text(\'Advertise Policies\')\n description: Navigate to Advertise Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text(\'Add Advertise Policy\')\n wait_for: textbox[name=\'Name\']\n description: Click the Add Advertise Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name=\'Name\']\n value: "{name}"\n description: Enter Name\n - id: select-virtual_site_or_site_or_network\n action: select\n selector: listbox\n context: Virtual-Site or Site or Network section\n value: "{virtual_site_or_site_or_network}"\n description: Select Virtual-Site or Site or Network\n condition: params.virtual_site_or_site_or_network is set\n - id: configure-reference\n action: click\n selector: text(\'Configure\')\n context: Reference section\n description: Open the Reference configuration (\'Configure\' is a link, not a button)\n - id: fill-reference-value\n action: fill\n selector: textbox\n value: "{reference}"\n description: Enter the Reference value via the \'reference\' parameter\n - id: select-internet_vip_choice\n action: select\n selector: listbox\n context: Internet VIP Choice section\n value: "{internet_vip_choice}"\n description: Select Internet VIP Choice\n condition: params.internet_vip_choice is set\n - id: select-tcp_udp_port\n action: select\n selector: listbox\n context: TCP/UDP Port section\n value: "{tcp_udp_port}"\n description: Select TCP/UDP Port\n condition: params.tcp_udp_port is set\n - id: fill-tcp_udp_port_value\n action: fill\n selector: spinbutton[name=\'TCP/UDP Port (value)\']\n value: "{tcp_udp_port_value}"\n description: "Set TCP/UDP Port (value) (default: 80)"\n condition: params.tcp_udp_port_value is set\n - id: save\n action: click\n selector: "[class*=\'save-bt\']"\n context: footer\n wait_for: text(\'{name}\')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - "resource_name_in_list: {name}"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: "2025.06"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n',
|
|
682
682
|
"shared-advertise-policy/delete":
|
|
683
683
|
"schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-delete\nlabel: Delete Advertise Policies\nresource: shared-advertise-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-shared-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
684
684
|
"shared-advertise-policy/read":
|
|
685
|
-
"schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-read\nlabel: Read Advertise Policies\nresource: shared-advertise-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-shared-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id:
|
|
685
|
+
"schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-read\nlabel: Read Advertise Policies\nresource: shared-advertise-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-shared-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
686
686
|
"shared-advertise-policy/update":
|
|
687
|
-
"schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-update\nlabel: Update Advertise Policies\nresource: shared-advertise-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-shared-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
687
|
+
"schema: urn:f5xc:console:workflow:v1\nid: shared-advertise-policy-update\nlabel: Update Advertise Policies\nresource: shared-advertise-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-shared-advertise-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/advertise_policies\n wait_for: text('Advertise Policies')\n description: Navigate to Advertise Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
688
688
|
"site-mesh-group/create":
|
|
689
|
-
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-create\nlabel: Create Site Mesh Groups\nresource: site-mesh-group\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Site Mesh Groups name (lowercase alphanumeric and hyphens)\n example: example-site-mesh-group\n bfd_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Site Mesh Group')\n wait_for: textbox[name='Name']\n description: Click the Add Site Mesh Group tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-bfd_choice\n action: click\n selector:
|
|
689
|
+
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-create\nlabel: Create Site Mesh Groups\nresource: site-mesh-group\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Site Mesh Groups name (lowercase alphanumeric and hyphens)\n example: example-site-mesh-group\n bfd_choice:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Site Mesh Group')\n wait_for: textbox[name='Name']\n description: Click the Add Site Mesh Group tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-bfd_choice\n action: click\n selector: text('Configure')\n context: Bfd Choice section\n description: Open the Bfd Choice configuration ('Configure' is a link, not a button)\n - id: fill-bfd_choice-value\n action: fill\n selector: textbox\n value: \"{bfd_choice}\"\n description: Enter the Bfd Choice value via the 'bfd_choice' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
690
690
|
"site-mesh-group/delete":
|
|
691
691
|
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-delete\nlabel: Delete Site Mesh Groups\nresource: site-mesh-group\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-site-mesh-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Site Mesh Groups')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
692
692
|
"site-mesh-group/read":
|
|
693
|
-
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-read\nlabel: Read Site Mesh Groups\nresource: site-mesh-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-site-mesh-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id:
|
|
693
|
+
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-read\nlabel: Read Site Mesh Groups\nresource: site-mesh-group\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-site-mesh-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
694
694
|
"site-mesh-group/update":
|
|
695
|
-
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-update\nlabel: Update Site Mesh Groups\nresource: site-mesh-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-site-mesh-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
695
|
+
"schema: urn:f5xc:console:workflow:v1\nid: site-mesh-group-update\nlabel: Update Site Mesh Groups\nresource: site-mesh-group\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-site-mesh-group\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/site_to_site_connectivity/site_mesh_groups\n wait_for: text('Site Mesh Groups')\n description: Navigate to Site Mesh Groups list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Site Mesh Groups')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
696
696
|
"subnet/create":
|
|
697
|
-
"schema: urn:f5xc:console:workflow:v1\nid: subnet-create\nlabel: Create Subnets\nresource: subnet\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Subnets name (lowercase alphanumeric and hyphens)\n example: example-subnet\n site_subnet_parameters:\n required: true\n description: Site Subnet Parameters\n site_subnet_params:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Subnet')\n wait_for: textbox[name='Name']\n description: Click the Add Subnet tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-site_subnet_parameters\n action: click\n selector:
|
|
697
|
+
"schema: urn:f5xc:console:workflow:v1\nid: subnet-create\nlabel: Create Subnets\nresource: subnet\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Subnets name (lowercase alphanumeric and hyphens)\n example: example-subnet\n site_subnet_parameters:\n required: true\n description: Site Subnet Parameters\n site_subnet_params:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Subnet')\n wait_for: textbox[name='Name']\n description: Click the Add Subnet tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-site_subnet_parameters\n action: click\n selector: text('Configure')\n context: Site Subnet Parameters section\n description: Open the Site Subnet Parameters configuration ('Configure' is a link, not a button)\n - id: fill-site_subnet_parameters-value\n action: fill\n selector: textbox\n value: \"{site_subnet_parameters}\"\n description: Enter the Site Subnet Parameters value via the 'site_subnet_parameters' parameter\n - id: configure-site_subnet_params\n action: click\n selector: text('Configure')\n context: Site Subnet Params section\n description: Open the Site Subnet Params configuration ('Configure' is a link, not a button)\n - id: fill-site_subnet_params-value\n action: fill\n selector: textbox\n value: \"{site_subnet_params}\"\n description: Enter the Site Subnet Params value via the 'site_subnet_params' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
698
698
|
"subnet/delete":
|
|
699
699
|
"schema: urn:f5xc:console:workflow:v1\nid: subnet-delete\nlabel: Delete Subnets\nresource: subnet\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-subnet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Subnets')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
700
700
|
"subnet/read":
|
|
701
|
-
"schema: urn:f5xc:console:workflow:v1\nid: subnet-read\nlabel: Read Subnets\nresource: subnet\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-subnet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id:
|
|
701
|
+
"schema: urn:f5xc:console:workflow:v1\nid: subnet-read\nlabel: Read Subnets\nresource: subnet\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-subnet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
702
702
|
"subnet/update":
|
|
703
|
-
"schema: urn:f5xc:console:workflow:v1\nid: subnet-update\nlabel: Update Subnets\nresource: subnet\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-subnet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
703
|
+
"schema: urn:f5xc:console:workflow:v1\nid: subnet-update\nlabel: Update Subnets\nresource: subnet\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-subnet\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/subnets\n wait_for: text('Subnets')\n description: Navigate to Subnets list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Subnets')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
704
704
|
"tcp-load-balancer/create":
|
|
705
705
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "tcp-load-balancer-create"\nlabel: "Create TCP Load Balancer"\nresource: "tcp-load-balancer"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "TCP load balancer name (lowercase alphanumeric and hyphens)"\n example: "example-tcp-lb"\n listen_port:\n required: false\n type: "number"\n description: "TCP port to listen on (default 0)"\n example: 443\n origin_pool:\n required: false\n description: "Existing origin pool name to attach"\n example: "example-origin-pool"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers"\n wait_for: "text(\'TCP Load Balancers\')"\n description: "Navigate to TCP Load Balancers list page within Multi-Cloud App Connect workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add TCP Load Balancer\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add TCP Load Balancer tab to open the inline create form"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the TCP load balancer name in the Name textbox"\n\n - id: "attach-origin-pool"\n condition: "params.origin_pool is set"\n action: "click"\n selector: "button:text(\'Add Item\')"\n context: "Origin Pools section"\n wait_for: "listbox"\n description: "Click Add Item in the Origin Pools section to add an origin pool"\n then:\n - id: "select-pool"\n action: "select"\n selector: "listbox"\n context: "Origin Pool selector"\n value: "{origin_pool}"\n description: "Select the named origin pool from the dropdown"\n\n - id: "apply-pool"\n action: "click"\n selector: "button:text(\'Apply\')"\n description: "Confirm origin pool selection"\n\n - id: "save"\n action: "click"\n selector: "button:text(\'Add TCP Load Balancer\')"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add TCP Load Balancer button in the form footer to save"\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 30\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
706
706
|
"tcp-load-balancer/delete":
|
|
707
707
|
"schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-delete\nlabel: Delete TCP Load Balancers\nresource: tcp-load-balancer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tcp-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n wait_for: text('TCP Load Balancers')\n description: Navigate to TCP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('TCP Load Balancers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
708
708
|
"tcp-load-balancer/read":
|
|
709
|
-
"schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-read\nlabel: Read TCP Load Balancers\nresource: tcp-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tcp-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n wait_for: text('TCP Load Balancers')\n description: Navigate to TCP Load Balancers list page\n - id:
|
|
709
|
+
"schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-read\nlabel: Read TCP Load Balancers\nresource: tcp-load-balancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tcp-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n wait_for: text('TCP Load Balancers')\n description: Navigate to TCP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
710
710
|
"tcp-load-balancer/update":
|
|
711
|
-
"schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-update\nlabel: Update TCP Load Balancers\nresource: tcp-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tcp-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n wait_for: text('TCP Load Balancers')\n description: Navigate to TCP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
711
|
+
"schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-update\nlabel: Update TCP Load Balancers\nresource: tcp-load-balancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tcp-load-balancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n wait_for: text('TCP Load Balancers')\n description: Navigate to TCP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('TCP Load Balancers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
712
712
|
"third-party-application/create":
|
|
713
|
-
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-create\nlabel: Create Third-Party Applications\nresource: third-party-application\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Third-Party Applications name (lowercase alphanumeric and hyphens)\n example: example-third-party-application\n application_type:\n required: true\n description: Application Type\n application_configuration:\n required: true\n description: Application Configuration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Third-Party Application')\n wait_for: textbox[name='Name']\n description: Click the Add Third-Party Application tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-application_type\n action: select\n selector: listbox\n context: Application Type section\n value: \"{application_type}\"\n description: Select Application Type\n - id: configure-application_configuration\n action: click\n selector:
|
|
713
|
+
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-create\nlabel: Create Third-Party Applications\nresource: third-party-application\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Third-Party Applications name (lowercase alphanumeric and hyphens)\n example: example-third-party-application\n application_type:\n required: true\n description: Application Type\n application_configuration:\n required: true\n description: Application Configuration\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Third-Party Application')\n wait_for: textbox[name='Name']\n description: Click the Add Third-Party Application tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-application_type\n action: select\n selector: listbox\n context: Application Type section\n value: \"{application_type}\"\n description: Select Application Type\n - id: configure-application_configuration\n action: click\n selector: text('Configure')\n context: Application Configuration section\n description: Open the Application Configuration configuration ('Configure' is a link, not a button)\n - id: fill-application_configuration-value\n action: fill\n selector: textbox\n value: \"{application_configuration}\"\n description: Enter the Application Configuration value via the 'application_configuration' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
714
714
|
"third-party-application/delete":
|
|
715
715
|
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-delete\nlabel: Delete Third-Party Applications\nresource: third-party-application\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-third-party-application\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Third-Party Applications')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
716
716
|
"third-party-application/read":
|
|
717
|
-
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-read\nlabel: Read Third-Party Applications\nresource: third-party-application\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-third-party-application\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id:
|
|
717
|
+
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-read\nlabel: Read Third-Party Applications\nresource: third-party-application\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-third-party-application\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
718
718
|
"third-party-application/update":
|
|
719
|
-
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-update\nlabel: Update Third-Party Applications\nresource: third-party-application\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-third-party-application\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
719
|
+
"schema: urn:f5xc:console:workflow:v1\nid: third-party-application-update\nlabel: Update Third-Party Applications\nresource: third-party-application\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-third-party-application\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/third_party_application\n wait_for: text('Third-Party Applications')\n description: Navigate to Third-Party Applications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Third-Party Applications')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
720
720
|
"tunnel/create":
|
|
721
|
-
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-create\nlabel: Create Tunnels\nresource: tunnel\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Tunnels name (lowercase alphanumeric and hyphens)\n example: example-tunnel\n tunnel_type:\n required: true\n description: Tunnel Type\n local_ip:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Tunnel')\n wait_for: textbox[name='Name']\n description: Click the Add Tunnel tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-tunnel_type\n action: select\n selector: listbox\n context: Tunnel Type section\n value: \"{tunnel_type}\"\n description: Select Tunnel Type\n - id: configure-local_ip\n action: click\n selector:
|
|
721
|
+
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-create\nlabel: Create Tunnels\nresource: tunnel\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Tunnels name (lowercase alphanumeric and hyphens)\n example: example-tunnel\n tunnel_type:\n required: true\n description: Tunnel Type\n local_ip:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Tunnel')\n wait_for: textbox[name='Name']\n description: Click the Add Tunnel tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-tunnel_type\n action: select\n selector: listbox\n context: Tunnel Type section\n value: \"{tunnel_type}\"\n description: Select Tunnel Type\n - id: configure-local_ip\n action: click\n selector: text('Configure')\n context: Local Ip section\n description: Open the Local Ip configuration ('Configure' is a link, not a button)\n - id: fill-local_ip-value\n action: fill\n selector: textbox\n value: \"{local_ip}\"\n description: Enter the Local Ip value via the 'local_ip' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
722
722
|
"tunnel/delete":
|
|
723
723
|
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-delete\nlabel: Delete Tunnels\nresource: tunnel\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tunnel\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Tunnels')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
724
724
|
"tunnel/read":
|
|
725
|
-
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-read\nlabel: Read Tunnels\nresource: tunnel\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tunnel\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id:
|
|
725
|
+
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-read\nlabel: Read Tunnels\nresource: tunnel\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tunnel\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
726
726
|
"tunnel/update":
|
|
727
|
-
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-update\nlabel: Update Tunnels\nresource: tunnel\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tunnel\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
727
|
+
"schema: urn:f5xc:console:workflow:v1\nid: tunnel-update\nlabel: Update Tunnels\nresource: tunnel\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-tunnel\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/tunnels\n wait_for: text('Tunnels')\n description: Navigate to Tunnels list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Tunnels')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
728
728
|
"udp-loadbalancer/create":
|
|
729
729
|
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-create\nlabel: Create UDP Load Balancers\nresource: udp-loadbalancer\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: UDP Load Balancers name (lowercase alphanumeric and hyphens)\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add UDP Load Balancer')\n wait_for: textbox[name='Name']\n description: Click the Add UDP Load Balancer tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
730
730
|
"udp-loadbalancer/delete":
|
|
731
731
|
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-delete\nlabel: Delete UDP Load Balancers\nresource: udp-loadbalancer\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('UDP Load Balancers')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
732
732
|
"udp-loadbalancer/read":
|
|
733
|
-
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-read\nlabel: Read UDP Load Balancers\nresource: udp-loadbalancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id:
|
|
733
|
+
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-read\nlabel: Read UDP Load Balancers\nresource: udp-loadbalancer\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
734
734
|
"udp-loadbalancer/update":
|
|
735
|
-
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-update\nlabel: Update UDP Load Balancers\nresource: udp-loadbalancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
735
|
+
"schema: urn:f5xc:console:workflow:v1\nid: udp-loadbalancer-update\nlabel: Update UDP Load Balancers\nresource: udp-loadbalancer\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-udp-loadbalancer\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n wait_for: text('UDP Load Balancers')\n description: Navigate to UDP Load Balancers list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('UDP Load Balancers')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
736
736
|
"usb-policy/create":
|
|
737
|
-
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-create\nlabel: Create USB Policies\nresource: usb-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: USB Policies name (lowercase alphanumeric and hyphens)\n example: example-usb-policy\n allowed_usb_devices:\n required: true\n description: Allowed USB devices\n allowed_devices:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add USB Policy')\n wait_for: textbox[name='Name']\n description: Click the Add USB Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-allowed_usb_devices\n action: click\n selector:
|
|
737
|
+
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-create\nlabel: Create USB Policies\nresource: usb-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: USB Policies name (lowercase alphanumeric and hyphens)\n example: example-usb-policy\n allowed_usb_devices:\n required: true\n description: Allowed USB devices\n allowed_devices:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add USB Policy')\n wait_for: textbox[name='Name']\n description: Click the Add USB Policy tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-allowed_usb_devices\n action: click\n selector: text('Configure')\n context: Allowed USB devices section\n description: Open the Allowed USB devices configuration ('Configure' is a link, not a button)\n - id: fill-allowed_usb_devices-value\n action: fill\n selector: textbox\n value: \"{allowed_usb_devices}\"\n description: Enter the Allowed USB devices value via the 'allowed_usb_devices' parameter\n - id: configure-allowed_devices\n action: click\n selector: text('Configure')\n context: Allowed Devices section\n description: Open the Allowed Devices configuration ('Configure' is a link, not a button)\n - id: fill-allowed_devices-value\n action: fill\n selector: textbox\n value: \"{allowed_devices}\"\n description: Enter the Allowed Devices value via the 'allowed_devices' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
738
738
|
"usb-policy/delete":
|
|
739
739
|
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-delete\nlabel: Delete USB Policies\nresource: usb-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-usb-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('USB Policies')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
740
740
|
"usb-policy/read":
|
|
741
|
-
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-read\nlabel: Read USB Policies\nresource: usb-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-usb-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id:
|
|
741
|
+
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-read\nlabel: Read USB Policies\nresource: usb-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-usb-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
742
742
|
"usb-policy/update":
|
|
743
|
-
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-update\nlabel: Update USB Policies\nresource: usb-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-usb-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
743
|
+
"schema: urn:f5xc:console:workflow:v1\nid: usb-policy-update\nlabel: Update USB Policies\nresource: usb-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-usb-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/other_configs/usb_policies\n wait_for: text('USB Policies')\n description: Navigate to USB Policies list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('USB Policies')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
744
744
|
"user-identification/create":
|
|
745
|
-
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-create\nlabel: Create User Identifications\nresource: user-identification\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: User Identifications name (lowercase alphanumeric and hyphens)\n example: example-user-identification\n rules:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add User Identification')\n wait_for: textbox[name='Name']\n description: Click the Add User Identification tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-rules\n action: click\n selector:
|
|
745
|
+
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-create\nlabel: Create User Identifications\nresource: user-identification\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: User Identifications name (lowercase alphanumeric and hyphens)\n example: example-user-identification\n rules:\n required: true\n description: \"Server-required: Minimum items of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add User Identification')\n wait_for: textbox[name='Name']\n description: Click the Add User Identification tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-rules\n action: click\n selector: text('Configure')\n context: Rules section\n description: Open the Rules configuration ('Configure' is a link, not a button)\n - id: fill-rules-value\n action: fill\n selector: textbox\n value: \"{rules}\"\n description: Enter the Rules value via the 'rules' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
746
746
|
"user-identification/delete":
|
|
747
747
|
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-delete\nlabel: Delete User Identifications\nresource: user-identification\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-user-identification\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('User Identifications')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
748
748
|
"user-identification/read":
|
|
749
|
-
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-read\nlabel: Read User Identifications\nresource: user-identification\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-user-identification\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id:
|
|
749
|
+
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-read\nlabel: Read User Identifications\nresource: user-identification\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-user-identification\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
750
750
|
"user-identification/update":
|
|
751
|
-
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-update\nlabel: Update User Identifications\nresource: user-identification\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-user-identification\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
751
|
+
"schema: urn:f5xc:console:workflow:v1\nid: user-identification-update\nlabel: Update User Identifications\nresource: user-identification\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-user-identification\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/user_identification\n wait_for: text('User Identifications')\n description: Navigate to User Identifications list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('User Identifications')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
752
752
|
"v1-dns-monitor/create":
|
|
753
753
|
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-create\nlabel: Create DNS Monitors\nresource: v1-dns-monitor\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: DNS Monitors name (lowercase alphanumeric and hyphens)\n example: example-v1-dns-monitor\n domain:\n required: true\n description: Domain\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add DNS Monitor')\n wait_for: textbox[name='Name']\n description: Click the Add DNS Monitor tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-domain\n action: fill\n selector: textbox[name='Domain']\n value: \"{domain}\"\n description: Enter Domain\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
754
754
|
"v1-dns-monitor/delete":
|
|
755
755
|
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-delete\nlabel: Delete DNS Monitors\nresource: v1-dns-monitor\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-dns-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('DNS Monitors')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
756
756
|
"v1-dns-monitor/read":
|
|
757
|
-
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-read\nlabel: Read DNS Monitors\nresource: v1-dns-monitor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-dns-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id:
|
|
757
|
+
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-read\nlabel: Read DNS Monitors\nresource: v1-dns-monitor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-dns-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
758
758
|
"v1-dns-monitor/update":
|
|
759
|
-
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-update\nlabel: Update DNS Monitors\nresource: v1-dns-monitor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-dns-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
759
|
+
"schema: urn:f5xc:console:workflow:v1\nid: v1-dns-monitor-update\nlabel: Update DNS Monitors\nresource: v1-dns-monitor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-dns-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/dns_monitors\n wait_for: text('DNS Monitors')\n description: Navigate to DNS Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('DNS Monitors')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
760
760
|
"v1-http-monitor/create":
|
|
761
761
|
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-create\nlabel: Create HTTP Monitors\nresource: v1-http-monitor\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: HTTP Monitors name (lowercase alphanumeric and hyphens)\n example: example-v1-http-monitor\n url:\n required: true\n description: URL\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add HTTP Monitor')\n wait_for: textbox[name='Name']\n description: Click the Add HTTP Monitor tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: fill-url\n action: fill\n selector: textbox[name='URL']\n value: \"{url}\"\n description: Enter URL\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
762
762
|
"v1-http-monitor/delete":
|
|
763
763
|
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-delete\nlabel: Delete HTTP Monitors\nresource: v1-http-monitor\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-http-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('HTTP Monitors')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
764
764
|
"v1-http-monitor/read":
|
|
765
|
-
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-read\nlabel: Read HTTP Monitors\nresource: v1-http-monitor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-http-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id:
|
|
765
|
+
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-read\nlabel: Read HTTP Monitors\nresource: v1-http-monitor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-http-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
766
766
|
"v1-http-monitor/update":
|
|
767
|
-
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-update\nlabel: Update HTTP Monitors\nresource: v1-http-monitor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-http-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
767
|
+
"schema: urn:f5xc:console:workflow:v1\nid: v1-http-monitor-update\nlabel: Update HTTP Monitors\nresource: v1-http-monitor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-v1-http-monitor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/observability/namespaces/system/manage/monitors/http_monitors\n wait_for: text('HTTP Monitors')\n description: Navigate to HTTP Monitors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('HTTP Monitors')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
768
768
|
"virtual-host/create":
|
|
769
769
|
'schema: "urn:f5xc:console:workflow:v1"\nid: "virtual-host-create"\nlabel: "Create Virtual Host"\nresource: "virtual-host"\noperation: "create"\n\npreconditions:\n - "user_logged_in"\n - "namespace_selected"\n - "role_minimum: admin"\n\nparams:\n namespace:\n required: true\n description: "Target namespace"\n example: "demo"\n name:\n required: true\n description: "Virtual host name (lowercase alphanumeric and hyphens)"\n example: "example-virtual-host"\n\nsteps:\n - id: "navigate-to-list"\n action: "navigate"\n url: "/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts"\n wait_for: "text(\'Virtual Hosts\')"\n description: "Navigate to Virtual Hosts list page within Multi-Cloud App Connect workspace"\n\n - id: "click-add-tab"\n action: "click"\n selector: "tab:text(\'Add Virtual Host\')"\n wait_for: "textbox[name=\'Name\']"\n description: "Click the Add Virtual Host tab to open the inline create form"\n\n - id: "fill-name"\n action: "fill"\n selector: "textbox[name=\'Name\']"\n value: "{name}"\n description: "Enter the virtual host name in the Name textbox"\n\n - id: "save"\n action: "click"\n selector: "button:text(\'Add Virtual Host\')"\n context: "footer"\n wait_for: "text(\'{name}\')"\n wait_timeout_ms: 30000\n description: "Click the Add Virtual Host button in the form footer to save"\n\n - id: "verify-created"\n action: "assert"\n selector: "text(\'{name}\')"\n description: "Verify the resource was created by checking the name appears in the list"\n\npostconditions:\n - "resource_list_page_visible"\n - "resource_name_in_list: {name}"\n\nmetadata:\n confidence: "validated"\n discovered_at: "2026-06-15"\n validated_at: "2026-06-15"\n console_version: "2025.06"\n estimated_duration_seconds: 20\n notes: "Selectors use aria/text-based patterns validated against live console. No data-testid attributes exist."\n',
|
|
770
770
|
"virtual-host/delete":
|
|
771
771
|
"schema: urn:f5xc:console:workflow:v1\nid: virtual-host-delete\nlabel: Delete Virtual Hosts\nresource: virtual-host\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\n wait_for: text('Virtual Hosts')\n description: Navigate to Virtual Hosts list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Virtual Hosts')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
772
772
|
"virtual-host/read":
|
|
773
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-host-read\nlabel: Read Virtual Hosts\nresource: virtual-host\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\n wait_for: text('Virtual Hosts')\n description: Navigate to Virtual Hosts list page\n - id:
|
|
773
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-host-read\nlabel: Read Virtual Hosts\nresource: virtual-host\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\n wait_for: text('Virtual Hosts')\n description: Navigate to Virtual Hosts list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
774
774
|
"virtual-host/update":
|
|
775
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-host-update\nlabel: Update Virtual Hosts\nresource: virtual-host\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\n wait_for: text('Virtual Hosts')\n description: Navigate to Virtual Hosts list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
775
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-host-update\nlabel: Update Virtual Hosts\nresource: virtual-host\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-host\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\n wait_for: text('Virtual Hosts')\n description: Navigate to Virtual Hosts list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Virtual Hosts')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
776
776
|
"virtual-k8s/create":
|
|
777
777
|
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-create\nlabel: Create Virtual K8s\nresource: virtual-k8s\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Virtual K8s name (lowercase alphanumeric and hyphens)\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Virtual K8s')\n wait_for: textbox[name='Name']\n description: Click the Add Virtual K8s tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
778
778
|
"virtual-k8s/delete":
|
|
779
779
|
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-delete\nlabel: Delete Virtual K8s\nresource: virtual-k8s\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Virtual K8s')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
780
780
|
"virtual-k8s/read":
|
|
781
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-read\nlabel: Read Virtual K8s\nresource: virtual-k8s\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id:
|
|
781
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-read\nlabel: Read Virtual K8s\nresource: virtual-k8s\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
782
782
|
"virtual-k8s/update":
|
|
783
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-update\nlabel: Update Virtual K8s\nresource: virtual-k8s\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
783
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-k8s-update\nlabel: Update Virtual K8s\nresource: virtual-k8s\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-k8s\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/distributed-apps/namespaces/{namespace}/applications/virtual_k8s\n wait_for: text('Virtual K8s')\n description: Navigate to Virtual K8s list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Virtual K8s')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
784
784
|
"virtual-network/create":
|
|
785
785
|
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-create\nlabel: Create Virtual Networks\nresource: virtual-network\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Virtual Networks name (lowercase alphanumeric and hyphens)\n example: example-virtual-network\n select_type_of_network:\n required: false\n description: Select Type of Network\n default: Global Network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Virtual Network')\n wait_for: textbox[name='Name']\n description: Click the Add Virtual Network tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: select-select_type_of_network\n action: select\n selector: listbox\n context: Select Type of Network section\n value: \"{select_type_of_network}\"\n description: Select Select Type of Network\n condition: params.select_type_of_network is set\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
786
786
|
"virtual-network/delete":
|
|
787
787
|
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-delete\nlabel: Delete Virtual Networks\nresource: virtual-network\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Virtual Networks')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
788
788
|
"virtual-network/read":
|
|
789
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-read\nlabel: Read Virtual Networks\nresource: virtual-network\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id:
|
|
789
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-read\nlabel: Read Virtual Networks\nresource: virtual-network\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
790
790
|
"virtual-network/update":
|
|
791
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-update\nlabel: Update Virtual Networks\nresource: virtual-network\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
791
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-network-update\nlabel: Update Virtual Networks\nresource: virtual-network\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-network\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/networking/legacy_network_configuration/virtual_networks\n wait_for: text('Virtual Networks')\n description: Navigate to Virtual Networks list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Virtual Networks')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
792
792
|
"virtual-site/create":
|
|
793
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-create\nlabel: Create Virtual Sites\nresource: virtual-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Virtual Sites name (lowercase alphanumeric and hyphens)\n example: example-virtual-site\n site_selector:\n required: true\n description: \"Server-required: Field should be not nil\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/
|
|
793
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-create\nlabel: Create Virtual Sites\nresource: virtual-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Virtual Sites name (lowercase alphanumeric and hyphens)\n example: example-virtual-site\n site_selector:\n required: true\n description: \"Server-required: Field should be not nil\"\n site_type:\n required: true\n description: \"Server-required: Site Type (RE/CE). Must select a value.\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/virtual_sites\n wait_for: text('Virtual Sites')\n description: Navigate to Virtual Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Virtual Site')\n wait_for: textbox[name='Name']\n description: Click the Add Virtual Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-site_selector\n action: click\n selector: text('Configure')\n context: Site Selector section\n description: Open the Site Selector configuration ('Configure' is a link, not a button)\n - id: fill-site_selector-value\n action: fill\n selector: textbox\n value: \"{site_selector}\"\n description: Enter the Site Selector value via the 'site_selector' parameter\n - id: select-site_type\n action: select\n selector: listbox\n context: Site Type section\n value: \"{site_type}\"\n description: Select Site Type\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
794
794
|
"virtual-site/delete":
|
|
795
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-delete\nlabel: Delete Virtual Sites\nresource: virtual-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/
|
|
795
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-delete\nlabel: Delete Virtual Sites\nresource: virtual-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/virtual_sites\n wait_for: text('Virtual Sites')\n description: Navigate to Virtual Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Virtual Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
796
796
|
"virtual-site/read":
|
|
797
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-read\nlabel: Read Virtual Sites\nresource: virtual-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/
|
|
797
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-read\nlabel: Read Virtual Sites\nresource: virtual-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/virtual_sites\n wait_for: text('Virtual Sites')\n description: Navigate to Virtual Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
798
798
|
"virtual-site/update":
|
|
799
|
-
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-update\nlabel: Update Virtual Sites\nresource: virtual-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/
|
|
799
|
+
"schema: urn:f5xc:console:workflow:v1\nid: virtual-site-update\nlabel: Update Virtual Sites\nresource: virtual-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-virtual-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/virtual_sites\n wait_for: text('Virtual Sites')\n description: Navigate to Virtual Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Virtual Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
800
800
|
"voltstack-site/create":
|
|
801
|
-
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-create\nlabel: Create App Stack Sites\nresource: voltstack-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: App Stack Sites name (lowercase alphanumeric and hyphens)\n example: example-voltstack-site\n volterra_certified_hw:\n required: true\n description: \"Server-required: Minimum length of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add App Stack Site')\n wait_for: textbox[name='Name']\n description: Click the Add App Stack Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-volterra_certified_hw\n action: click\n selector:
|
|
801
|
+
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-create\nlabel: Create App Stack Sites\nresource: voltstack-site\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: App Stack Sites name (lowercase alphanumeric and hyphens)\n example: example-voltstack-site\n volterra_certified_hw:\n required: true\n description: \"Server-required: Minimum length of 1\"\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add App Stack Site')\n wait_for: textbox[name='Name']\n description: Click the Add App Stack Site tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: configure-volterra_certified_hw\n action: click\n selector: text('Configure')\n context: Volterra Certified Hw section\n description: Open the Volterra Certified Hw configuration ('Configure' is a link, not a button)\n - id: fill-volterra_certified_hw-value\n action: fill\n selector: textbox\n value: \"{volterra_certified_hw}\"\n description: Enter the Volterra Certified Hw value via the 'volterra_certified_hw' parameter\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
802
802
|
"voltstack-site/delete":
|
|
803
803
|
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-delete\nlabel: Delete App Stack Sites\nresource: voltstack-site\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-voltstack-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('App Stack Sites')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
804
804
|
"voltstack-site/read":
|
|
805
|
-
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-read\nlabel: Read App Stack Sites\nresource: voltstack-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-voltstack-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id:
|
|
805
|
+
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-read\nlabel: Read App Stack Sites\nresource: voltstack-site\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-voltstack-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
806
806
|
"voltstack-site/update":
|
|
807
|
-
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-update\nlabel: Update App Stack Sites\nresource: voltstack-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-voltstack-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
807
|
+
"schema: urn:f5xc:console:workflow:v1\nid: voltstack-site-update\nlabel: Update App Stack Sites\nresource: voltstack-site\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-voltstack-site\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/multi-cloud-network-connect/manage/site_management/cloud_sites/appstack_site\n wait_for: text('App Stack Sites')\n description: Navigate to App Stack Sites list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('App Stack Sites')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
808
808
|
"waf-exclusion-policy/create":
|
|
809
|
-
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-create\nlabel: Create WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: WAF Exclusion Rules name (lowercase alphanumeric and hyphens)\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/
|
|
809
|
+
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-create\nlabel: Create WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: WAF Exclusion Rules name (lowercase alphanumeric and hyphens)\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/waf_exclusion_policy\n wait_for: text('WAF Exclusion Rules')\n description: Navigate to WAF Exclusion Rules list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add WAF Exclusion Rule')\n wait_for: textbox[name='Name']\n description: Click the Add WAF Exclusion Rule tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
810
810
|
"waf-exclusion-policy/delete":
|
|
811
|
-
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-delete\nlabel: Delete WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/
|
|
811
|
+
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-delete\nlabel: Delete WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/waf_exclusion_policy\n wait_for: text('WAF Exclusion Rules')\n description: Navigate to WAF Exclusion Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('WAF Exclusion Rules')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
812
812
|
"waf-exclusion-policy/read":
|
|
813
|
-
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-read\nlabel: Read WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/
|
|
813
|
+
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-read\nlabel: Read WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/waf_exclusion_policy\n wait_for: text('WAF Exclusion Rules')\n description: Navigate to WAF Exclusion Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
814
814
|
"waf-exclusion-policy/update":
|
|
815
|
-
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-update\nlabel: Update WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/
|
|
815
|
+
"schema: urn:f5xc:console:workflow:v1\nid: waf-exclusion-policy-update\nlabel: Update WAF Exclusion Rules\nresource: waf-exclusion-policy\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-waf-exclusion-policy\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/shared_objects/waf_exclusion_policy\n wait_for: text('WAF Exclusion Rules')\n description: Navigate to WAF Exclusion Rules list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('WAF Exclusion Rules')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
816
816
|
"workload-flavor/create":
|
|
817
817
|
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-create\nlabel: Create Workload Flavors\nresource: workload-flavor\noperation: create\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\nparams:\n namespace:\n required: true\n description: Target namespace\n example: demo\n name:\n required: true\n description: Workload Flavors name (lowercase alphanumeric and hyphens)\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id: click-add-tab\n action: click\n selector: tab:text('Add Workload Flavor')\n wait_for: textbox[name='Name']\n description: Click the Add Workload Flavor tab to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: Enter Name\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save via the footer button (never use button:text — it collides with the header tab)\npostconditions:\n - resource_list_page_visible\n - \"resource_name_in_list: {name}\"\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
818
818
|
"workload-flavor/delete":
|
|
819
819
|
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-delete\nlabel: Delete Workload Flavors\nresource: workload-flavor\noperation: delete\npreconditions:\n - user_logged_in\n - namespace_selected\n - \"role_minimum: admin\"\n - \"resource_exists: {name}\"\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Delete')\n description: Open the row kebab menu\n - id: click-delete\n action: click\n selector: option:text('Delete')\n wait_for: button:text('Delete')\n description: Click Delete option\n - id: confirm-delete\n action: click\n selector: button:text('Delete')\n wait_for: text('Workload Flavors')\n wait_timeout_ms: 15000\n description: Confirm deletion\npostconditions:\n - resource_removed_from_list\n - list_page_visible\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
820
820
|
"workload-flavor/read":
|
|
821
|
-
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-read\nlabel: Read Workload Flavors\nresource: workload-flavor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id:
|
|
821
|
+
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-read\nlabel: Read Workload Flavors\nresource: workload-flavor\noperation: read\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view for the target row\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n note: F5 XC rows have no clickable name → detail page; Read opens the config via the kebab\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n note: The config opens read-only (Form/JSON tabs); the agent reads field values via get_page_text/javascript_tool. The\n 'Edit Configuration' button confirms the view loaded.\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
822
822
|
"workload-flavor/update":
|
|
823
|
-
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-update\nlabel: Update Workload Flavors\nresource: workload-flavor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id:
|
|
823
|
+
"schema: urn:f5xc:console:workflow:v1\nid: workload-flavor-update\nlabel: Update Workload Flavors\nresource: workload-flavor\noperation: update\nparams:\n namespace:\n required: true\n example: demo\n name:\n required: true\n example: example-workload-flavor\nsteps:\n - id: navigate-to-list\n action: navigate\n url: /web/workspaces/shared-configuration/manage/workload_flavors\n wait_for: text('Workload Flavors')\n description: Navigate to Workload Flavors list page\n - id: scroll-actions-into-view\n action: scroll\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n description: Scroll the Actions column into view\n - id: open-row-actions\n action: click\n selector: row:has-text('{name}') >> [ves-e2e-test='row-action-dropdown']\n wait_for: option:text('Manage Configuration')\n description: Open the row kebab menu\n - id: open-configuration\n action: click\n selector: option:text('Manage Configuration')\n wait_for: button:text('Edit Configuration')\n wait_timeout_ms: 15000\n description: Open the read-only Manage Configuration view\n - id: enter-edit-mode\n action: click\n selector: button:text('Edit Configuration')\n wait_for: \"[class*='save-bt']\"\n wait_timeout_ms: 20000\n description: Click 'Edit Configuration' to switch from read-only view into the editable form\n - id: modify-fields\n action: wait\n selector: \"[class*='save-bt']\"\n description: The agent fills the specific fields the user asked to modify (dynamic, not pre-generated)\n - id: save\n action: click\n selector: \"[class*='save-bt']\"\n context: footer\n wait_for: text('Workload Flavors')\n wait_timeout_ms: 30000\n description: Save changes via the footer button\nmetadata:\n confidence: inferred\n discovered_at: 2026-06-24\n console_version: \"2025.06\"\n notes: Auto-generated by scripts/generate-workflows.ts from api-specs-enriched field metadata.\n",
|
|
824
824
|
},
|
|
825
825
|
resources: {
|
|
826
826
|
"address-allocator":
|