@f5-sales-demo/xcsh 19.51.2
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/CHANGELOG.md +7073 -0
- package/README.md +14 -0
- package/examples/README.md +21 -0
- package/examples/custom-tools/README.md +109 -0
- package/examples/custom-tools/hello/index.ts +20 -0
- package/examples/custom-tools/todo/index.ts +206 -0
- package/examples/extensions/README.md +143 -0
- package/examples/extensions/api-demo.ts +89 -0
- package/examples/extensions/chalk-logger.ts +25 -0
- package/examples/extensions/hello.ts +32 -0
- package/examples/extensions/pirate.ts +43 -0
- package/examples/extensions/plan-mode.ts +551 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/todo.ts +296 -0
- package/examples/extensions/tools.ts +145 -0
- package/examples/extensions/with-deps/index.ts +36 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +16 -0
- package/examples/hooks/README.md +56 -0
- package/examples/hooks/auto-commit-on-exit.ts +48 -0
- package/examples/hooks/confirm-destructive.ts +58 -0
- package/examples/hooks/custom-compaction.ts +115 -0
- package/examples/hooks/dirty-repo-guard.ts +51 -0
- package/examples/hooks/file-trigger.ts +40 -0
- package/examples/hooks/git-checkpoint.ts +52 -0
- package/examples/hooks/handoff.ts +149 -0
- package/examples/hooks/permission-gate.ts +33 -0
- package/examples/hooks/protected-paths.ts +29 -0
- package/examples/hooks/qna.ts +118 -0
- package/examples/hooks/status-line.ts +39 -0
- package/examples/sdk/01-minimal.ts +21 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +43 -0
- package/examples/sdk/04-skills.ts +43 -0
- package/examples/sdk/06-extensions.ts +80 -0
- package/examples/sdk/06-hooks.ts +61 -0
- package/examples/sdk/07-context-files.ts +35 -0
- package/examples/sdk/08-prompt-templates.ts +41 -0
- package/examples/sdk/08-slash-commands.ts +46 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +54 -0
- package/examples/sdk/11-sessions.ts +47 -0
- package/examples/sdk/README.md +172 -0
- package/package.json +539 -0
- package/scripts/build-info/resolvers.ts +51 -0
- package/scripts/capture-ax-fixture.ts +84 -0
- package/scripts/capture-login-fixture.ts +30 -0
- package/scripts/check-workflow-field-coverage.ts +101 -0
- package/scripts/extension-uat-harness.ts +340 -0
- package/scripts/format-prompts.ts +68 -0
- package/scripts/generate-api-spec-index.ts +580 -0
- package/scripts/generate-branding-index.ts +81 -0
- package/scripts/generate-build-info.ts +106 -0
- package/scripts/generate-console-catalog.ts +88 -0
- package/scripts/generate-console-field-metadata.ts +74 -0
- package/scripts/generate-docs-index.ts +40 -0
- package/scripts/generate-template.ts +32 -0
- package/scripts/generate-terraform-index.ts +81 -0
- package/scripts/mermaid-gallery.ts +132 -0
- package/scripts/uat-matrix-modalities.ts +451 -0
- package/scripts/uat-matrix-report.ts +175 -0
- package/scripts/uat-matrix.ts +353 -0
- package/src/async/index.ts +2 -0
- package/src/async/job-manager.ts +416 -0
- package/src/async/support.ts +5 -0
- package/src/autoresearch/apply-contract-to-state.ts +1 -0
- package/src/autoresearch/command-resume.md +17 -0
- package/src/autoresearch/contract.ts +205 -0
- package/src/autoresearch/dashboard.ts +374 -0
- package/src/autoresearch/git.ts +191 -0
- package/src/autoresearch/helpers.ts +328 -0
- package/src/autoresearch/index.ts +402 -0
- package/src/autoresearch/prompt.md +236 -0
- package/src/autoresearch/resume-message.md +16 -0
- package/src/autoresearch/state.ts +303 -0
- package/src/autoresearch/tools/init-experiment.ts +400 -0
- package/src/autoresearch/tools/log-experiment.ts +793 -0
- package/src/autoresearch/tools/run-experiment.ts +679 -0
- package/src/autoresearch/types.ts +114 -0
- package/src/browser/acquire.ts +249 -0
- package/src/browser/actions.ts +126 -0
- package/src/browser/auth.ts +176 -0
- package/src/browser/ax.ts +134 -0
- package/src/browser/cdp-core.ts +45 -0
- package/src/browser/cdp-page-actions.ts +51 -0
- package/src/browser/chrome-locate.ts +66 -0
- package/src/browser/dom-context.ts +89 -0
- package/src/browser/dt-context.ts +100 -0
- package/src/browser/extension-bridge.ts +182 -0
- package/src/browser/extension-page-actions.ts +397 -0
- package/src/browser/extension-provider.ts +373 -0
- package/src/browser/index.ts +17 -0
- package/src/browser/input-commit.ts +74 -0
- package/src/browser/native-messaging.ts +20 -0
- package/src/browser/page-actions.ts +18 -0
- package/src/browser/provider.ts +155 -0
- package/src/browser/resolver.ts +126 -0
- package/src/browser/selector.ts +40 -0
- package/src/bun-imports.d.ts +22 -0
- package/src/capability/context-file.ts +43 -0
- package/src/capability/extension-module.ts +34 -0
- package/src/capability/extension.ts +47 -0
- package/src/capability/fs.ts +107 -0
- package/src/capability/hook.ts +40 -0
- package/src/capability/index.ts +438 -0
- package/src/capability/instruction.ts +37 -0
- package/src/capability/mcp.ts +74 -0
- package/src/capability/prompt.ts +35 -0
- package/src/capability/rule.ts +224 -0
- package/src/capability/settings.ts +34 -0
- package/src/capability/skill.ts +50 -0
- package/src/capability/slash-command.ts +40 -0
- package/src/capability/ssh.ts +41 -0
- package/src/capability/system-prompt.ts +34 -0
- package/src/capability/tool.ts +38 -0
- package/src/capability/types.ts +168 -0
- package/src/cli/agents-cli.ts +138 -0
- package/src/cli/args.ts +286 -0
- package/src/cli/chrome-cli.ts +88 -0
- package/src/cli/classify-install-target.ts +50 -0
- package/src/cli/commands/init-xdg.ts +27 -0
- package/src/cli/config-cli.ts +418 -0
- package/src/cli/file-processor.ts +121 -0
- package/src/cli/grep-cli.ts +160 -0
- package/src/cli/grievances-cli.ts +78 -0
- package/src/cli/initial-message.ts +58 -0
- package/src/cli/jupyter-cli.ts +106 -0
- package/src/cli/list-models.ts +128 -0
- package/src/cli/plugin-cli.ts +964 -0
- package/src/cli/read-cli.ts +68 -0
- package/src/cli/session-picker.ts +52 -0
- package/src/cli/setup-cli.ts +479 -0
- package/src/cli/shell-cli.ts +174 -0
- package/src/cli/ssh-cli.ts +179 -0
- package/src/cli/stats-cli.ts +182 -0
- package/src/cli/update-cli.ts +446 -0
- package/src/cli/web-search-cli.ts +203 -0
- package/src/cli.ts +123 -0
- package/src/commands/agents.ts +57 -0
- package/src/commands/chrome-host.ts +71 -0
- package/src/commands/chrome.ts +28 -0
- package/src/commands/commit.ts +36 -0
- package/src/commands/config.ts +51 -0
- package/src/commands/grep.ts +48 -0
- package/src/commands/grievances.ts +20 -0
- package/src/commands/jupyter.ts +32 -0
- package/src/commands/launch.ts +144 -0
- package/src/commands/plugin.ts +78 -0
- package/src/commands/read.ts +33 -0
- package/src/commands/setup.ts +42 -0
- package/src/commands/shell.ts +29 -0
- package/src/commands/ssh.ts +60 -0
- package/src/commands/stats.ts +29 -0
- package/src/commands/update.ts +21 -0
- package/src/commands/web-search.ts +46 -0
- package/src/commit/agentic/agent.ts +314 -0
- package/src/commit/agentic/fallback.ts +96 -0
- package/src/commit/agentic/index.ts +354 -0
- package/src/commit/agentic/prompts/analyze-file.md +22 -0
- package/src/commit/agentic/prompts/session-user.md +25 -0
- package/src/commit/agentic/prompts/split-confirm.md +1 -0
- package/src/commit/agentic/prompts/system.md +38 -0
- package/src/commit/agentic/state.ts +60 -0
- package/src/commit/agentic/tools/analyze-file.ts +127 -0
- package/src/commit/agentic/tools/git-file-diff.ts +191 -0
- package/src/commit/agentic/tools/git-hunk.ts +50 -0
- package/src/commit/agentic/tools/git-overview.ts +81 -0
- package/src/commit/agentic/tools/index.ts +54 -0
- package/src/commit/agentic/tools/propose-changelog.ts +139 -0
- package/src/commit/agentic/tools/propose-commit.ts +122 -0
- package/src/commit/agentic/tools/recent-commits.ts +81 -0
- package/src/commit/agentic/tools/schemas.ts +31 -0
- package/src/commit/agentic/tools/split-commit.ts +251 -0
- package/src/commit/agentic/topo-sort.ts +44 -0
- package/src/commit/agentic/trivial.ts +51 -0
- package/src/commit/agentic/validation.ts +183 -0
- package/src/commit/analysis/conventional.ts +122 -0
- package/src/commit/analysis/index.ts +4 -0
- package/src/commit/analysis/scope.ts +242 -0
- package/src/commit/analysis/summary.ts +105 -0
- package/src/commit/analysis/validation.ts +66 -0
- package/src/commit/changelog/detect.ts +40 -0
- package/src/commit/changelog/generate.ts +101 -0
- package/src/commit/changelog/index.ts +234 -0
- package/src/commit/changelog/parse.ts +44 -0
- package/src/commit/cli.ts +85 -0
- package/src/commit/git/diff.ts +148 -0
- package/src/commit/index.ts +5 -0
- package/src/commit/map-reduce/index.ts +69 -0
- package/src/commit/map-reduce/map-phase.ts +193 -0
- package/src/commit/map-reduce/reduce-phase.ts +108 -0
- package/src/commit/map-reduce/utils.ts +9 -0
- package/src/commit/message.ts +11 -0
- package/src/commit/model-selection.ts +66 -0
- package/src/commit/pipeline.ts +242 -0
- package/src/commit/prompts/analysis-system.md +148 -0
- package/src/commit/prompts/analysis-user.md +38 -0
- package/src/commit/prompts/changelog-system.md +50 -0
- package/src/commit/prompts/changelog-user.md +18 -0
- package/src/commit/prompts/file-observer-system.md +24 -0
- package/src/commit/prompts/file-observer-user.md +8 -0
- package/src/commit/prompts/reduce-system.md +50 -0
- package/src/commit/prompts/reduce-user.md +17 -0
- package/src/commit/prompts/summary-retry.md +3 -0
- package/src/commit/prompts/summary-system.md +38 -0
- package/src/commit/prompts/summary-user.md +13 -0
- package/src/commit/prompts/types-description.md +2 -0
- package/src/commit/types.ts +118 -0
- package/src/commit/utils/exclusions.ts +42 -0
- package/src/commit/utils.ts +44 -0
- package/src/config/auto-config.ts +698 -0
- package/src/config/context-schema.json +115 -0
- package/src/config/file-lock.ts +121 -0
- package/src/config/keybindings.ts +493 -0
- package/src/config/mcp-schema.json +230 -0
- package/src/config/model-equivalence.ts +675 -0
- package/src/config/model-registry.ts +2265 -0
- package/src/config/model-resolver.ts +1289 -0
- package/src/config/prompt-templates.ts +271 -0
- package/src/config/resolve-config-value.ts +110 -0
- package/src/config/settings-schema.ts +2155 -0
- package/src/config/settings.ts +730 -0
- package/src/config.ts +418 -0
- package/src/cursor.ts +323 -0
- package/src/dap/client.ts +674 -0
- package/src/dap/config.ts +150 -0
- package/src/dap/defaults.json +211 -0
- package/src/dap/index.ts +4 -0
- package/src/dap/session.ts +1255 -0
- package/src/dap/types.ts +600 -0
- package/src/debug/index.ts +440 -0
- package/src/debug/log-formatting.ts +58 -0
- package/src/debug/log-viewer.ts +908 -0
- package/src/debug/profiler.ts +158 -0
- package/src/debug/report-bundle.ts +365 -0
- package/src/debug/system-info.ts +107 -0
- package/src/discovery/agents-md.ts +67 -0
- package/src/discovery/agents.ts +219 -0
- package/src/discovery/builtin.ts +851 -0
- package/src/discovery/claude-plugins.ts +297 -0
- package/src/discovery/claude.ts +543 -0
- package/src/discovery/cline.ts +83 -0
- package/src/discovery/codex.ts +535 -0
- package/src/discovery/cursor.ts +220 -0
- package/src/discovery/gemini.ts +396 -0
- package/src/discovery/github.ts +118 -0
- package/src/discovery/helpers.ts +934 -0
- package/src/discovery/index.ts +79 -0
- package/src/discovery/language.ts +46 -0
- package/src/discovery/mcp-json.ts +171 -0
- package/src/discovery/opencode.ts +393 -0
- package/src/discovery/plugin-dir-roots.ts +28 -0
- package/src/discovery/ssh.ts +153 -0
- package/src/discovery/substitute-plugin-root.ts +29 -0
- package/src/discovery/vscode.ts +105 -0
- package/src/discovery/windsurf.ts +147 -0
- package/src/edit/diff.ts +818 -0
- package/src/edit/index.ts +481 -0
- package/src/edit/line-hash.ts +67 -0
- package/src/edit/modes/chunk.ts +762 -0
- package/src/edit/modes/hashline.ts +1366 -0
- package/src/edit/modes/patch.ts +1791 -0
- package/src/edit/modes/replace.ts +1115 -0
- package/src/edit/normalize.ts +375 -0
- package/src/edit/renderer.ts +627 -0
- package/src/exa/factory.ts +61 -0
- package/src/exa/index.ts +27 -0
- package/src/exa/mcp-client.ts +293 -0
- package/src/exa/render.ts +232 -0
- package/src/exa/researcher.ts +47 -0
- package/src/exa/search.ts +86 -0
- package/src/exa/types.ts +166 -0
- package/src/exa/websets.ts +247 -0
- package/src/exec/bash-executor.ts +332 -0
- package/src/exec/exec.ts +53 -0
- package/src/exec/idle-timeout-watchdog.ts +126 -0
- package/src/exec/non-interactive-env.ts +48 -0
- package/src/export/custom-share.ts +65 -0
- package/src/export/html/index.ts +161 -0
- package/src/export/html/template.css +1001 -0
- package/src/export/html/template.generated.ts +2 -0
- package/src/export/html/template.html +46 -0
- package/src/export/html/template.js +1950 -0
- package/src/export/html/template.macro.ts +24 -0
- package/src/export/html/vendor/highlight.min.js +1213 -0
- package/src/export/html/vendor/marked.min.js +6 -0
- package/src/export/ttsr.ts +434 -0
- package/src/extensibility/custom-commands/bundled/ci-green/index.ts +25 -0
- package/src/extensibility/custom-commands/bundled/review/index.ts +456 -0
- package/src/extensibility/custom-commands/index.ts +2 -0
- package/src/extensibility/custom-commands/loader.ts +236 -0
- package/src/extensibility/custom-commands/types.ts +111 -0
- package/src/extensibility/custom-tools/index.ts +7 -0
- package/src/extensibility/custom-tools/loader.ts +238 -0
- package/src/extensibility/custom-tools/types.ts +251 -0
- package/src/extensibility/custom-tools/wrapper.ts +47 -0
- package/src/extensibility/extensions/index.ts +15 -0
- package/src/extensibility/extensions/loader.ts +572 -0
- package/src/extensibility/extensions/runner.ts +848 -0
- package/src/extensibility/extensions/types.ts +1394 -0
- package/src/extensibility/extensions/wrapper.ts +191 -0
- package/src/extensibility/hooks/index.ts +5 -0
- package/src/extensibility/hooks/loader.ts +255 -0
- package/src/extensibility/hooks/runner.ts +425 -0
- package/src/extensibility/hooks/tool-wrapper.ts +108 -0
- package/src/extensibility/hooks/types.ts +826 -0
- package/src/extensibility/plugins/doctor.ts +66 -0
- package/src/extensibility/plugins/git-url.ts +281 -0
- package/src/extensibility/plugins/index.ts +9 -0
- package/src/extensibility/plugins/installer.ts +192 -0
- package/src/extensibility/plugins/loader.ts +267 -0
- package/src/extensibility/plugins/manager.ts +731 -0
- package/src/extensibility/plugins/marketplace/cache.ts +136 -0
- package/src/extensibility/plugins/marketplace/fetcher.ts +318 -0
- package/src/extensibility/plugins/marketplace/index.ts +6 -0
- package/src/extensibility/plugins/marketplace/manager.ts +781 -0
- package/src/extensibility/plugins/marketplace/prerequisites.ts +255 -0
- package/src/extensibility/plugins/marketplace/registry.ts +196 -0
- package/src/extensibility/plugins/marketplace/source-resolver.ts +147 -0
- package/src/extensibility/plugins/marketplace/types.ts +201 -0
- package/src/extensibility/plugins/parser.ts +105 -0
- package/src/extensibility/plugins/types.ts +194 -0
- package/src/extensibility/skills.ts +269 -0
- package/src/extensibility/slash-commands.ts +246 -0
- package/src/extensibility/tool-proxy.ts +25 -0
- package/src/extensibility/utils.ts +38 -0
- package/src/index.ts +61 -0
- package/src/internal-urls/agent-protocol.ts +136 -0
- package/src/internal-urls/api-catalog-resolve.ts +495 -0
- package/src/internal-urls/api-catalog-types.ts +94 -0
- package/src/internal-urls/api-spec-resolve.ts +1036 -0
- package/src/internal-urls/api-spec-types.ts +239 -0
- package/src/internal-urls/artifact-protocol.ts +97 -0
- package/src/internal-urls/branding-index.generated.ts +88 -0
- package/src/internal-urls/build-info-runtime.ts +302 -0
- package/src/internal-urls/build-info.generated.ts +33 -0
- package/src/internal-urls/computer-profile.ts +692 -0
- package/src/internal-urls/console-catalog-types.ts +21 -0
- package/src/internal-urls/console-catalog.generated.ts +532 -0
- package/src/internal-urls/console-field-metadata-types.ts +59 -0
- package/src/internal-urls/console-field-metadata.generated.ts +4841 -0
- package/src/internal-urls/console-resolve.ts +178 -0
- package/src/internal-urls/docs-index.generated.ts +698 -0
- package/src/internal-urls/extension-api.md +147 -0
- package/src/internal-urls/index.ts +46 -0
- package/src/internal-urls/jobs-protocol.ts +119 -0
- package/src/internal-urls/json-query.ts +126 -0
- package/src/internal-urls/local-protocol.ts +206 -0
- package/src/internal-urls/mcp-protocol.ts +156 -0
- package/src/internal-urls/memory-protocol.ts +133 -0
- package/src/internal-urls/parse.ts +72 -0
- package/src/internal-urls/profile-collectors.ts +106 -0
- package/src/internal-urls/router.ts +55 -0
- package/src/internal-urls/rule-protocol.ts +55 -0
- package/src/internal-urls/skill-protocol.ts +111 -0
- package/src/internal-urls/terraform-index.generated.ts +1852 -0
- package/src/internal-urls/terraform-resolve.ts +184 -0
- package/src/internal-urls/terraform-types.ts +45 -0
- package/src/internal-urls/types.ts +52 -0
- package/src/internal-urls/user-profile.ts +363 -0
- package/src/internal-urls/xcsh-protocol.ts +644 -0
- package/src/ipy/cancellation.ts +28 -0
- package/src/ipy/executor.ts +1155 -0
- package/src/ipy/gateway-coordinator.ts +424 -0
- package/src/ipy/kernel.ts +1091 -0
- package/src/ipy/modules.ts +144 -0
- package/src/ipy/prelude.py +849 -0
- package/src/ipy/prelude.ts +3 -0
- package/src/ipy/runtime.ts +221 -0
- package/src/locales/ar.json +512 -0
- package/src/locales/de.json +512 -0
- package/src/locales/en.json +549 -0
- package/src/locales/es.json +512 -0
- package/src/locales/fr.json +512 -0
- package/src/locales/hi.json +512 -0
- package/src/locales/index.ts +29 -0
- package/src/locales/it.json +512 -0
- package/src/locales/ja.json +512 -0
- package/src/locales/ko.json +512 -0
- package/src/locales/pt-br.json +512 -0
- package/src/locales/th.json +512 -0
- package/src/locales/zh-cn.json +512 -0
- package/src/locales/zh-tw.json +512 -0
- package/src/lsp/client.ts +941 -0
- package/src/lsp/clients/biome-client.ts +202 -0
- package/src/lsp/clients/index.ts +50 -0
- package/src/lsp/clients/lsp-linter-client.ts +93 -0
- package/src/lsp/clients/swiftlint-client.ts +120 -0
- package/src/lsp/config.ts +418 -0
- package/src/lsp/defaults.json +999 -0
- package/src/lsp/edits.ts +109 -0
- package/src/lsp/index.ts +1746 -0
- package/src/lsp/lspmux.ts +233 -0
- package/src/lsp/render.ts +692 -0
- package/src/lsp/startup-events.ts +13 -0
- package/src/lsp/types.ts +444 -0
- package/src/lsp/utils.ts +691 -0
- package/src/main.ts +944 -0
- package/src/mcp/client.ts +482 -0
- package/src/mcp/config-writer.ts +225 -0
- package/src/mcp/config.ts +365 -0
- package/src/mcp/discoverable-tool-metadata.ts +202 -0
- package/src/mcp/index.ts +29 -0
- package/src/mcp/json-rpc.ts +84 -0
- package/src/mcp/loader.ts +124 -0
- package/src/mcp/manager.ts +1152 -0
- package/src/mcp/oauth-discovery.ts +349 -0
- package/src/mcp/oauth-flow.ts +387 -0
- package/src/mcp/render.ts +157 -0
- package/src/mcp/smithery-auth.ts +104 -0
- package/src/mcp/smithery-connect.ts +145 -0
- package/src/mcp/smithery-registry.ts +477 -0
- package/src/mcp/tool-bridge.ts +417 -0
- package/src/mcp/tool-cache.ts +117 -0
- package/src/mcp/transports/http.ts +475 -0
- package/src/mcp/transports/index.ts +6 -0
- package/src/mcp/transports/stdio.ts +325 -0
- package/src/mcp/types.ts +423 -0
- package/src/memories/index.ts +1115 -0
- package/src/memories/storage.ts +577 -0
- package/src/modes/acp/acp-agent.ts +1361 -0
- package/src/modes/acp/acp-event-mapper.ts +538 -0
- package/src/modes/acp/acp-mode.ts +15 -0
- package/src/modes/acp/index.ts +2 -0
- package/src/modes/components/agent-dashboard.ts +1124 -0
- package/src/modes/components/assistant-message.ts +213 -0
- package/src/modes/components/bash-execution.ts +345 -0
- package/src/modes/components/bordered-loader.ts +41 -0
- package/src/modes/components/branch-summary-message.ts +45 -0
- package/src/modes/components/btw-panel.ts +103 -0
- package/src/modes/components/compaction-summary-message.ts +51 -0
- package/src/modes/components/context-add-wizard.ts +534 -0
- package/src/modes/components/countdown-timer.ts +75 -0
- package/src/modes/components/custom-editor.ts +238 -0
- package/src/modes/components/custom-message.ts +91 -0
- package/src/modes/components/diff.ts +210 -0
- package/src/modes/components/dynamic-border.ts +25 -0
- package/src/modes/components/extensions/extension-dashboard.ts +326 -0
- package/src/modes/components/extensions/extension-list.ts +492 -0
- package/src/modes/components/extensions/index.ts +9 -0
- package/src/modes/components/extensions/inspector-panel.ts +317 -0
- package/src/modes/components/extensions/state-manager.ts +587 -0
- package/src/modes/components/extensions/types.ts +191 -0
- package/src/modes/components/footer.ts +262 -0
- package/src/modes/components/gutter-block.ts +315 -0
- package/src/modes/components/history-search.ts +158 -0
- package/src/modes/components/hook-editor.ts +151 -0
- package/src/modes/components/hook-input.ts +81 -0
- package/src/modes/components/hook-message.ts +100 -0
- package/src/modes/components/hook-selector.ts +192 -0
- package/src/modes/components/index.ts +36 -0
- package/src/modes/components/keybinding-hints.ts +65 -0
- package/src/modes/components/login-dialog.ts +164 -0
- package/src/modes/components/mcp-add-wizard.ts +1314 -0
- package/src/modes/components/model-selector.ts +946 -0
- package/src/modes/components/oauth-selector.ts +211 -0
- package/src/modes/components/plugin-selector.ts +95 -0
- package/src/modes/components/plugin-settings.ts +477 -0
- package/src/modes/components/plugins/index.ts +5 -0
- package/src/modes/components/plugins/plugin-dashboard.ts +523 -0
- package/src/modes/components/plugins/plugin-inspector-pane.ts +84 -0
- package/src/modes/components/plugins/plugin-list-pane.ts +109 -0
- package/src/modes/components/plugins/state-manager.ts +229 -0
- package/src/modes/components/plugins/types.ts +51 -0
- package/src/modes/components/plugins/utils.ts +6 -0
- package/src/modes/components/python-execution.ts +244 -0
- package/src/modes/components/queue-mode-selector.ts +56 -0
- package/src/modes/components/read-tool-group.ts +137 -0
- package/src/modes/components/session-observer-overlay.ts +483 -0
- package/src/modes/components/session-selector.ts +343 -0
- package/src/modes/components/settings-defs.ts +568 -0
- package/src/modes/components/settings-selector.ts +641 -0
- package/src/modes/components/show-images-selector.ts +45 -0
- package/src/modes/components/skill-message.ts +90 -0
- package/src/modes/components/status-line/context-gradient.ts +64 -0
- package/src/modes/components/status-line/git-utils.ts +42 -0
- package/src/modes/components/status-line/hex-ansi.ts +29 -0
- package/src/modes/components/status-line/index.ts +4 -0
- package/src/modes/components/status-line/presets.ts +174 -0
- package/src/modes/components/status-line/segments.ts +494 -0
- package/src/modes/components/status-line/separators.ts +55 -0
- package/src/modes/components/status-line/token-rate.ts +66 -0
- package/src/modes/components/status-line/types.ts +96 -0
- package/src/modes/components/status-line-segment-editor.ts +361 -0
- package/src/modes/components/status-line.ts +729 -0
- package/src/modes/components/theme-selector.ts +63 -0
- package/src/modes/components/thinking-selector.ts +52 -0
- package/src/modes/components/todo-reminder.ts +54 -0
- package/src/modes/components/tool-execution.ts +781 -0
- package/src/modes/components/tree-selector.ts +908 -0
- package/src/modes/components/ttsr-notification.ts +80 -0
- package/src/modes/components/user-message-selector.ts +141 -0
- package/src/modes/components/user-message.ts +100 -0
- package/src/modes/components/visual-truncate.ts +63 -0
- package/src/modes/components/welcome-checks.ts +313 -0
- package/src/modes/components/welcome.ts +270 -0
- package/src/modes/controllers/btw-controller.ts +193 -0
- package/src/modes/controllers/chord-routing.ts +37 -0
- package/src/modes/controllers/command-controller.ts +1293 -0
- package/src/modes/controllers/context-command-controller.ts +61 -0
- package/src/modes/controllers/event-controller.ts +743 -0
- package/src/modes/controllers/extension-ui-controller.ts +983 -0
- package/src/modes/controllers/input-controller.ts +877 -0
- package/src/modes/controllers/mcp-command-controller.ts +1940 -0
- package/src/modes/controllers/selector-controller.ts +1292 -0
- package/src/modes/controllers/ssh-command-controller.ts +421 -0
- package/src/modes/index.ts +34 -0
- package/src/modes/interactive-mode.ts +1781 -0
- package/src/modes/oauth-manual-input.ts +42 -0
- package/src/modes/print-mode.ts +196 -0
- package/src/modes/prompt-action-autocomplete.ts +231 -0
- package/src/modes/rpc/host-tools.ts +186 -0
- package/src/modes/rpc/rpc-client.ts +762 -0
- package/src/modes/rpc/rpc-mode.ts +877 -0
- package/src/modes/rpc/rpc-types.ts +322 -0
- package/src/modes/session-observer-registry.ts +146 -0
- package/src/modes/shared.ts +30 -0
- package/src/modes/theme/defaults/index.ts +7 -0
- package/src/modes/theme/defaults/xcsh-dark.json +113 -0
- package/src/modes/theme/defaults/xcsh-light.json +115 -0
- package/src/modes/theme/mermaid-cache.ts +151 -0
- package/src/modes/theme/mermaid-palette.ts +39 -0
- package/src/modes/theme/theme-schema.json +553 -0
- package/src/modes/theme/theme.ts +2563 -0
- package/src/modes/types.ts +273 -0
- package/src/modes/utils/hotkeys-markdown.ts +60 -0
- package/src/modes/utils/keybinding-matchers.ts +30 -0
- package/src/modes/utils/read-group-outcome-aggregator.ts +55 -0
- package/src/modes/utils/sanitize-error-message.ts +60 -0
- package/src/modes/utils/tools-markdown.ts +28 -0
- package/src/modes/utils/ui-helpers.ts +734 -0
- package/src/plan-mode/approved-plan.ts +55 -0
- package/src/plan-mode/state.ts +6 -0
- package/src/priority.json +37 -0
- package/src/prompts/agents/designer.md +67 -0
- package/src/prompts/agents/explore.md +61 -0
- package/src/prompts/agents/frontmatter.md +10 -0
- package/src/prompts/agents/init.md +36 -0
- package/src/prompts/agents/librarian.md +121 -0
- package/src/prompts/agents/plan.md +49 -0
- package/src/prompts/agents/reviewer.md +127 -0
- package/src/prompts/agents/task.md +16 -0
- package/src/prompts/ci-green-request.md +35 -0
- package/src/prompts/compaction/branch-summary-context.md +5 -0
- package/src/prompts/compaction/branch-summary-preamble.md +2 -0
- package/src/prompts/compaction/branch-summary.md +30 -0
- package/src/prompts/compaction/compaction-short-summary.md +9 -0
- package/src/prompts/compaction/compaction-summary-context.md +5 -0
- package/src/prompts/compaction/compaction-summary.md +38 -0
- package/src/prompts/compaction/compaction-turn-prefix.md +17 -0
- package/src/prompts/compaction/compaction-update-summary.md +45 -0
- package/src/prompts/memories/consolidation.md +30 -0
- package/src/prompts/memories/read-path.md +11 -0
- package/src/prompts/memories/stage_one_input.md +6 -0
- package/src/prompts/memories/stage_one_system.md +21 -0
- package/src/prompts/review-request.md +70 -0
- package/src/prompts/system/agent-creation-architect.md +65 -0
- package/src/prompts/system/agent-creation-user.md +6 -0
- package/src/prompts/system/auto-handoff-threshold-focus.md +1 -0
- package/src/prompts/system/btw-user.md +8 -0
- package/src/prompts/system/commit-message-system.md +2 -0
- package/src/prompts/system/custom-system-prompt.md +82 -0
- package/src/prompts/system/eager-todo.md +13 -0
- package/src/prompts/system/file-operations.md +10 -0
- package/src/prompts/system/handoff-document.md +48 -0
- package/src/prompts/system/plan-mode-active.md +114 -0
- package/src/prompts/system/plan-mode-approved.md +23 -0
- package/src/prompts/system/plan-mode-reference.md +14 -0
- package/src/prompts/system/plan-mode-subagent.md +34 -0
- package/src/prompts/system/plan-mode-tool-decision-reminder.md +9 -0
- package/src/prompts/system/subagent-submit-reminder.md +7 -0
- package/src/prompts/system/subagent-system-prompt.md +36 -0
- package/src/prompts/system/subagent-user-prompt.md +12 -0
- package/src/prompts/system/summarization-system.md +3 -0
- package/src/prompts/system/system-prompt.md +698 -0
- package/src/prompts/system/title-system.md +2 -0
- package/src/prompts/system/ttsr-interrupt.md +7 -0
- package/src/prompts/system/web-search.md +28 -0
- package/src/prompts/tools/ask.md +28 -0
- package/src/prompts/tools/ast-edit.md +48 -0
- package/src/prompts/tools/ast-grep.md +54 -0
- package/src/prompts/tools/async-result.md +5 -0
- package/src/prompts/tools/bash.md +67 -0
- package/src/prompts/tools/browser.md +26 -0
- package/src/prompts/tools/calculator.md +10 -0
- package/src/prompts/tools/cancel-job.md +5 -0
- package/src/prompts/tools/catalog-workflow-runner.md +13 -0
- package/src/prompts/tools/checkpoint.md +16 -0
- package/src/prompts/tools/chunk-edit.md +279 -0
- package/src/prompts/tools/debug.md +43 -0
- package/src/prompts/tools/display-image.md +23 -0
- package/src/prompts/tools/exit-plan-mode.md +41 -0
- package/src/prompts/tools/find.md +26 -0
- package/src/prompts/tools/gemini-image.md +7 -0
- package/src/prompts/tools/grep.md +29 -0
- package/src/prompts/tools/hashline.md +131 -0
- package/src/prompts/tools/inspect-image-system.md +20 -0
- package/src/prompts/tools/inspect-image.md +32 -0
- package/src/prompts/tools/lsp.md +33 -0
- package/src/prompts/tools/patch.md +77 -0
- package/src/prompts/tools/poll.md +5 -0
- package/src/prompts/tools/python.md +60 -0
- package/src/prompts/tools/read-chunk.md +35 -0
- package/src/prompts/tools/read.md +63 -0
- package/src/prompts/tools/render-mermaid.md +9 -0
- package/src/prompts/tools/replace.md +36 -0
- package/src/prompts/tools/resolve.md +8 -0
- package/src/prompts/tools/rewind.md +13 -0
- package/src/prompts/tools/search-tool-bm25.md +34 -0
- package/src/prompts/tools/ssh.md +44 -0
- package/src/prompts/tools/task-summary.md +28 -0
- package/src/prompts/tools/task.md +131 -0
- package/src/prompts/tools/todo-write.md +89 -0
- package/src/prompts/tools/vim.md +98 -0
- package/src/prompts/tools/web-search.md +10 -0
- package/src/prompts/tools/write.md +14 -0
- package/src/prompts/tools/xcsh-api.md +283 -0
- package/src/resource-management/index.ts +42 -0
- package/src/sdk.ts +2123 -0
- package/src/secrets/index.ts +146 -0
- package/src/secrets/obfuscator.ts +290 -0
- package/src/secrets/regex.ts +21 -0
- package/src/services/context-env.ts +102 -0
- package/src/services/xcsh-api-client.ts +230 -0
- package/src/services/xcsh-context-command.ts +803 -0
- package/src/services/xcsh-context-display.ts +49 -0
- package/src/services/xcsh-context-indicators.ts +17 -0
- package/src/services/xcsh-context-segment.ts +39 -0
- package/src/services/xcsh-context.ts +1410 -0
- package/src/services/xcsh-env.ts +107 -0
- package/src/services/xcsh-knowledge.ts +177 -0
- package/src/services/xcsh-table.ts +164 -0
- package/src/session/agent-session.ts +6690 -0
- package/src/session/agent-storage.ts +451 -0
- package/src/session/artifacts.ts +132 -0
- package/src/session/auth-storage.ts +17 -0
- package/src/session/blob-store.ts +135 -0
- package/src/session/compaction/branch-summarization.ts +322 -0
- package/src/session/compaction/compaction.ts +1388 -0
- package/src/session/compaction/index.ts +7 -0
- package/src/session/compaction/pruning.ts +91 -0
- package/src/session/compaction/utils.ts +184 -0
- package/src/session/history-storage.ts +253 -0
- package/src/session/messages.ts +597 -0
- package/src/session/session-dump-format.ts +203 -0
- package/src/session/session-manager.ts +2816 -0
- package/src/session/session-storage.ts +370 -0
- package/src/session/streaming-output.ts +770 -0
- package/src/session/tool-choice-queue.ts +213 -0
- package/src/slash-commands/builtin-registry.ts +1614 -0
- package/src/slash-commands/export-command.ts +178 -0
- package/src/slash-commands/marketplace-install-parser.ts +99 -0
- package/src/slash-commands/resource-commands.ts +250 -0
- package/src/ssh/config-writer.ts +183 -0
- package/src/ssh/connection-manager.ts +445 -0
- package/src/ssh/ssh-executor.ts +131 -0
- package/src/ssh/sshfs-mount.ts +137 -0
- package/src/ssh/utils.ts +8 -0
- package/src/stt/downloader.ts +71 -0
- package/src/stt/index.ts +3 -0
- package/src/stt/recorder.ts +351 -0
- package/src/stt/setup.ts +52 -0
- package/src/stt/stt-controller.ts +160 -0
- package/src/stt/transcribe.py +70 -0
- package/src/stt/transcriber.ts +91 -0
- package/src/system-prompt.ts +688 -0
- package/src/task/agents.ts +166 -0
- package/src/task/commands.ts +131 -0
- package/src/task/discovery.ts +126 -0
- package/src/task/executor.ts +1324 -0
- package/src/task/index.ts +1197 -0
- package/src/task/isolation-backend.ts +72 -0
- package/src/task/name-generator.ts +1577 -0
- package/src/task/output-manager.ts +107 -0
- package/src/task/parallel.ts +116 -0
- package/src/task/render.ts +1035 -0
- package/src/task/subprocess-tool-registry.ts +88 -0
- package/src/task/template.ts +33 -0
- package/src/task/types.ts +230 -0
- package/src/task/worktree.ts +580 -0
- package/src/task/xcsh-command.ts +26 -0
- package/src/thinking.ts +87 -0
- package/src/tools/action-renderer.ts +198 -0
- package/src/tools/archive-reader.ts +315 -0
- package/src/tools/ask.ts +791 -0
- package/src/tools/ast-edit.ts +492 -0
- package/src/tools/ast-grep.ts +453 -0
- package/src/tools/auto-generated-guard.ts +305 -0
- package/src/tools/bash-interactive.ts +383 -0
- package/src/tools/bash-interceptor.ts +67 -0
- package/src/tools/bash-normalize.ts +107 -0
- package/src/tools/bash-skill-urls.ts +246 -0
- package/src/tools/bash.ts +878 -0
- package/src/tools/browser-renderer.ts +129 -0
- package/src/tools/browser.ts +1366 -0
- package/src/tools/calculator.ts +543 -0
- package/src/tools/cancel-job.ts +100 -0
- package/src/tools/catalog-workflow-runner.ts +718 -0
- package/src/tools/checkpoint.ts +133 -0
- package/src/tools/context.ts +39 -0
- package/src/tools/debug.ts +1004 -0
- package/src/tools/display-image-renderer.ts +96 -0
- package/src/tools/display-image.ts +109 -0
- package/src/tools/exit-plan-mode.ts +101 -0
- package/src/tools/fetch.ts +1462 -0
- package/src/tools/find.ts +437 -0
- package/src/tools/fs-cache-invalidation.ts +33 -0
- package/src/tools/gemini-image.ts +1004 -0
- package/src/tools/grep.ts +705 -0
- package/src/tools/index.ts +442 -0
- package/src/tools/inspect-image-renderer.ts +101 -0
- package/src/tools/inspect-image.ts +176 -0
- package/src/tools/json-tree.ts +266 -0
- package/src/tools/jtd-to-json-schema.ts +199 -0
- package/src/tools/jtd-to-typescript.ts +136 -0
- package/src/tools/jtd-utils.ts +102 -0
- package/src/tools/list-limit.ts +40 -0
- package/src/tools/mermaid-renderer.ts +127 -0
- package/src/tools/notebook.ts +288 -0
- package/src/tools/output-meta.ts +588 -0
- package/src/tools/path-utils.ts +560 -0
- package/src/tools/plan-mode-guard.ts +41 -0
- package/src/tools/poll-tool.ts +177 -0
- package/src/tools/puppeteer/00_stealth_tampering.txt +63 -0
- package/src/tools/puppeteer/01_stealth_activity.txt +20 -0
- package/src/tools/puppeteer/02_stealth_hairline.txt +11 -0
- package/src/tools/puppeteer/03_stealth_botd.txt +384 -0
- package/src/tools/puppeteer/04_stealth_iframe.txt +81 -0
- package/src/tools/puppeteer/05_stealth_webgl.txt +75 -0
- package/src/tools/puppeteer/06_stealth_screen.txt +72 -0
- package/src/tools/puppeteer/07_stealth_fonts.txt +97 -0
- package/src/tools/puppeteer/08_stealth_audio.txt +51 -0
- package/src/tools/puppeteer/09_stealth_locale.txt +46 -0
- package/src/tools/puppeteer/10_stealth_plugins.txt +206 -0
- package/src/tools/puppeteer/11_stealth_hardware.txt +8 -0
- package/src/tools/puppeteer/12_stealth_codecs.txt +40 -0
- package/src/tools/puppeteer/13_stealth_worker.txt +74 -0
- package/src/tools/python.ts +1184 -0
- package/src/tools/read.ts +1591 -0
- package/src/tools/render-mermaid.ts +93 -0
- package/src/tools/render-utils.ts +677 -0
- package/src/tools/renderers.ts +82 -0
- package/src/tools/report-tool-issue.ts +80 -0
- package/src/tools/resolve.ts +196 -0
- package/src/tools/review.ts +238 -0
- package/src/tools/search-tool-bm25.ts +288 -0
- package/src/tools/sqlite-reader.ts +623 -0
- package/src/tools/ssh.ts +322 -0
- package/src/tools/submit-result.ts +229 -0
- package/src/tools/todo-render.ts +33 -0
- package/src/tools/todo-write.ts +440 -0
- package/src/tools/tool-errors.ts +62 -0
- package/src/tools/tool-result.ts +93 -0
- package/src/tools/tool-timeouts.ts +30 -0
- package/src/tools/vim.ts +981 -0
- package/src/tools/write.ts +671 -0
- package/src/tools/xcsh-api-renderer.ts +402 -0
- package/src/tools/xcsh-api.ts +887 -0
- package/src/tui/code-cell.ts +101 -0
- package/src/tui/file-list.ts +47 -0
- package/src/tui/index.ts +11 -0
- package/src/tui/output-block.ts +175 -0
- package/src/tui/status-line.ts +39 -0
- package/src/tui/tree-list.ts +84 -0
- package/src/tui/types.ts +15 -0
- package/src/tui/utils.ts +103 -0
- package/src/utils/changelog.ts +98 -0
- package/src/utils/clipboard.ts +80 -0
- package/src/utils/command-args.ts +76 -0
- package/src/utils/commit-message-generator.ts +137 -0
- package/src/utils/edit-mode.ts +50 -0
- package/src/utils/event-bus.ts +33 -0
- package/src/utils/external-editor.ts +65 -0
- package/src/utils/file-display-mode.ts +37 -0
- package/src/utils/file-mentions.ts +376 -0
- package/src/utils/fuzzy.ts +108 -0
- package/src/utils/git.ts +1495 -0
- package/src/utils/gitstatus.ts +140 -0
- package/src/utils/image-convert.ts +27 -0
- package/src/utils/image-loading.ts +98 -0
- package/src/utils/image-passthrough.ts +118 -0
- package/src/utils/image-resize.ts +272 -0
- package/src/utils/image-viewer.ts +17 -0
- package/src/utils/lang-from-path.ts +239 -0
- package/src/utils/markit.ts +81 -0
- package/src/utils/open.ts +20 -0
- package/src/utils/session-color.ts +55 -0
- package/src/utils/shell-snapshot.ts +188 -0
- package/src/utils/title-generator.ts +193 -0
- package/src/utils/tool-choice.ts +28 -0
- package/src/utils/tools-manager.ts +356 -0
- package/src/vim/buffer.ts +309 -0
- package/src/vim/commands.ts +382 -0
- package/src/vim/engine.ts +2426 -0
- package/src/vim/parser.ts +151 -0
- package/src/vim/render.ts +252 -0
- package/src/vim/types.ts +197 -0
- package/src/web/kagi.ts +174 -0
- package/src/web/parallel.ts +346 -0
- package/src/web/scrapers/artifacthub.ts +207 -0
- package/src/web/scrapers/arxiv.ts +83 -0
- package/src/web/scrapers/aur.ts +162 -0
- package/src/web/scrapers/biorxiv.ts +133 -0
- package/src/web/scrapers/bluesky.ts +262 -0
- package/src/web/scrapers/brew.ts +172 -0
- package/src/web/scrapers/cheatsh.ts +68 -0
- package/src/web/scrapers/chocolatey.ts +196 -0
- package/src/web/scrapers/choosealicense.ts +95 -0
- package/src/web/scrapers/cisa-kev.ts +87 -0
- package/src/web/scrapers/clojars.ts +154 -0
- package/src/web/scrapers/coingecko.ts +177 -0
- package/src/web/scrapers/crates-io.ts +110 -0
- package/src/web/scrapers/crossref.ts +136 -0
- package/src/web/scrapers/devto.ts +147 -0
- package/src/web/scrapers/discogs.ts +306 -0
- package/src/web/scrapers/discourse.ts +197 -0
- package/src/web/scrapers/dockerhub.ts +138 -0
- package/src/web/scrapers/docs-rs.ts +653 -0
- package/src/web/scrapers/fdroid.ts +134 -0
- package/src/web/scrapers/firefox-addons.ts +191 -0
- package/src/web/scrapers/flathub.ts +223 -0
- package/src/web/scrapers/github-gist.ts +58 -0
- package/src/web/scrapers/github.ts +452 -0
- package/src/web/scrapers/gitlab.ts +401 -0
- package/src/web/scrapers/go-pkg.ts +266 -0
- package/src/web/scrapers/hackage.ts +140 -0
- package/src/web/scrapers/hackernews.ts +189 -0
- package/src/web/scrapers/hex.ts +105 -0
- package/src/web/scrapers/huggingface.ts +321 -0
- package/src/web/scrapers/iacr.ts +89 -0
- package/src/web/scrapers/index.ts +252 -0
- package/src/web/scrapers/jetbrains-marketplace.ts +159 -0
- package/src/web/scrapers/lemmy.ts +203 -0
- package/src/web/scrapers/lobsters.ts +175 -0
- package/src/web/scrapers/mastodon.ts +292 -0
- package/src/web/scrapers/maven.ts +138 -0
- package/src/web/scrapers/mdn.ts +169 -0
- package/src/web/scrapers/metacpan.ts +222 -0
- package/src/web/scrapers/musicbrainz.ts +250 -0
- package/src/web/scrapers/npm.ts +98 -0
- package/src/web/scrapers/nuget.ts +183 -0
- package/src/web/scrapers/nvd.ts +222 -0
- package/src/web/scrapers/ollama.ts +239 -0
- package/src/web/scrapers/open-vsx.ts +106 -0
- package/src/web/scrapers/opencorporates.ts +292 -0
- package/src/web/scrapers/openlibrary.ts +336 -0
- package/src/web/scrapers/orcid.ts +286 -0
- package/src/web/scrapers/osv.ts +176 -0
- package/src/web/scrapers/packagist.ts +160 -0
- package/src/web/scrapers/pub-dev.ts +143 -0
- package/src/web/scrapers/pubmed.ts +211 -0
- package/src/web/scrapers/pypi.ts +112 -0
- package/src/web/scrapers/rawg.ts +110 -0
- package/src/web/scrapers/readthedocs.ts +120 -0
- package/src/web/scrapers/reddit.ts +95 -0
- package/src/web/scrapers/repology.ts +251 -0
- package/src/web/scrapers/rfc.ts +201 -0
- package/src/web/scrapers/rubygems.ts +103 -0
- package/src/web/scrapers/searchcode.ts +190 -0
- package/src/web/scrapers/sec-edgar.ts +261 -0
- package/src/web/scrapers/semantic-scholar.ts +171 -0
- package/src/web/scrapers/snapcraft.ts +187 -0
- package/src/web/scrapers/sourcegraph.ts +336 -0
- package/src/web/scrapers/spdx.ts +108 -0
- package/src/web/scrapers/spotify.ts +198 -0
- package/src/web/scrapers/stackoverflow.ts +120 -0
- package/src/web/scrapers/terraform.ts +277 -0
- package/src/web/scrapers/tldr.ts +47 -0
- package/src/web/scrapers/twitter.ts +93 -0
- package/src/web/scrapers/types.ts +267 -0
- package/src/web/scrapers/utils.ts +109 -0
- package/src/web/scrapers/vimeo.ts +133 -0
- package/src/web/scrapers/vscode-marketplace.ts +187 -0
- package/src/web/scrapers/w3c.ts +156 -0
- package/src/web/scrapers/wikidata.ts +344 -0
- package/src/web/scrapers/wikipedia.ts +84 -0
- package/src/web/scrapers/youtube.ts +313 -0
- package/src/web/search/errors.ts +120 -0
- package/src/web/search/index.ts +346 -0
- package/src/web/search/params.ts +129 -0
- package/src/web/search/provider.ts +97 -0
- package/src/web/search/providers/anthropic.ts +339 -0
- package/src/web/search/providers/base.ts +35 -0
- package/src/web/search/providers/brave.ts +150 -0
- package/src/web/search/providers/codex.ts +402 -0
- package/src/web/search/providers/exa.ts +264 -0
- package/src/web/search/providers/firecrawl.ts +115 -0
- package/src/web/search/providers/gemini.ts +566 -0
- package/src/web/search/providers/jina.ts +99 -0
- package/src/web/search/providers/kagi.ts +70 -0
- package/src/web/search/providers/kimi.ts +157 -0
- package/src/web/search/providers/parallel.ts +63 -0
- package/src/web/search/providers/perplexity.ts +546 -0
- package/src/web/search/providers/synthetic.ts +113 -0
- package/src/web/search/providers/tavily.ts +162 -0
- package/src/web/search/providers/utils.ts +36 -0
- package/src/web/search/providers/zai.ts +311 -0
- package/src/web/search/render.ts +348 -0
- package/src/web/search/types.ts +438 -0
- package/src/web/search/utils.ts +17 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
// Auto-generated by scripts/generate-console-catalog.ts - DO NOT EDIT
|
|
2
|
+
|
|
3
|
+
import type { ConsoleCatalogData } from "./console-catalog-types";
|
|
4
|
+
|
|
5
|
+
export const CONSOLE_CATALOG_VERSION = "local";
|
|
6
|
+
|
|
7
|
+
export const CONSOLE_CATALOG_DATA: ConsoleCatalogData = {
|
|
8
|
+
"version": "local",
|
|
9
|
+
"workflows": {
|
|
10
|
+
"address-allocator/create": "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: text('Add IP Address Allocator')\n wait_for: textbox[name='Name']\n description: Click Add IP Address Allocator 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
11
|
+
"address-allocator/delete": "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",
|
|
12
|
+
"address-allocator/read": "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",
|
|
13
|
+
"address-allocator/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('IP Address Allocators')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
14
|
+
"advertise-policy/create": "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: text('Add Advertise Policy')\n wait_for: textbox[name='Name']\n description: Click Add Advertise Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
15
|
+
"advertise-policy/delete": "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",
|
|
16
|
+
"advertise-policy/read": "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",
|
|
17
|
+
"advertise-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"alert-policy/create": "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: text('Add Alert Policy')\n wait_for: textbox[name='Name']\n description: Click Add Alert Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
19
|
+
"alert-policy/delete": "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",
|
|
20
|
+
"alert-policy/read": "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",
|
|
21
|
+
"alert-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Alert Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
22
|
+
"alert-receiver/create": "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: text('Add Alert Receiver')\n wait_for: textbox[name='Name']\n description: Click Add Alert Receiver 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
23
|
+
"alert-receiver/delete": "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",
|
|
24
|
+
"alert-receiver/read": "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",
|
|
25
|
+
"alert-receiver/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Alert Receivers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"api-credential/create": "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: text('Add Credentials')\n wait_for: textbox[name='Credential Name']\n description: Click Add Credentials to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Credential Name']\n value: \"{name}\"\n description: Enter Credential Name\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*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
27
|
+
"api-credential/delete": "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",
|
|
28
|
+
"api-credential/read": "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",
|
|
29
|
+
"api-credential/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Credentials')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
30
|
+
"api-definition/create": "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: text('Add API Definition')\n wait_for: textbox[name='Name']\n description: Click Add API Definition 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
31
|
+
"api-definition/delete": "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",
|
|
32
|
+
"api-definition/read": "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",
|
|
33
|
+
"api-definition/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('API Definition')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"api-discovery/create": "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: text('Add API Discovery Policy')\n wait_for: textbox[name='Name']\n description: Click Add API Discovery Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
35
|
+
"api-discovery/delete": "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",
|
|
36
|
+
"api-discovery/read": "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",
|
|
37
|
+
"api-discovery/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('API Discovery')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
38
|
+
"app-api-group/create": "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: text('Add API Group')\n wait_for: textbox[name='Name']\n description: Click Add API Group 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
39
|
+
"app-api-group/delete": "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",
|
|
40
|
+
"app-api-group/read": "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",
|
|
41
|
+
"app-api-group/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('API Groups')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"app-firewall/create": "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",
|
|
43
|
+
"app-firewall/delete": "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",
|
|
44
|
+
"app-firewall/read": "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",
|
|
45
|
+
"app-firewall/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('App Firewall')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
46
|
+
"app-setting/create": "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: text('Add App Setting')\n wait_for: textbox[name='Name']\n description: Click Add App Setting 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
47
|
+
"app-setting/delete": "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",
|
|
48
|
+
"app-setting/read": "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",
|
|
49
|
+
"app-setting/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('App Settings')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"app-type/create": "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: Required Select-item listbox in the Features section (ships with one row). Verified from live form screenshot.\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: text('Add App Type')\n wait_for: textbox[name='Name']\n description: Click Add App Type 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-ai_ml_feature_type\n action: select\n selector: listbox[name='AI/ML Feature Type']\n context: AI/ML Feature Type section\n value: \"{ai_ml_feature_type}\"\n description: Select AI/ML Feature Type (references an existing ai_feature_type — dependency)\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
51
|
+
"app-type/delete": "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",
|
|
52
|
+
"app-type/read": "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",
|
|
53
|
+
"app-type/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('App Types')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
54
|
+
"authorization-server/create": "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: text('Add Authorization Server')\n wait_for: textbox[name='Name']\n description: Click Add Authorization Server 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
55
|
+
"authorization-server/delete": "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",
|
|
56
|
+
"authorization-server/read": "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",
|
|
57
|
+
"authorization-server/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Authorization Server')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"aws-tgw-site/create": "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: text('Add AWS TGW Site')\n wait_for: textbox[name='Name']\n description: Click Add AWS TGW Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
59
|
+
"aws-tgw-site/delete": "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",
|
|
60
|
+
"aws-tgw-site/read": "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",
|
|
61
|
+
"aws-tgw-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('AWS TGW Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
62
|
+
"aws-vpc-site/create": "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: text('Add AWS VPC Site')\n wait_for: textbox[name='Name']\n description: Click Add AWS VPC Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
63
|
+
"aws-vpc-site/delete": "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",
|
|
64
|
+
"aws-vpc-site/read": "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",
|
|
65
|
+
"aws-vpc-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('AWS VPC Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"azure-vnet-site/create": "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: text('Add Azure VNET Site')\n wait_for: textbox[name='Name']\n description: Click Add Azure VNET Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
67
|
+
"azure-vnet-site/delete": "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",
|
|
68
|
+
"azure-vnet-site/read": "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",
|
|
69
|
+
"azure-vnet-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Azure VNET Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
70
|
+
"bgp-asn-set/create": "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: text('Add BGP ASN Set')\n wait_for: textbox[name='Name']\n description: Click Add BGP ASN Set 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
71
|
+
"bgp-asn-set/delete": "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",
|
|
72
|
+
"bgp-asn-set/read": "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",
|
|
73
|
+
"bgp-asn-set/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('BGP ASN Sets')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"bgp/create": "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: text('Add BGP')\n wait_for: textbox[name='Name']\n description: Click Add BGP 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
75
|
+
"bgp/delete": "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",
|
|
76
|
+
"bgp/read": "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",
|
|
77
|
+
"bgp/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('BGP Peers & Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
78
|
+
"bigip-virtual-server/create": "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: text('Add BIG-IP Virtual Server')\n wait_for: textbox[name='Name']\n description: Click Add BIG-IP Virtual Server to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
79
|
+
"bigip-virtual-server/delete": "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",
|
|
80
|
+
"bigip-virtual-server/read": "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",
|
|
81
|
+
"bigip-virtual-server/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('BIG-IP Virtual Servers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"cdn-cache-rule/create": "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 table starts empty — needs Add Item before filling the inline cell.\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: text('Add CDN Cache Rules')\n wait_for: textbox[name='Name']\n description: Click Add CDN Cache Rules 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: add-item-expressions\n action: click\n selector: button:text('Add Item')\n context: Expressions table\n description: Add a row to the Expressions table (starts empty — unlike most tables)\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 newly-added table row (Add Item clicked above)\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
83
|
+
"cdn-cache-rule/delete": "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",
|
|
84
|
+
"cdn-cache-rule/read": "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",
|
|
85
|
+
"cdn-cache-rule/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('CDN Cache Rules')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
86
|
+
"cdn-loadbalancer/create": "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: text('Add CDN Distribution')\n wait_for: textbox[name='Name']\n description: Click Add CDN Distribution 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
87
|
+
"cdn-loadbalancer/delete": "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",
|
|
88
|
+
"cdn-loadbalancer/read": "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",
|
|
89
|
+
"cdn-loadbalancer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('CDN Distributions')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"certificate/create": "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: text('Add TLS Certificate')\n wait_for: textbox[name='Name']\n description: Click Add TLS Certificate 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
91
|
+
"certificate/delete": "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",
|
|
92
|
+
"certificate/read": "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",
|
|
93
|
+
"certificate/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('TLS Certificates')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
94
|
+
"cloud-connect/create": "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: text('Add Cloud Connect')\n wait_for: textbox[name='Name']\n description: Click Add Cloud Connect 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
95
|
+
"cloud-connect/delete": "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",
|
|
96
|
+
"cloud-connect/read": "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",
|
|
97
|
+
"cloud-connect/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Cloud Connects')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"cloud-credentials/create": "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: text('Add Cloud Credential')\n wait_for: textbox[name='Name']\n description: Click Add Cloud Credential 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
99
|
+
"cloud-credentials/delete": "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",
|
|
100
|
+
"cloud-credentials/read": "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",
|
|
101
|
+
"cloud-credentials/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Cloud Credentials')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
102
|
+
"cloud-elastic-ip/create": "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: text('Add Cloud Elastic IP')\n wait_for: textbox[name='Name']\n description: Click Add Cloud Elastic IP 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
103
|
+
"cloud-elastic-ip/delete": "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",
|
|
104
|
+
"cloud-elastic-ip/read": "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",
|
|
105
|
+
"cloud-elastic-ip/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Cloud Elastic IPs')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"cloud-link/create": "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: text('Add CloudLink')\n wait_for: textbox[name='Name']\n description: Click Add CloudLink 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
107
|
+
"cloud-link/delete": "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",
|
|
108
|
+
"cloud-link/read": "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",
|
|
109
|
+
"cloud-link/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('CloudLinks')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
110
|
+
"cluster/create": "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: text('Add Cluster')\n wait_for: textbox[name='Name']\n description: Click Add Cluster 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
111
|
+
"cluster/delete": "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",
|
|
112
|
+
"cluster/read": "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",
|
|
113
|
+
"cluster/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Clusters')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"code-base-integration/create": "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: true\n description: A vsui \"Select item\" listbox (not a configurable). Selects an existing code-base integration. Verified from\n live form screenshot.\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: text('Add Code Base Integration')\n wait_for: textbox[name='Name']\n description: Click Add Code Base Integration 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-code_base\n action: select\n selector: listbox[name='Code Base']\n context: Code Base section\n value: \"{code_base}\"\n description: Select Code Base (references an existing code_base — dependency)\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
115
|
+
"code-base-integration/delete": "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",
|
|
116
|
+
"code-base-integration/read": "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",
|
|
117
|
+
"code-base-integration/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Code Base Integration')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
118
|
+
"container-registry/create": "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: text('Add Container Registry')\n wait_for: textbox[name='Name']\n description: Click Add Container Registry 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
119
|
+
"container-registry/delete": "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",
|
|
120
|
+
"container-registry/read": "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",
|
|
121
|
+
"container-registry/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Container Registries')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"crl/create": "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: text('Add CRL')\n wait_for: textbox[name='Name']\n description: Click Add CRL 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
123
|
+
"crl/delete": "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",
|
|
124
|
+
"crl/read": "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",
|
|
125
|
+
"crl/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Certificate Revocation List')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
126
|
+
"data-type/create": "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: text('Add Data Type')\n wait_for: textbox[name='Name']\n description: Click Add Data Type 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
127
|
+
"data-type/delete": "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",
|
|
128
|
+
"data-type/read": "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",
|
|
129
|
+
"data-type/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Data Types')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"dc-cluster-group/create": "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: text('Add DC Cluster Group')\n wait_for: textbox[name='Name']\n description: Click Add DC Cluster Group 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
131
|
+
"dc-cluster-group/delete": "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",
|
|
132
|
+
"dc-cluster-group/read": "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",
|
|
133
|
+
"dc-cluster-group/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DC Cluster Groups')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
134
|
+
"demos/cdn-distribution": "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",
|
|
135
|
+
"demos/cdn-distribution-teardown": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"cdn-distribution-teardown\"\nlabel: \"CDN Distribution Teardown — Delete CDN Distribution + Origin Pool\"\nresource:\n - \"cdn-loadbalancer\"\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-cdn\"\n\nsteps:\n - id: \"navigate-cdn\"\n action: \"navigate\"\n url: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/cdn/cdn_loadbalancers\"\n wait_for: \"text('CDN Distributions')\"\n description: \"Navigate to CDN Distributions\"\n\n - id: \"delete-cdn\"\n action: \"click\"\n selector: \"button:text('...')\"\n context: \"row containing {app_name}-cdn\"\n description: \"Open actions menu for the CDN Distribution\"\n then:\n - id: \"confirm-delete-cdn\"\n action: \"click\"\n selector: \"option:text('Delete')\"\n description: \"Select Delete from actions menu\"\n\n - id: \"delete-origin-pool\"\n action: \"run-workflow\"\n workflow: \"origin-pool/delete\"\n with:\n namespace: \"{namespace}\"\n name: \"{app_name}-origin\"\n description: \"Delete the origin pool\"\n\npostconditions:\n - \"resource_deleted: {app_name}-cdn\"\n - \"resource_deleted: {app_name}-origin\"\n\nmetadata:\n confidence: \"draft\"\n discovered_at: \"2026-06-16\"\n console_version: \"2025.06\"\n estimated_duration_seconds: 40\n notes: \"Teardown companion for cdn-distribution demo.\"\n",
|
|
136
|
+
"demos/dns-lb-stack": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"dns-lb-stack-demo\"\nlabel: \"DNS Load Balancer Demo — DNS Zone + DNS LB Pool + DNS Load Balancer\"\nresource:\n - \"dns-zone\"\n - \"dns-lb-pool\"\n - \"dns-load-balancer\"\noperation: \"demo\"\n\npreconditions:\n - \"user_logged_in\"\n - \"role_minimum: admin\"\n\nparams:\n app_name:\n required: true\n description: \"Base name for all resources\"\n example: \"example-app\"\n domain:\n required: true\n description: \"DNS zone domain name\"\n example: \"example.com\"\n record_name:\n required: true\n description: \"DNS record name to load balance\"\n example: \"www\"\n pool_member_1:\n required: true\n description: \"First pool member IP or CNAME\"\n example: \"1.2.3.4\"\n pool_member_2:\n required: false\n description: \"Second pool member IP or CNAME\"\n example: \"5.6.7.8\"\n\nsteps:\n - id: \"screenshot-start\"\n action: \"screenshot\"\n screenshot_name: \"dns-demo-start\"\n description: \"Capture starting state\"\n\n - id: \"navigate-dns-zones\"\n action: \"navigate\"\n url: \"/web/workspaces/dns-management/manage/zone_management\"\n wait_for: \"text('DNS Zone Management')\"\n description: \"Step 1: Navigate to DNS Zone Management (tenant-scoped, no namespace)\"\n\n - id: \"click-add-dns-zone\"\n action: \"click\"\n selector: \"button:text('Add or Import DNS Zone')\"\n description: \"Open the Add or Import dropdown\"\n note: \"DNS Zone uses a dropdown button, not a tab\"\n then:\n - id: \"select-add-zone\"\n action: \"click\"\n selector: \"option:text('Add DNS Zone')\"\n wait_for: \"textbox[name='Domain Name']\"\n description: \"Select Add DNS Zone from dropdown\"\n\n - id: \"fill-zone-domain\"\n action: \"fill\"\n selector: \"textbox[name='Domain Name']\"\n value: \"{domain}\"\n description: \"Enter the DNS zone domain name (primary field — not 'Name')\"\n note: \"DNS Zone uses 'Domain Name' as the primary field, not 'Name'\"\n\n - id: \"save-dns-zone\"\n action: \"click\"\n selector: \"button:text('Add DNS Zone')\"\n context: \"footer\"\n wait_for: \"text('{domain}')\"\n wait_timeout_ms: 30000\n description: \"Save the DNS Zone\"\n\n - id: \"screenshot-zone-created\"\n action: \"screenshot\"\n screenshot_name: \"dns-demo-zone-created\"\n description: \"Capture DNS zone creation\"\n\n - id: \"navigate-dns-lb\"\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: \"Step 2: Navigate to DNS Load Balancers (tenant-scoped)\"\n\n - id: \"click-add-dns-lb\"\n action: \"click\"\n selector: \"tab:text('Add DNS Load Balancer')\"\n wait_for: \"textbox[name='Name']\"\n description: \"Open the Add DNS Load Balancer form\"\n\n - id: \"fill-dns-lb-name\"\n action: \"fill\"\n selector: \"textbox[name='Name']\"\n value: \"{app_name}-dns-lb\"\n description: \"Enter the DNS load balancer name\"\n\n - id: \"fill-dns-lb-record\"\n action: \"fill\"\n selector: \"textbox\"\n context: \"Record Name\"\n value: \"{record_name}\"\n description: \"Enter the DNS record name to load balance\"\n\n - id: \"save-dns-lb\"\n action: \"click\"\n selector: \"button:text('Add DNS Load Balancer')\"\n context: \"footer\"\n wait_for: \"text('{app_name}-dns-lb')\"\n wait_timeout_ms: 30000\n description: \"Save the DNS Load Balancer\"\n\n - id: \"screenshot-final\"\n action: \"screenshot\"\n screenshot_name: \"dns-demo-complete\"\n description: \"Capture completed DNS LB stack\"\n\npostconditions:\n - \"resource_name_in_list: {app_name}-dns-lb\"\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: 90\n notes: >\n Validated on staging 2026-06-16. DNS Management is tenant-scoped (no\n namespace). DNS Zone uses dropdown button \"Add or Import DNS Zone\" then\n \"Add DNS Zone\" option — NOT a tab. Primary field is \"Domain Name\" not\n \"Name\". DNS LB uses standard tab. Record Type defaults to A. DNS LB\n form has 5 sections: Metadata, Record Type, Load Balancing Rules,\n Response Cache, Fallback Pool.\n",
|
|
137
|
+
"demos/dns-lb-stack-teardown": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"dns-lb-stack-teardown\"\nlabel: \"DNS LB Stack Teardown — Delete DNS LB + DNS Zone\"\nresource:\n - \"dns-load-balancer\"\n - \"dns-zone\"\noperation: \"demo\"\n\npreconditions:\n - \"user_logged_in\"\n - \"role_minimum: admin\"\n\nparams:\n app_name:\n required: true\n description: \"Base name used when creating resources\"\n example: \"example-app\"\n\nsteps:\n - id: \"navigate-dns-lb\"\n action: \"navigate\"\n url: \"/web/workspaces/dns-management/namespaces/system/manage/dns_load_balancers\"\n wait_for: \"text('DNS Load Balancers')\"\n description: \"Navigate to DNS Load Balancers\"\n\n - id: \"delete-dns-lb\"\n action: \"click\"\n selector: \"button:text('...')\"\n context: \"row containing {app_name}-dns-lb\"\n description: \"Open actions menu for the DNS Load Balancer\"\n then:\n - id: \"confirm-delete-dns-lb\"\n action: \"click\"\n selector: \"option:text('Delete')\"\n description: \"Select Delete from actions menu\"\n\n - id: \"navigate-dns-zones\"\n action: \"navigate\"\n url: \"/web/workspaces/dns-management/namespaces/system/manage/dns_zone_management/dns_zones\"\n wait_for: \"text('DNS Zones')\"\n description: \"Navigate to DNS Zones\"\n\n - id: \"delete-dns-zone\"\n action: \"click\"\n selector: \"button:text('...')\"\n context: \"row containing {app_name}-zone\"\n description: \"Open actions menu for the DNS Zone\"\n then:\n - id: \"confirm-delete-zone\"\n action: \"click\"\n selector: \"option:text('Delete')\"\n description: \"Select Delete from actions menu\"\n\npostconditions:\n - \"resource_deleted: {app_name}-dns-lb\"\n - \"resource_deleted: {app_name}-zone\"\n\nmetadata:\n confidence: \"draft\"\n discovered_at: \"2026-06-16\"\n console_version: \"2025.06\"\n estimated_duration_seconds: 45\n notes: \"Teardown companion for dns-lb-stack demo.\"\n",
|
|
138
|
+
"demos/mcn-site-to-site": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"mcn-site-to-site-demo\"\nlabel: \"MCN Site-to-Site Demo — AWS VPC Site + Site Mesh Group\"\nresource:\n - \"aws-vpc-site\"\n - \"site-mesh-group\"\noperation: \"demo\"\n\npreconditions:\n - \"user_logged_in\"\n - \"role_minimum: admin\"\n\nparams:\n site_name:\n required: true\n description: \"Name for the AWS VPC site\"\n example: \"aws-site-east\"\n aws_region:\n required: true\n description: \"AWS region for the VPC site\"\n example: \"us-east-1\"\n aws_cred_name:\n required: true\n description: \"Name of existing AWS credential in the tenant\"\n example: \"aws-creds\"\n mesh_name:\n required: true\n description: \"Name for the site mesh group\"\n example: \"east-west-mesh\"\n vpc_cidr:\n required: false\n description: \"VPC CIDR block\"\n example: \"10.10.0.0/16\"\n default: \"10.10.0.0/16\"\n\nsteps:\n - id: \"screenshot-start\"\n action: \"screenshot\"\n screenshot_name: \"mcn-demo-start\"\n description: \"Capture starting state\"\n\n - id: \"navigate-aws-sites\"\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: \"Step 1: Navigate to AWS VPC Sites in MCN workspace\"\n note: \"MCN workspace is tenant-scoped — no /namespaces/ in URL\"\n\n - id: \"click-add-aws-site\"\n action: \"click\"\n selector: \"tab:text('Add AWS VPC Site')\"\n wait_for: \"textbox[name='Name']\"\n description: \"Open the Add AWS VPC Site form\"\n\n - id: \"fill-site-name\"\n action: \"fill\"\n selector: \"textbox[name='Name']\"\n value: \"{site_name}\"\n description: \"Enter the AWS VPC site name\"\n\n - id: \"select-aws-region\"\n action: \"select\"\n selector: \"listbox\"\n context: \"AWS Region\"\n value: \"{aws_region}\"\n description: \"Select the AWS region\"\n\n - id: \"select-aws-creds\"\n action: \"select\"\n selector: \"listbox\"\n context: \"AWS Credentials\"\n value: \"{aws_cred_name}\"\n description: \"Select the AWS credentials\"\n note: \"Resource selector — may need type_text + JS click pattern\"\n\n - id: \"save-aws-site\"\n action: \"click\"\n selector: \"button:text('Add AWS VPC Site')\"\n context: \"footer\"\n wait_for: \"text('{site_name}')\"\n wait_timeout_ms: 30000\n description: \"Save the AWS VPC Site\"\n\n - id: \"screenshot-site-created\"\n action: \"screenshot\"\n screenshot_name: \"mcn-demo-site-created\"\n description: \"Capture AWS VPC site creation\"\n\n - id: \"navigate-mesh-groups\"\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: \"Step 2: Navigate to Site Mesh Groups\"\n\n - id: \"click-add-mesh\"\n action: \"click\"\n selector: \"tab:text('Add Site Mesh Group')\"\n wait_for: \"textbox[name='Name']\"\n description: \"Open the Add Site Mesh Group form\"\n\n - id: \"fill-mesh-name\"\n action: \"fill\"\n selector: \"textbox[name='Name']\"\n value: \"{mesh_name}\"\n description: \"Enter the site mesh group name\"\n\n - id: \"save-mesh\"\n action: \"click\"\n selector: \"button:text('Add Site Mesh Group')\"\n context: \"footer\"\n wait_for: \"text('{mesh_name}')\"\n wait_timeout_ms: 30000\n description: \"Save the Site Mesh Group\"\n\n - id: \"screenshot-final\"\n action: \"screenshot\"\n screenshot_name: \"mcn-demo-complete\"\n description: \"Capture completed MCN site-to-site stack\"\n\npostconditions:\n - \"resource_name_in_list: {mesh_name}\"\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: 90\n notes: >\n Routes validated on staging 2026-06-16. MCN workspace is tenant-scoped.\n AWS VPC Sites at /manage/site_management/legacy_configs/aws_vpc_site\n with standard tab \"Add AWS VPC Site\". Site Mesh Groups at\n /manage/networking/site_to_site_connectivity/site_mesh_groups with\n standard tab. AWS VPC Site requires AWS credentials (resource selector)\n and region dropdown. Form fields need full deep validation.\n",
|
|
139
|
+
"demos/mcn-site-to-site-teardown": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"mcn-site-to-site-teardown\"\nlabel: \"MCN Site-to-Site Teardown — Delete Site Mesh Group + AWS VPC Site\"\nresource:\n - \"site-mesh-group\"\n - \"aws-vpc-site\"\noperation: \"demo\"\n\npreconditions:\n - \"user_logged_in\"\n - \"role_minimum: admin\"\n\nparams:\n site_name:\n required: true\n description: \"AWS VPC site name\"\n example: \"aws-site-east\"\n mesh_name:\n required: true\n description: \"Site mesh group name\"\n example: \"east-west-mesh\"\n\nsteps:\n - id: \"navigate-mesh\"\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\"\n\n - id: \"delete-mesh\"\n action: \"click\"\n selector: \"button:text('...')\"\n context: \"row containing {mesh_name}\"\n description: \"Open actions menu for the Site Mesh Group\"\n then:\n - id: \"confirm-delete-mesh\"\n action: \"click\"\n selector: \"option:text('Delete')\"\n description: \"Select Delete from actions menu\"\n\n - id: \"navigate-aws-sites\"\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\"\n\n - id: \"delete-aws-site\"\n action: \"click\"\n selector: \"button:text('...')\"\n context: \"row containing {site_name}\"\n description: \"Open actions menu for the AWS VPC Site\"\n then:\n - id: \"confirm-delete-site\"\n action: \"click\"\n selector: \"option:text('Delete')\"\n description: \"Select Delete from actions menu\"\n\npostconditions:\n - \"resource_deleted: {mesh_name}\"\n - \"resource_deleted: {site_name}\"\n\nmetadata:\n confidence: \"draft\"\n discovered_at: \"2026-06-16\"\n console_version: \"2025.06\"\n estimated_duration_seconds: 45\n notes: >\n Teardown companion for mcn-site-to-site demo. Deletes mesh group first\n (depends on sites), then the AWS VPC site. MCN workspace is tenant-scoped.\n",
|
|
140
|
+
"demos/waap-full-stack": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"waap-full-stack-demo\"\nlabel: \"WAAP Full Stack Demo — Origin Pool + App Firewall + HTTP Load Balancer\"\nresource:\n - \"origin-pool\"\n - \"app-firewall\"\n - \"http-load-balancer\"\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 for all resources\"\n example: \"demo\"\n app_name:\n required: true\n description: \"Base name for all resources (used as prefix)\"\n example: \"example-app\"\n domain:\n required: true\n description: \"Domain for the HTTP Load Balancer\"\n example: \"app.example.com\"\n origin_server:\n required: true\n description: \"IP address or DNS name of the origin server\"\n example: \"10.0.0.1\"\n origin_port:\n required: true\n type: \"number\"\n description: \"Port number for the origin server\"\n example: 8080\n waf_mode:\n required: false\n description: \"WAF enforcement mode: Monitoring or Blocking\"\n example: \"Blocking\"\n default: \"Blocking\"\n\nsteps:\n - id: \"screenshot-start\"\n action: \"screenshot\"\n screenshot_name: \"waap-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}-pool\"\n origin_server: \"{origin_server}\"\n port: \"{origin_port}\"\n description: \"Step 1: Create an origin pool pointing to the backend server\"\n\n - id: \"screenshot-origin-pool-created\"\n action: \"screenshot\"\n screenshot_name: \"waap-demo-origin-pool-created\"\n description: \"Capture origin pool creation result\"\n\n - id: \"create-app-firewall\"\n action: \"run-workflow\"\n workflow: \"app-firewall/create\"\n with:\n namespace: \"{namespace}\"\n name: \"{app_name}-waf\"\n enforcement_mode: \"{waf_mode}\"\n description: \"Step 2: Create an App Firewall policy in Blocking mode\"\n\n - id: \"screenshot-app-firewall-created\"\n action: \"screenshot\"\n screenshot_name: \"waap-demo-app-firewall-created\"\n description: \"Capture app firewall creation result\"\n\n - id: \"navigate-to-http-lb\"\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: \"Step 3: Navigate to HTTP Load Balancers list\"\n\n - id: \"click-add-http-lb\"\n action: \"click\"\n selector: \"tab:text('Add HTTP Load Balancer')\"\n wait_for: \"textbox[name='Name']\"\n description: \"Open the Add HTTP Load Balancer form\"\n note: \"Tab element, not a button\"\n\n - id: \"fill-lb-name\"\n action: \"fill\"\n selector: \"textbox[name='Name']\"\n value: \"{app_name}-lb\"\n description: \"Enter the load balancer name\"\n\n - id: \"add-domain\"\n action: \"click\"\n selector: \"button:text('Add Item')\"\n context: \"Domains table\"\n description: \"Click Add Item in the Domains table\"\n then:\n - id: \"fill-domain\"\n action: \"fill\"\n selector: \"textbox\"\n context: \"Domains table row\"\n value: \"{domain}\"\n description: \"Enter the domain name\"\n\n - id: \"select-origin-pool\"\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\"\n then:\n - id: \"choose-pool\"\n action: \"select\"\n selector: \"listbox\"\n context: \"Origin Pool selector\"\n value: \"{app_name}-pool\"\n description: \"Select the origin pool created in step 1\"\n\n - id: \"apply-pool\"\n action: \"click\"\n selector: \"button:text('Apply')\"\n description: \"Confirm origin pool selection\"\n\n - id: \"screenshot-before-waf\"\n action: \"screenshot\"\n screenshot_name: \"waap-demo-lb-before-waf\"\n description: \"Capture LB form before enabling WAF\"\n\n - id: \"scroll-to-waf\"\n action: \"scroll\"\n selector: \"text('Web Application Firewall')\"\n description: \"Scroll down to the WAF section of the form\"\n\n - id: \"enable-waf\"\n action: \"select\"\n selector: \"listbox\"\n context: \"Web Application Firewall section\"\n value: \"Enable\"\n description: \"Change WAF dropdown from Disable to Enable\"\n\n - id: \"select-waf-policy\"\n action: \"select\"\n selector: \"listbox\"\n context: \"App Firewall selector\"\n value: \"{app_name}-waf\"\n description: \"Select the App Firewall policy created in step 2\"\n\n - id: \"screenshot-waf-enabled\"\n action: \"screenshot\"\n screenshot_name: \"waap-demo-waf-enabled\"\n description: \"Capture LB form with WAF enabled and policy selected\"\n\n - id: \"save-http-lb\"\n action: \"click\"\n selector: \"button:text('Add HTTP Load Balancer')\"\n context: \"footer\"\n wait_for: \"text('{app_name}-lb')\"\n wait_timeout_ms: 30000\n description: \"Save the HTTP Load Balancer\"\n\n - id: \"verify-lb-created\"\n action: \"assert\"\n selector: \"text('{app_name}-lb')\"\n description: \"Verify the HTTP Load Balancer appears in the list\"\n\n - id: \"screenshot-final\"\n action: \"screenshot\"\n screenshot_name: \"waap-demo-complete\"\n description: \"Capture the completed WAAP stack — all three resources created\"\n\npostconditions:\n - \"resource_list_page_visible\"\n - \"resource_name_in_list: {app_name}-lb\"\n - \"origin_pool_exists: {app_name}-pool\"\n - \"app_firewall_exists: {app_name}-waf\"\n - \"http_lb_has_waf: {app_name}-lb uses {app_name}-waf\"\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: 120\n notes: >\n Validated on live staging console 2026-06-16. Key discoveries:\n (1) Origin server DNS Name field requires hostname format, not IP — use\n app.example.com not 10.0.0.1. (2) Resource selectors (origin pool, app\n firewall) are async-loading listboxes — type_text to search, then click\n the [role=option] element via JS. fill() alone doesn't fire Angular change\n events. (3) WAF Enable dropdown must be selected by clicking the actual\n [role=option] element, not fill(), to trigger the conditional App Firewall\n selector sub-field. (4) Created resources: example-app-pool, example-app-waf,\n example-app-lb with WAF attached. LB shows VIRTUAL_HOST_PENDING_A_RECORD\n (expected for demo domains).\n",
|
|
141
|
+
"demos/waap-full-stack-teardown": "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",
|
|
142
|
+
"discovery/create": "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: text('Add Service Discovery')\n wait_for: textbox[name='Name']\n description: Click Add Service Discovery 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
143
|
+
"discovery/delete": "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",
|
|
144
|
+
"discovery/read": "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",
|
|
145
|
+
"discovery/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Service Discoveries')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"dns-domain/create": "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: text('Add Domain')\n wait_for: textbox[name='Name']\n description: Click Add Domain 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
147
|
+
"dns-domain/delete": "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",
|
|
148
|
+
"dns-domain/read": "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",
|
|
149
|
+
"dns-domain/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Delegated Domain Management')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
150
|
+
"dns-lb-health-check/create": "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: text('Add DNS LB Health Check')\n wait_for: textbox[name='Name']\n description: Click Add DNS LB Health Check 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
151
|
+
"dns-lb-health-check/delete": "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",
|
|
152
|
+
"dns-lb-health-check/read": "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",
|
|
153
|
+
"dns-lb-health-check/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DNS Load Balancer Health Checks')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"dns-lb-pool/create": "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: Pool Members is a nested-resource-list (Add Item, NOT Configure — verified from live form). Default A\n record member needs a Public IP.\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: text('Add DNS Load Balancer Pool')\n wait_for: textbox[name='Name']\n description: Click Add DNS Load Balancer Pool 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-pool_members\n action: click\n selector: button:text('Add Item')\n context: Pool Members section\n description: Add Pool Members entry\n then:\n - id: fill-pool_members-value\n action: fill\n selector: textbox[name='Public IP']\n value: \"{pool_members}\"\n description: Enter Public IP for the Pool Members entry\n - id: apply-pool_members\n action: click\n selector: button:text('Apply')\n description: Confirm Pool Members entry\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
155
|
+
"dns-lb-pool/delete": "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",
|
|
156
|
+
"dns-lb-pool/read": "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",
|
|
157
|
+
"dns-lb-pool/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DNS Load Balancer Pools')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
158
|
+
"dns-load-balancer/create": "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: At least one Load Balancing Rule. Each rule selects a Pool (references an existing dns_lb_pool —\n dependency; create one first).\n pool:\n required: true\n description: Name of an existing dns_lb_pool to reference (dependency — create it first)\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_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: text('Add DNS Load Balancer')\n wait_for: textbox[name='Name']\n description: Click Add DNS Load Balancer 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: select-load_balancing_rules-ref\n action: select\n selector: listbox[name='Pool']\n context: Pool selector\n value: \"{pool}\"\n description: Select the Pool for the Load Balancing Rules entry (references an existing dns_lb_pool — create one first)\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
159
|
+
"dns-load-balancer/delete": "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",
|
|
160
|
+
"dns-load-balancer/read": "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",
|
|
161
|
+
"dns-load-balancer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DNS Load Balancers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"dns-zone/create": "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: text('Add DNS Zone')\n wait_for: textbox[name='Name']\n description: Click Add DNS Zone 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
163
|
+
"dns-zone/delete": "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",
|
|
164
|
+
"dns-zone/read": "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",
|
|
165
|
+
"dns-zone/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DNS Zones')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
166
|
+
"endpoint/create": "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: vsui autocomplete dropdown (VSUI-AUTOCOMPLETE-DROPDOWN) selecting a virtual-site, site, or network.\n Dependency resource.\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: text('Add Endpoint')\n wait_for: textbox[name='Name']\n description: Click Add Endpoint 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: select-reference\n action: select\n selector: listbox[name='Reference']\n context: Reference section\n value: \"{reference}\"\n description: Select Reference (references an existing virtual_site — dependency)\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
167
|
+
"endpoint/delete": "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",
|
|
168
|
+
"endpoint/read": "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",
|
|
169
|
+
"endpoint/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Endpoints')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"enhanced-firewall-policy/create": "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: text('Add Enhanced Firewall Policy')\n wait_for: textbox[name='Name']\n description: Click Add Enhanced Firewall Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
171
|
+
"enhanced-firewall-policy/delete": "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",
|
|
172
|
+
"enhanced-firewall-policy/read": "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",
|
|
173
|
+
"enhanced-firewall-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Enhanced Firewall Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
174
|
+
"external-connector/create": "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: text('Add External Connector')\n wait_for: textbox[name='Name']\n description: Click Add External Connector 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
175
|
+
"external-connector/delete": "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",
|
|
176
|
+
"external-connector/read": "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",
|
|
177
|
+
"external-connector/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('External Connectors')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"fast-acl/create": "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: text('Add Fast ACL')\n wait_for: textbox[name='Name']\n description: Click Add Fast ACL 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
179
|
+
"fast-acl/delete": "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",
|
|
180
|
+
"fast-acl/read": "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",
|
|
181
|
+
"fast-acl/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Fast ACLs')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
182
|
+
"fleet/create": "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: text('Add Fleet')\n wait_for: textbox[name='Name']\n description: Click Add Fleet 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
183
|
+
"fleet/delete": "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",
|
|
184
|
+
"fleet/read": "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",
|
|
185
|
+
"fleet/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Fleets')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"forward-proxy-policy/create": "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: text('Add Forward Proxy Policy')\n wait_for: textbox[name='Name']\n description: Click Add Forward Proxy Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
187
|
+
"forward-proxy-policy/delete": "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",
|
|
188
|
+
"forward-proxy-policy/read": "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",
|
|
189
|
+
"forward-proxy-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Forward Proxy Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
190
|
+
"gcp-vpc-site/create": "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: text('Add GCP VPC Site')\n wait_for: textbox[name='Name']\n description: Click Add GCP VPC Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
191
|
+
"gcp-vpc-site/delete": "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",
|
|
192
|
+
"gcp-vpc-site/read": "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",
|
|
193
|
+
"gcp-vpc-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('GCP VPC Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"geo-location-set/create": "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: text('Add Geo-Location Set')\n wait_for: textbox[name='Name']\n description: Click Add Geo-Location Set 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
195
|
+
"geo-location-set/delete": "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",
|
|
196
|
+
"geo-location-set/read": "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",
|
|
197
|
+
"geo-location-set/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Geo-Location Sets')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
198
|
+
"global-log-receiver/create": "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: text('Add Global Log Receiver')\n wait_for: textbox[name='Name']\n description: Click Add Global Log Receiver 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
199
|
+
"global-log-receiver/delete": "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",
|
|
200
|
+
"global-log-receiver/read": "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",
|
|
201
|
+
"global-log-receiver/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Global Log Receivers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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
|
+
"health-check/create": "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",
|
|
203
|
+
"health-check/delete": "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",
|
|
204
|
+
"health-check/read": "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",
|
|
205
|
+
"health-check/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Health Checks')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
206
|
+
"http-load-balancer/clone": "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",
|
|
207
|
+
"http-load-balancer/create": "schema: \"urn:f5xc:console:workflow:v1\"\nid: \"http-load-balancer-create\"\nlabel: \"Create HTTP Load Balancer\"\nresource: \"http-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: \"Load balancer name (lowercase alphanumeric and hyphens)\"\n example: \"example-http-lb\"\n domains:\n required: true\n type: \"string[]\"\n description: \"One or more domains\"\n example: [\"app.example.com\"]\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/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 Balancer list page within Web App & API Protection workspace\"\n\n - id: \"click-add-tab\"\n action: \"click\"\n selector: \"tab:text('Add HTTP Load Balancer')\"\n wait_for: \"textbox[name='Name']\"\n description: \"Click the Add HTTP Load Balancer 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 load balancer name in the Name textbox\"\n\n - id: \"fill-domain\"\n action: \"fill\"\n selector: \"ngx-datatable input.form-control-md\"\n context: \"Domains table\"\n value: \"{domains}\"\n description: \"Enter the domain in the Domains table's default row. The table ships one empty row, so no Add Item click is needed; clicking Add Item would create a second empty row that fails the 'Domains is required' validation.\"\n note: \"Single-domain create. Multiple domains (Add Item per additional row) is a follow-up.\"\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: \"[class*='save-bt']\"\n wait_for: \"text('{name}')\"\n wait_timeout_ms: 30000\n description: \"Click the Add HTTP Load Balancer button to save. The 'button' role disambiguates the footer save button from the tab of the same name, 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: 30\n notes: \"Selectors use aria/text-based patterns validated against the live console (single-domain create persisted, API parity confirmed). No data-testid attributes exist. The Domains field is a vsui-input over ngx-datatable whose patched value descriptor requires the automation engine to commit via the native value setter + blur (see xcsh browser core).\"\n",
|
|
208
|
+
"http-load-balancer/delete": "schema: urn:f5xc:console:workflow:v1\nid: http-load-balancer-delete\nlabel: Delete HTTP Load Balancers\nresource: http-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-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('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 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",
|
|
209
|
+
"http-load-balancer/edit": "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",
|
|
210
|
+
"http-load-balancer/read": "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",
|
|
211
|
+
"http-load-balancer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('HTTP Load Balancers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
212
|
+
"http-load-balancer/view": "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",
|
|
213
|
+
"ike-gateway/create": "schema: urn:f5xc:console:workflow:v1\nid: ike-gateway-create\nlabel: Create IKE Profiles\nresource: ike-gateway\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: IKE Profiles name (lowercase alphanumeric and hyphens)\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: click-add-tab\n action: click\n selector: text('Add IKE Profile')\n wait_for: textbox[name='Name']\n description: Click Add IKE Profile 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
214
|
+
"ike-gateway/delete": "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",
|
|
215
|
+
"ike-gateway/read": "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",
|
|
216
|
+
"ike-gateway/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('IKE Profiles')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
217
|
+
"ip-prefix-set/create": "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: text('Add IP Prefix Set')\n wait_for: textbox[name='Name']\n description: Click Add IP Prefix Set 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
218
|
+
"ip-prefix-set/delete": "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",
|
|
219
|
+
"ip-prefix-set/read": "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",
|
|
220
|
+
"ip-prefix-set/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('IP Prefix Sets')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
221
|
+
"k8s-cluster/create": "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: text('Add K8s Cluster')\n wait_for: textbox[name='Name']\n description: Click Add K8s Cluster 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
222
|
+
"k8s-cluster/delete": "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",
|
|
223
|
+
"k8s-cluster/read": "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",
|
|
224
|
+
"k8s-cluster/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('K8s Clusters')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
225
|
+
"log-receiver/create": "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: text('Add Log Receiver')\n wait_for: textbox[name='Name']\n description: Click Add Log Receiver 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
226
|
+
"log-receiver/delete": "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",
|
|
227
|
+
"log-receiver/read": "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",
|
|
228
|
+
"log-receiver/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Log Receivers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
229
|
+
"malicious-user-mitigation/create": "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: text('Add Malicious User Mitigation')\n wait_for: textbox[name='Name']\n description: Click Add Malicious User Mitigation 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
230
|
+
"malicious-user-mitigation/delete": "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",
|
|
231
|
+
"malicious-user-mitigation/read": "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",
|
|
232
|
+
"malicious-user-mitigation/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Malicious User Mitigation')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
233
|
+
"mcn-secret-policy-rule/create": "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: text('Add Secret Policy Rule')\n wait_for: textbox[name='Name']\n description: Click Add Secret Policy Rule to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
234
|
+
"mcn-secret-policy-rule/delete": "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",
|
|
235
|
+
"mcn-secret-policy-rule/read": "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",
|
|
236
|
+
"mcn-secret-policy-rule/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Secret Policy Rules')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
237
|
+
"namespace/create": "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: text('Add Namespace')\n wait_for: textbox[name='Namespace Name']\n description: Click Add Namespace to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Namespace Name']\n value: \"{name}\"\n description: Enter Namespace Name\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
238
|
+
"namespace/delete": "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",
|
|
239
|
+
"namespace/read": "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",
|
|
240
|
+
"namespace/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('My Namespaces')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
241
|
+
"nat-policy/create": "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: text('Add NAT Policy')\n wait_for: textbox[name='Name']\n description: Click Add NAT Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
242
|
+
"nat-policy/delete": "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",
|
|
243
|
+
"nat-policy/read": "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",
|
|
244
|
+
"nat-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('NAT Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
245
|
+
"network-connector/create": "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: text('Add Network Connector')\n wait_for: textbox[name='Name']\n description: Click Add Network Connector 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
246
|
+
"network-connector/delete": "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",
|
|
247
|
+
"network-connector/read": "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",
|
|
248
|
+
"network-connector/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Network Connectors')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
249
|
+
"network-firewall/create": "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: text('Add Network Firewall')\n wait_for: textbox[name='Name']\n description: Click Add Network Firewall 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
250
|
+
"network-firewall/delete": "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",
|
|
251
|
+
"network-firewall/read": "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",
|
|
252
|
+
"network-firewall/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Network Firewalls')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
253
|
+
"network-interface/create": "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: text('Add Network Interface')\n wait_for: textbox[name='Name']\n description: Click Add Network Interface 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
254
|
+
"network-interface/delete": "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",
|
|
255
|
+
"network-interface/read": "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",
|
|
256
|
+
"network-interface/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Network Interfaces')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
257
|
+
"network-policy-rule/create": "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: text('Add Network Policy Rule')\n wait_for: textbox[name='Name']\n description: Click Add Network Policy Rule 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
258
|
+
"network-policy-rule/delete": "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",
|
|
259
|
+
"network-policy-rule/read": "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",
|
|
260
|
+
"network-policy-rule/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Network Policy Rules')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
261
|
+
"network-policy/create": "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: text('Add Network Policy')\n wait_for: textbox[name='Name']\n description: Click Add Network Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
262
|
+
"network-policy/delete": "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",
|
|
263
|
+
"network-policy/read": "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",
|
|
264
|
+
"network-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Network Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
265
|
+
"nfv-service/create": "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: text('Add NFV Service')\n wait_for: textbox[name='Name']\n description: Click Add NFV Service 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
266
|
+
"nfv-service/delete": "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",
|
|
267
|
+
"nfv-service/read": "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",
|
|
268
|
+
"nfv-service/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('NFV Services')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
269
|
+
"openapi-file/create": "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: text('Add OpenAPI File')\n wait_for: textbox[name='Name']\n description: Click Add OpenAPI File 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
270
|
+
"openapi-file/delete": "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",
|
|
271
|
+
"openapi-file/read": "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",
|
|
272
|
+
"openapi-file/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('OpenAPI Files')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
273
|
+
"origin-pool/create": "schema: urn:f5xc:console:workflow:v1\nid: origin-pool-create\nlabel: Create Origin Pools\nresource: origin-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: Origin Pools name (lowercase alphanumeric and hyphens)\n example: example-origin-pool\n origin_servers:\n required: true\n description: 'Default type: Public DNS Name. The sub-form requires \"DNS Name\" (FQDN of the origin).'\n port:\n required: false\n description: Port\n default: 443\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: click-add-tab\n action: click\n selector: text('Add Origin Pool')\n wait_for: textbox[name='Name']\n description: Click Add Origin Pool to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Name']\n value: \"{name}\"\n description: \"Enter Name (pattern: ^[a-z][a-z0-9-]*$), max 64 chars\"\n - id: add-origin_servers\n action: click\n selector: button:text('Add Item')\n context: Origin Servers section\n description: \"Add Origin Servers entry (default type: Public DNS Name)\"\n then:\n - id: fill-origin_servers-value\n action: fill\n selector: textbox[name='DNS Name']\n value: \"{origin_servers}\"\n description: Enter DNS Name for the Origin Servers entry\n - id: apply-origin_servers\n action: click\n selector: button:text('Apply')\n description: Confirm Origin Servers entry\n - id: fill-port\n action: fill\n selector: spinbutton[name='Port']\n value: \"{port}\"\n description: \"Set Port (default: 443)\"\n condition: params.port is set\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
274
|
+
"origin-pool/delete": "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",
|
|
275
|
+
"origin-pool/read": "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",
|
|
276
|
+
"origin-pool/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Origin Pools')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
277
|
+
"policer/create": "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: text('Add Policer')\n wait_for: textbox[name='Name']\n description: Click Add Policer 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
278
|
+
"policer/delete": "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",
|
|
279
|
+
"policer/read": "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",
|
|
280
|
+
"policer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Policers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
281
|
+
"protocol-policer/create": "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: text('Add Protocol Policer')\n wait_for: textbox[name='Name']\n description: Click Add Protocol Policer 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
282
|
+
"protocol-policer/delete": "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",
|
|
283
|
+
"protocol-policer/read": "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",
|
|
284
|
+
"protocol-policer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Protocol Policers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
285
|
+
"proxy/create": "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: text('Add HTTP Connect / DRP')\n wait_for: textbox[name='Name']\n description: Click Add HTTP Connect / DRP 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
286
|
+
"proxy/delete": "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",
|
|
287
|
+
"proxy/read": "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",
|
|
288
|
+
"proxy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('HTTP Connect & DRPs')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
289
|
+
"public-ip/create": "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: text('Add Public IP')\n wait_for: textbox[name='Name']\n description: Click Add Public IP 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
290
|
+
"public-ip/delete": "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",
|
|
291
|
+
"public-ip/read": "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",
|
|
292
|
+
"public-ip/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Public IP Addresses')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
293
|
+
"rate-limiter-policy/create": "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: text('Add Rate Limiter')\n wait_for: textbox[name='Name']\n description: Click Add Rate Limiter 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
294
|
+
"rate-limiter-policy/delete": "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",
|
|
295
|
+
"rate-limiter-policy/read": "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",
|
|
296
|
+
"rate-limiter-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Rate Limiter Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
297
|
+
"rate-limiter/create": "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: text('Add Rate Limiter')\n wait_for: textbox[name='Name']\n description: Click Add Rate Limiter 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
298
|
+
"rate-limiter/delete": "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",
|
|
299
|
+
"rate-limiter/read": "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",
|
|
300
|
+
"rate-limiter/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Rate Limiters')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
301
|
+
"role/create": "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: text('Add Role')\n wait_for: textbox[name='Role Name']\n description: Click Add Role to open the create form\n - id: fill-name\n action: fill\n selector: textbox[name='Role Name']\n value: \"{name}\"\n description: Enter Role Name\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*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
302
|
+
"role/delete": "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",
|
|
303
|
+
"role/read": "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",
|
|
304
|
+
"role/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Roles')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
305
|
+
"route-object/create": "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",
|
|
306
|
+
"route-object/delete": "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",
|
|
307
|
+
"route-object/read": "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",
|
|
308
|
+
"route-object/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Routes')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
309
|
+
"secret-policy/create": "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: text('Add Secret Policy')\n wait_for: textbox[name='Name']\n description: Click Add Secret Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
310
|
+
"secret-policy/delete": "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",
|
|
311
|
+
"secret-policy/read": "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",
|
|
312
|
+
"secret-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Secret Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
313
|
+
"securemesh-site-v2/create": "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: text('Add Secure Mesh Site v2')\n wait_for: textbox[name='Name']\n description: Click Add Secure Mesh Site v2 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
314
|
+
"securemesh-site-v2/delete": "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",
|
|
315
|
+
"securemesh-site-v2/read": "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",
|
|
316
|
+
"securemesh-site-v2/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Secure Mesh Sites v2')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
317
|
+
"securemesh-site/create": "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: text('Add Secure Mesh Site')\n wait_for: textbox[name='Name']\n description: Click Add Secure Mesh Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
318
|
+
"securemesh-site/delete": "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",
|
|
319
|
+
"securemesh-site/read": "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",
|
|
320
|
+
"securemesh-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Secure Mesh Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
321
|
+
"segment-connection/create": "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: text('Add Segment Connector')\n wait_for: textbox[name='Name']\n description: Click Add Segment Connector to open the create form\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
322
|
+
"segment-connection/delete": "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",
|
|
323
|
+
"segment-connection/read": "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",
|
|
324
|
+
"segment-connection/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Segment Connector')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
325
|
+
"segment/create": "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: text('Add Segment')\n wait_for: textbox[name='Name']\n description: Click Add Segment 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
326
|
+
"segment/delete": "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",
|
|
327
|
+
"segment/read": "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",
|
|
328
|
+
"segment/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Segments')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
329
|
+
"sensitive-data-policy/create": "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: text('Add Sensitive Data Policy')\n wait_for: textbox[name='Name']\n description: Click Add Sensitive Data Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
330
|
+
"sensitive-data-policy/delete": "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",
|
|
331
|
+
"sensitive-data-policy/read": "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",
|
|
332
|
+
"sensitive-data-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Sensitive Data Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
333
|
+
"service-credential/create": "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: text('Add Credential')\n wait_for: textbox[name='Name']\n description: Click Add Credential 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*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
334
|
+
"service-credential/delete": "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",
|
|
335
|
+
"service-credential/read": "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",
|
|
336
|
+
"service-credential/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Service Credentials')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
337
|
+
"service-policy-rule/create": "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: text('Add Service Policy Rule')\n wait_for: textbox[name='Name']\n description: Click Add Service Policy Rule 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
338
|
+
"service-policy-rule/delete": "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",
|
|
339
|
+
"service-policy-rule/read": "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",
|
|
340
|
+
"service-policy-rule/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Service Policy Rules')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
341
|
+
"service-policy/create": "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",
|
|
342
|
+
"service-policy/delete": "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",
|
|
343
|
+
"service-policy/read": "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",
|
|
344
|
+
"service-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Service Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
345
|
+
"shared-advertise-policy/create": "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: text('Add Advertise Policy')\n wait_for: textbox[name='Name']\n description: Click Add Advertise Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
346
|
+
"shared-advertise-policy/delete": "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",
|
|
347
|
+
"shared-advertise-policy/read": "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",
|
|
348
|
+
"shared-advertise-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Advertise Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
349
|
+
"site-mesh-group/create": "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: text('Add Site Mesh Group')\n wait_for: textbox[name='Name']\n description: Click Add Site Mesh Group 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
350
|
+
"site-mesh-group/delete": "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",
|
|
351
|
+
"site-mesh-group/read": "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",
|
|
352
|
+
"site-mesh-group/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Site Mesh Groups')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
353
|
+
"subnet/create": "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: text('Add Subnet')\n wait_for: textbox[name='Name']\n description: Click Add Subnet 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
354
|
+
"subnet/delete": "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",
|
|
355
|
+
"subnet/read": "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",
|
|
356
|
+
"subnet/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Subnets')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
357
|
+
"tcp-load-balancer/create": "schema: urn:f5xc:console:workflow:v1\nid: tcp-load-balancer-create\nlabel: Create TCP Load Balancers\nresource: tcp-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: TCP Load Balancers name (lowercase alphanumeric and hyphens)\n example: example-tcp-load-balancer\n domains:\n required: true\n description: TCP LB Domains table starts EMPTY (0 items) — needs Add Item click before filling. Fills via ngx-datatable\n grid real-typing after row creation.\n listen_port:\n required: false\n description: vsui listbox dropdown. Verified from live form screenshot.\n default: Listen Port\n example: Listen Port\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: click-add-tab\n action: click\n selector: text('Add TCP Load Balancer')\n wait_for: textbox[name='Name']\n description: Click Add TCP Load Balancer 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-item-domains\n action: click\n selector: button:text('Add Item')\n context: Domains table\n description: Add a row to the Domains table (starts empty — unlike most tables)\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 newly-added table row (Add Item clicked above)\n - id: fill-listen_port\n action: fill\n selector: spinbutton[name='Listen Port']\n value: \"{listen_port}\"\n description: Set Listen Port\n - id: select-listen_port\n action: select\n selector: listbox\n context: Listen Port section\n value: \"{listen_port}\"\n description: Select Listen Port (Listen Port | Port Ranges)\n condition: params.listen_port is set\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
358
|
+
"tcp-load-balancer/delete": "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",
|
|
359
|
+
"tcp-load-balancer/read": "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",
|
|
360
|
+
"tcp-load-balancer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('TCP Load Balancers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
361
|
+
"third-party-application/create": "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: text('Add Third-Party Application')\n wait_for: textbox[name='Name']\n description: Click Add Third-Party Application 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
362
|
+
"third-party-application/delete": "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",
|
|
363
|
+
"third-party-application/read": "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",
|
|
364
|
+
"third-party-application/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Third-Party Applications')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
365
|
+
"tunnel/create": "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: text('Add Tunnel')\n wait_for: textbox[name='Name']\n description: Click Add Tunnel 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
366
|
+
"tunnel/delete": "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",
|
|
367
|
+
"tunnel/read": "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",
|
|
368
|
+
"tunnel/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Tunnels')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
369
|
+
"udp-loadbalancer/create": "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: text('Add UDP Load Balancer')\n wait_for: textbox[name='Name']\n description: Click Add UDP Load Balancer 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
370
|
+
"udp-loadbalancer/delete": "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",
|
|
371
|
+
"udp-loadbalancer/read": "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",
|
|
372
|
+
"udp-loadbalancer/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('UDP Load Balancers')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
373
|
+
"usb-policy/create": "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: text('Add USB Policy')\n wait_for: textbox[name='Name']\n description: Click Add USB Policy 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
374
|
+
"usb-policy/delete": "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",
|
|
375
|
+
"usb-policy/read": "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",
|
|
376
|
+
"usb-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('USB Policies')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
377
|
+
"user-identification/create": "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: text('Add User Identification')\n wait_for: textbox[name='Name']\n description: Click Add User Identification 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
378
|
+
"user-identification/delete": "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",
|
|
379
|
+
"user-identification/read": "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",
|
|
380
|
+
"user-identification/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('User Identifications')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
381
|
+
"v1-dns-monitor/create": "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: text('Add DNS Monitor')\n wait_for: textbox[name='Name']\n description: Click Add DNS Monitor 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
382
|
+
"v1-dns-monitor/delete": "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",
|
|
383
|
+
"v1-dns-monitor/read": "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",
|
|
384
|
+
"v1-dns-monitor/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('DNS Monitors')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
385
|
+
"v1-http-monitor/create": "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: text('Add HTTP Monitor')\n wait_for: textbox[name='Name']\n description: Click Add HTTP Monitor 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
386
|
+
"v1-http-monitor/delete": "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",
|
|
387
|
+
"v1-http-monitor/read": "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",
|
|
388
|
+
"v1-http-monitor/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('HTTP Monitors')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
389
|
+
"virtual-host/create": "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",
|
|
390
|
+
"virtual-host/delete": "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",
|
|
391
|
+
"virtual-host/read": "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",
|
|
392
|
+
"virtual-host/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Virtual Hosts')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
393
|
+
"virtual-k8s/create": "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: text('Add Virtual K8s')\n wait_for: textbox[name='Name']\n description: Click Add Virtual K8s 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
394
|
+
"virtual-k8s/delete": "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",
|
|
395
|
+
"virtual-k8s/read": "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",
|
|
396
|
+
"virtual-k8s/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Virtual K8s')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
397
|
+
"virtual-network/create": "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: text('Add Virtual Network')\n wait_for: textbox[name='Name']\n description: Click Add Virtual Network 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
398
|
+
"virtual-network/delete": "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",
|
|
399
|
+
"virtual-network/read": "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",
|
|
400
|
+
"virtual-network/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Virtual Networks')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
401
|
+
"virtual-site/create": "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_expression:\n required: true\n description: 'CDK-portal label-selector: Add Label → type key prefix (e.g. \"ves\") → select from portal → operator →\n value. Verified live via label_select tool.'\n site_type:\n required: false\n description: \"Required: Site Type (RE = Regional Edge, CE = Customer Edge). Select from the listbox.\"\n default: RE\n example: RE\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: text('Add Virtual Site')\n wait_for: textbox[name='Name']\n description: Click Add Virtual Site 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-label-site_selector_expression\n action: click\n selector: text('Add Label')\n context: Site Selector Expression section\n description: Open the label-selector typeahead for Site Selector Expression\n - id: select-label-key-site_selector_expression\n action: selectLabel\n selector: input[placeholder='Type to search']\n value: \"{site_selector_expression}\"\n description: Select label key for Site Selector Expression from the CDK portal (type prefix → pick option)\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 (RE | CE)\n condition: params.site_type is set\n - id: save\n action: click\n selector: \"[class*='save-bt'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
402
|
+
"virtual-site/delete": "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",
|
|
403
|
+
"virtual-site/read": "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",
|
|
404
|
+
"virtual-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Virtual Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
405
|
+
"voltstack-site/create": "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: text('Add App Stack Site')\n wait_for: textbox[name='Name']\n description: Click Add App Stack Site 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
406
|
+
"voltstack-site/delete": "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",
|
|
407
|
+
"voltstack-site/read": "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",
|
|
408
|
+
"voltstack-site/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('App Stack Sites')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
409
|
+
"waf-exclusion-policy/create": "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: text('Add WAF Exclusion Rule')\n wait_for: textbox[name='Name']\n description: Click Add WAF Exclusion Rule 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
410
|
+
"waf-exclusion-policy/delete": "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",
|
|
411
|
+
"waf-exclusion-policy/read": "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",
|
|
412
|
+
"waf-exclusion-policy/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('WAF Exclusion Rules')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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",
|
|
413
|
+
"workload-flavor/create": "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: text('Add Workload Flavor')\n wait_for: textbox[name='Name']\n description: Click Add Workload Flavor 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'],[class*='submit-button']\"\n context: footer\n wait_for: text('{name}')\n wait_timeout_ms: 30000\n description: Save/submit the form (union selector matches save-bt OR submit-button)\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",
|
|
414
|
+
"workload-flavor/delete": "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",
|
|
415
|
+
"workload-flavor/read": "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",
|
|
416
|
+
"workload-flavor/update": "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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\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'],[class*='submit-button']\"\n context: footer\n wait_for: text('Workload Flavors')\n wait_timeout_ms: 30000\n description: Save/submit changes (union selector matches save-bt OR submit-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"
|
|
417
|
+
},
|
|
418
|
+
"resources": {
|
|
419
|
+
"address-allocator": "schema: urn:f5xc:console:resource:v1\nid: address-allocator\nlabel: IP Address Allocators\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: address_allocator\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/address_allocators\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - IP Address Allocators\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - IP Address Allocators\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add IP Address Allocator\nsave_action:\n label: Add IP Address Allocator\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
420
|
+
"advertise-policy": "schema: urn:f5xc:console:resource:v1\nid: advertise-policy\nlabel: Advertise Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: advertise_policy\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/virtual_host/advertise_policies\n menu_path:\n - Manage\n - Virtual Host\n - Advertise Policies\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Virtual Host\n - Advertise Policies\nadd_action:\n type: tab\n label: Add Advertise Policy\nsave_action:\n label: Add Advertise Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
421
|
+
"alert-policy": "schema: urn:f5xc:console:resource:v1\nid: alert-policy\nlabel: Alert Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: alert_policy\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /namespaces/shared/manage/alert_policies\n menu_path:\n - Shared Configuration\n - Manage\n - Alert Policies\n breadcrumbs:\n - Home\n - Shared Configuration\n - shared\n - Manage\n - Alert Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Alert Policy\nsave_action:\n label: Add Alert Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
422
|
+
"alert-receiver": "schema: urn:f5xc:console:resource:v1\nid: alert-receiver\nlabel: Alert Receivers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: alert_receiver\nconsole:\n workspace: audit-logs-and-alerts\n workspace_label: Audit Logs & Alerts\n route_prefix: /web/workspaces/audit-logs-and-alerts\n route_pattern: /namespaces/system/manage/alert_receivers\n menu_path:\n - Audit Logs & Alerts\n - Manage\n - Alert Receivers\n breadcrumbs:\n - Home\n - Audit Logs & Alerts\n - system\n - Manage\n - Alert Receivers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Alert Receiver\nsave_action:\n label: Add Alert Receiver\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
423
|
+
"api-credential": "schema: urn:f5xc:console:resource:v1\nid: api-credential\nlabel: Credentials\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: api_credential\nconsole:\n workspace: administration\n workspace_label: Administration\n route_prefix: /web/workspaces/administration\n route_pattern: /personal-management/api_credentials\n menu_path:\n - Personal Management\n - Credentials\n breadcrumbs:\n - Home\n - Administration\n - Personal Management\n - Credentials\nadd_action:\n type: tab\n label: Add Credentials\nsave_action:\n label: Add Credentials\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
424
|
+
"api-definition": "schema: urn:f5xc:console:resource:v1\nid: api-definition\nlabel: API Definition\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: api_definition\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/api_definition\n menu_path:\n - Manage\n - API Security\n - API Definition\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - API Definition\nadd_action:\n type: tab\n label: Add API Definition\nsave_action:\n label: Add API Definition\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
425
|
+
"api-discovery": "schema: urn:f5xc:console:resource:v1\nid: api-discovery\nlabel: API Discovery\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: api_discovery\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/api_discovery\n menu_path:\n - Web App & API Protection\n - Manage\n - API Security\n - API Discovery\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - API Discovery\nadd_action:\n type: tab\n label: Add API Discovery Policy\nsave_action:\n label: Add API Discovery Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
426
|
+
"app-api-group": "schema: urn:f5xc:console:resource:v1\nid: app-api-group\nlabel: API Groups\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: app_api_group\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/api_groups\n menu_path:\n - Manage\n - API Security\n - API Groups\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - API Groups\nadd_action:\n type: tab\n label: Add API Group\nsave_action:\n label: Add API Group\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
427
|
+
"app-firewall": "schema: urn:f5xc:console:resource:v1\nid: app-firewall\nlabel: App Firewall\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: app_firewall\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/app_firewall\n menu_path:\n - Web App & API Protection\n - Manage\n - App Firewall\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - App Firewall\nadd_action:\n type: tab\n label: Add App Firewall\nsave_action:\n label: Add App Firewall\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: enforcement-mode\n label: Enforcement Mode\n api_fields:\n - spec.enforcement_mode\n - id: security-policy-settings\n label: Security Policy Settings\n api_fields:\n - spec.detection_settings\n - id: advanced-configuration\n label: Advanced configuration\n api_fields: []\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
428
|
+
"app-setting": "schema: urn:f5xc:console:resource:v1\nid: app-setting\nlabel: App Settings\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: app_setting\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/ai_ml/app_settings\n menu_path:\n - Manage\n - AI & ML\n - App Settings\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - AI & ML\n - App Settings\nadd_action:\n type: tab\n label: Add App Setting\nsave_action:\n label: Add App Setting\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
429
|
+
"app-type": "schema: urn:f5xc:console:resource:v1\nid: app-type\nlabel: App Types\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: app_type\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /security/ai_ml/app_types\n menu_path:\n - Security\n - AI & ML\n - App Types\n breadcrumbs:\n - Home\n - Shared Configuration\n - Security\n - AI & ML\n - App Types\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add App Type\nsave_action:\n label: Add App Type\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
430
|
+
"authorization-server": "schema: urn:f5xc:console:resource:v1\nid: authorization-server\nlabel: Authorization Server\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: authorization_server\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/authorization_server\n menu_path:\n - Manage\n - Shared Objects\n - Authorization Server\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - Authorization Server\nadd_action:\n type: tab\n label: Add Authorization Server\nsave_action:\n label: Add Authorization Server\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
431
|
+
"aws-tgw-site": "schema: urn:f5xc:console:resource:v1\nid: aws-tgw-site\nlabel: AWS TGW Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: aws_tgw_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/aws_tgw_site\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - AWS TGW Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - AWS TGW Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add AWS TGW Site\nsave_action:\n label: Add AWS TGW Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
432
|
+
"aws-vpc-site": "schema: urn:f5xc:console:resource:v1\nid: aws-vpc-site\nlabel: AWS VPC Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: aws_vpc_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/aws_vpc_site\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - AWS VPC Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - AWS VPC Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add AWS VPC Site\nsave_action:\n label: Add AWS VPC Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 6\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
433
|
+
"azure-vnet-site": "schema: urn:f5xc:console:resource:v1\nid: azure-vnet-site\nlabel: Azure VNET Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: azure_vnet_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/azure_site\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Azure VNET Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Azure VNET Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Azure VNET Site\nsave_action:\n label: Add Azure VNET Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 6\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
434
|
+
"bgp": "schema: urn:f5xc:console:resource:v1\nid: bgp\nlabel: BGP Peers & Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: bgp\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/external_connectivity/bgp\n menu_path:\n - Manage\n - Networking\n - External Connectivity\n - BGP Peers & Policies\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - External Connectivity\n - BGP Peers & Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add BGP\nsave_action:\n label: Add BGP\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
435
|
+
"bgp-asn-set": "schema: urn:f5xc:console:resource:v1\nid: bgp-asn-set\nlabel: BGP ASN Sets\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: bgp_asn_set\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/bgp_asn_sets\n menu_path:\n - Manage\n - Shared Objects\n - BGP ASN Sets\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - BGP ASN Sets\nadd_action:\n type: tab\n label: Add BGP ASN Set\nsave_action:\n label: Add BGP ASN Set\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
436
|
+
"bigip-virtual-server": "schema: urn:f5xc:console:resource:v1\nid: bigip-virtual-server\nlabel: BIG-IP Virtual Servers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: bigip_virtual_server\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/bigip_virtual_server\n menu_path:\n - Manage\n - BIG-IP Virtual Servers\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - BIG-IP Virtual Servers\nadd_action:\n type: tab\n label: Add BIG-IP Virtual Server\nsave_action:\n label: Add BIG-IP Virtual Server\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: inferred\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
437
|
+
"cdn-cache-rule": "schema: urn:f5xc:console:resource:v1\nid: cdn-cache-rule\nlabel: CDN Cache Rules\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cdn_cache_rule\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/cdn/cdn_cache_rule\n menu_path:\n - Manage\n - CDN\n - CDN Cache Rules\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - CDN\n - CDN Cache Rules\nadd_action:\n type: tab\n label: Add CDN Cache Rule\nsave_action:\n label: Add CDN Cache Rule\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
438
|
+
"cdn-loadbalancer": "schema: urn:f5xc:console:resource:v1\nid: cdn-loadbalancer\nlabel: CDN Distributions\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cdn_loadbalancer\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/cdn/distributions\n menu_path:\n - Web App & API Protection\n - Manage\n - CDN\n - CDN Distributions\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - CDN\n - CDN Distributions\nadd_action:\n type: tab\n label: Add CDN Distribution\nsave_action:\n label: Add CDN Distribution\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 6\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
439
|
+
"certificate": "schema: urn:f5xc:console:resource:v1\nid: certificate\nlabel: TLS Certificates\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: certificate\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/certificate_management/tls_certificate\n menu_path:\n - Manage\n - Certificate Management\n - TLS Certificates\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Certificate Management\n - TLS Certificates\nadd_action:\n type: tab\n label: Add TLS Certificate\nsave_action:\n label: Add TLS Certificate\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
440
|
+
"cloud-connect": "schema: urn:f5xc:console:resource:v1\nid: cloud-connect\nlabel: Cloud Connects\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cloud_connect\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/connectors/cloud_connect\n menu_path:\n - Manage\n - Connectors\n - Cloud Connects\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Connectors\n - Cloud Connects\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Cloud Connect\nsave_action:\n label: Add Cloud Connect\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
441
|
+
"cloud-credentials": "schema: urn:f5xc:console:resource:v1\nid: cloud-credentials\nlabel: Cloud Credentials\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cloud_credentials\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/other_configs/cloud_credential\n menu_path:\n - Manage\n - Site Management\n - Other Configurations\n - Cloud Credentials\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Other Configurations\n - Cloud Credentials\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Cloud Credential\nsave_action:\n label: Add Cloud Credential\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
442
|
+
"cloud-elastic-ip": "schema: urn:f5xc:console:resource:v1\nid: cloud-elastic-ip\nlabel: Cloud Elastic IPs\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cloud_elastic_ip\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/network_configuration/cloud_elastic_ip\n menu_path:\n - Manage\n - Networking\n - Network Configuration\n - Cloud Elastic IPs\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Network Configuration\n - Cloud Elastic IPs\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Cloud Elastic IP\nsave_action:\n label: Add Cloud Elastic IP\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
443
|
+
"cloud-link": "schema: urn:f5xc:console:resource:v1\nid: cloud-link\nlabel: CloudLinks\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cloud_link\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/external_connectivity/cloud_links\n menu_path:\n - Manage\n - Networking\n - External Connectivity\n - CloudLinks\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - External Connectivity\n - CloudLinks\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add CloudLink\nsave_action:\n label: Add CloudLink\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
444
|
+
"cluster": "schema: urn:f5xc:console:resource:v1\nid: cluster\nlabel: Clusters\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: cluster\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/virtual_host/clusters\n menu_path:\n - Manage\n - Virtual Host\n - Clusters\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Virtual Host\n - Clusters\nadd_action:\n type: tab\n label: Add Cluster\nsave_action:\n label: Add Cluster\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
445
|
+
"code-base-integration": "schema: urn:f5xc:console:resource:v1\nid: code-base-integration\nlabel: Code Base Integration\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: code_base_integration\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/code_base_integration\n menu_path:\n - Manage\n - API Security\n - Code Base Integration\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - Code Base Integration\nadd_action:\n type: tab\n label: Add Code Base Integration\nsave_action:\n label: Add Code Base Integration\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
446
|
+
"container-registry": "schema: urn:f5xc:console:resource:v1\nid: container-registry\nlabel: Container Registries\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: container_registry\nconsole:\n workspace: distributed-apps\n workspace_label: Distributed Apps\n route_prefix: /web/workspaces/distributed-apps\n route_pattern: /namespaces/{namespace}/manage/container_registries\n menu_path:\n - Manage\n - Container Registries\n breadcrumbs:\n - Home\n - Distributed Apps\n - '{namespace}'\n - Manage\n - Container Registries\nadd_action:\n type: tab\n label: Add Container Registry\nsave_action:\n label: Add Container Registry\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: inferred\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
447
|
+
"crl": "schema: urn:f5xc:console:resource:v1\nid: crl\nlabel: Certificate Revocation List\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: crl\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/load_balancers/crl\n menu_path:\n - Manage\n - Load Balancers\n - Certificate Revocation List\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Load Balancers\n - Certificate Revocation List\nadd_action:\n type: tab\n label: Add CRL\nsave_action:\n label: Add CRL\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
448
|
+
"data-type": "schema: urn:f5xc:console:resource:v1\nid: data-type\nlabel: Data Types\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: data_type\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/data_types\n menu_path:\n - Web App & API Protection\n - Manage\n - API Security\n - Data Types\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - Data Types\nadd_action:\n type: tab\n label: Add Data Type\nsave_action:\n label: Add Data Type\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
449
|
+
"dc-cluster-group": "schema: urn:f5xc:console:resource:v1\nid: dc-cluster-group\nlabel: DC Cluster Groups\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dc_cluster_group\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/site_to_site_connectivity/dc_cluster_groups\n menu_path:\n - Manage\n - Networking\n - Site-to-Site Connectivity\n - DC Cluster Groups\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Site-to-Site Connectivity\n - DC Cluster Groups\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DC Cluster Group\nsave_action:\n label: Add DC Cluster Group\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
450
|
+
"discovery": "schema: urn:f5xc:console:resource:v1\nid: discovery\nlabel: Service Discoveries\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: discovery\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /manage/discovery\n menu_path:\n - Manage\n - Service Discoveries\n breadcrumbs:\n - Home\n - Shared Configuration\n - Manage\n - Service Discoveries\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Service Discovery\nsave_action:\n label: Add Service Discovery\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
451
|
+
"dns-domain": "schema: urn:f5xc:console:resource:v1\nid: dns-domain\nlabel: Delegated Domain Management\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dns_domain\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/dns_domain\n menu_path:\n - Manage\n - Delegated Domain Management\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - Delegated Domain Management\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Domain\nsave_action:\n label: Add Domain\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
452
|
+
"dns-lb-health-check": "schema: urn:f5xc:console:resource:v1\nid: dns-lb-health-check\nlabel: DNS Load Balancer Health Checks\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dns_lb_health_check\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/dns_lb_management/dns_lb_health_check\n menu_path:\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancer Health Checks\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancer Health Checks\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DNS LB Health Check\nsave_action:\n label: Add DNS LB Health Check\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
453
|
+
"dns-lb-pool": "schema: urn:f5xc:console:resource:v1\nid: dns-lb-pool\nlabel: DNS Load Balancer Pools\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dns_lb_pool\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/dns_lb_management/dns_lb_pool\n menu_path:\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancer Pools\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancer Pools\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DNS Load Balancer Pool\nsave_action:\n label: Add DNS Load Balancer Pool\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Inferred from API spec and console home page workspace listing\n",
|
|
454
|
+
"dns-load-balancer": "schema: urn:f5xc:console:resource:v1\nid: dns-load-balancer\nlabel: DNS Load Balancers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dns_load_balancer\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/dns_lb_management/dns_load_balancer\n menu_path:\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancers\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - DNS Load Balancers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DNS Load Balancer\nsave_action:\n label: Add DNS Load Balancer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
455
|
+
"dns-zone": "schema: urn:f5xc:console:resource:v1\nid: dns-zone\nlabel: DNS Zones\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: dns_zone\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/zone_management\n menu_path:\n - DNS Management\n - Manage\n - DNS Zone Management\n - DNS Zones\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - DNS Zone Management\n - DNS Zones\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DNS Zone\nsave_action:\n label: Add DNS Zone\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
456
|
+
"endpoint": "schema: urn:f5xc:console:resource:v1\nid: endpoint\nlabel: Endpoints\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: endpoint\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/virtual_host/endpoints\n menu_path:\n - Manage\n - Virtual Host\n - Endpoints\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Virtual Host\n - Endpoints\nadd_action:\n type: tab\n label: Add Endpoint\nsave_action:\n label: Add Endpoint\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
457
|
+
"enhanced-firewall-policy": "schema: urn:f5xc:console:resource:v1\nid: enhanced-firewall-policy\nlabel: Enhanced Firewall Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: enhanced_firewall_policy\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/firewall/enhanced_firewall_policy\n menu_path:\n - Manage\n - Firewall\n - Enhanced Firewall Policies\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Firewall\n - Enhanced Firewall Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Enhanced Firewall Policy\nsave_action:\n label: Add Enhanced Firewall Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
458
|
+
"external-connector": "schema: urn:f5xc:console:resource:v1\nid: external-connector\nlabel: External Connectors\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: external_connector\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/external_connectivity/external_connector\n menu_path:\n - Manage\n - Networking\n - External Connectivity\n - External Connectors\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - External Connectivity\n - External Connectors\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add External Connector\nsave_action:\n label: Add External Connector\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
459
|
+
"fast-acl": "schema: urn:f5xc:console:resource:v1\nid: fast-acl\nlabel: Fast ACLs\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: fast_acl\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/firewall/fast_acls\n menu_path:\n - Manage\n - Firewall\n - Fast ACLs\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Firewall\n - Fast ACLs\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Fast ACL\nsave_action:\n label: Add Fast ACL\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
460
|
+
"fleet": "schema: urn:f5xc:console:resource:v1\nid: fleet\nlabel: Fleets\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: fleet\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/fleets\n menu_path:\n - Manage\n - Site Management\n - Legacy Configurations\n - Fleets\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Legacy Configurations\n - Fleets\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Fleet\nsave_action:\n label: Add Fleet\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
461
|
+
"forward-proxy-policy": "schema: urn:f5xc:console:resource:v1\nid: forward-proxy-policy\nlabel: Forward Proxy Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: forward_proxy_policy\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/security/forward_proxy_policies\n menu_path:\n - Multi-Cloud App Connect\n - Manage\n - Security\n - Forward Proxy Policies\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Security\n - Forward Proxy Policies\nadd_action:\n type: tab\n label: Add Forward Proxy Policy\nsave_action:\n label: Add Forward Proxy Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
462
|
+
"gcp-vpc-site": "schema: urn:f5xc:console:resource:v1\nid: gcp-vpc-site\nlabel: GCP VPC Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: gcp_vpc_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/gcp_vpc_site\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - GCP VPC Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - GCP VPC Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add GCP VPC Site\nsave_action:\n label: Add GCP VPC Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
463
|
+
"geo-location-set": "schema: urn:f5xc:console:resource:v1\nid: geo-location-set\nlabel: Geo-Location Sets\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: geo_location_set\nconsole:\n workspace: dns-management\n workspace_label: DNS Management\n route_prefix: /web/workspaces/dns-management\n route_pattern: /manage/dns_lb_management/geo_location_set\n menu_path:\n - Manage\n - DNS Load Balancer Management\n - Geo-Location Sets\n breadcrumbs:\n - Home\n - DNS Management\n - Manage\n - DNS Load Balancer Management\n - Geo-Location Sets\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Geo-Location Set\nsave_action:\n label: Add Geo-Location Set\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
464
|
+
"global-log-receiver": "schema: urn:f5xc:console:resource:v1\nid: global-log-receiver\nlabel: Global Log Receivers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: global_log_receiver\nconsole:\n workspace: audit-logs-and-alerts\n workspace_label: Audit Logs & Alerts\n route_prefix: /web/workspaces/audit-logs-and-alerts\n route_pattern: /namespaces/system/manage/global_log_receivers\n menu_path:\n - Audit Logs & Alerts\n - Manage\n - Global Log Receivers\n breadcrumbs:\n - Home\n - Audit Logs & Alerts\n - system\n - Manage\n - Global Log Receivers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Global Log Receiver\nsave_action:\n label: Add Global Log Receiver\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
465
|
+
"health-check": "schema: urn:f5xc:console:resource:v1\nid: health-check\nlabel: Health Checks\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: healthcheck\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/load_balancers/health_checks\n menu_path:\n - Web App & API Protection\n - Manage\n - Load Balancers\n - Health Checks\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Load Balancers\n - Health Checks\nadd_action:\n type: tab\n label: Add Health Check\nsave_action:\n label: Add Health Check\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: health-check-parameters\n label: Health Check Parameters\n show_advanced_fields: true\n api_fields:\n - spec.http_health_check\n - spec.timeout\n - spec.interval\n - spec.unhealthy_threshold\n - spec.healthy_threshold\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
466
|
+
"http-load-balancer": "schema: urn:f5xc:console:resource:v1\nid: http-load-balancer\nlabel: HTTP Load Balancers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: http_loadbalancer\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/load_balancers/http_loadbalancers\n menu_path:\n - Web App & API Protection\n - Manage\n - Load Balancers\n - HTTP Load Balancers\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Load Balancers\n - HTTP Load Balancers\nadd_action:\n type: tab\n label: Add HTTP Load Balancer\nsave_action:\n label: Add HTTP Load Balancer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: domains-and-lb-type\n label: Domains and LB Type\n api_fields:\n - spec.domains\n - spec.http\n - spec.https\n - spec.https_auto_cert\n - id: origins\n label: Origins\n show_advanced_fields: true\n api_fields:\n - spec.default_route_pools\n - spec.default_pool\n - spec.default_pool_list\n - spec.origin_server_subset_rule_list\n - id: routes\n label: Routes\n api_fields:\n - spec.routes\n - id: cdn\n label: CDN\n api_fields:\n - spec.disable_caching\n - id: waf\n label: Web Application Firewall\n api_fields:\n - spec.app_firewall\n - spec.disable_waf\n - spec.waf_exclusion\n - spec.data_guard_rules\n - spec.csrf_policy\n - spec.graphql_rules\n - spec.protected_cookies\n - id: bot-protection\n label: Bot Protection\n show_advanced_fields: true\n api_fields:\n - spec.bot_defense\n - spec.bot_defense_advanced\n - spec.disable_bot_defense\n - id: api-protection\n label: API Protection\n api_fields:\n - spec.api_specification\n - spec.api_protection_rules\n - spec.jwt_validation\n - spec.enable_api_discovery\n - spec.disable_api_discovery\n - spec.disable_api_definition\n - spec.sensitive_data_policy\n - spec.default_sensitive_data_policy\n - spec.api_rate_limit\n - spec.api_testing\n - spec.disable_api_testing\n - spec.sensitive_data_disclosure_rules\n - id: malware-protection\n label: Malware Protection\n disabled: true\n disabled_reason: Upgrade required\n api_fields:\n - spec.malware_protection_settings\n - spec.disable_malware_protection\n - id: dos-settings\n label: DoS Settings\n api_fields:\n - spec.l7_ddos_protection\n - spec.l7_ddos_action_block\n - spec.l7_ddos_action_default\n - spec.l7_ddos_action_js_challenge\n - spec.ddos_mitigation_rules\n - spec.slow_ddos_mitigation\n - spec.captcha_challenge\n - spec.js_challenge\n - spec.no_challenge\n - spec.policy_based_challenge\n - spec.enable_challenge\n - id: client-side-defense\n label: Client-Side Defense\n disabled: true\n disabled_reason: Upgrade required\n api_fields:\n - spec.client_side_defense\n - spec.disable_client_side_defense\n - id: common-security-controls\n label: Common Security Controls\n api_fields:\n - spec.active_service_policies\n - spec.no_service_policies\n - spec.service_policies_from_namespace\n - spec.enable_ip_reputation\n - spec.disable_ip_reputation\n - spec.enable_threat_mesh\n - spec.disable_threat_mesh\n - spec.user_id_client_ip\n - spec.user_identification\n - spec.enable_malicious_user_detection\n - spec.disable_malicious_user_detection\n - spec.rate_limit\n - spec.disable_rate_limit\n - spec.trusted_clients\n - spec.blocked_clients\n - spec.cors_policy\n - id: other-settings\n label: Other Settings\n api_fields:\n - spec.advertise_on_public\n - spec.advertise_on_public_default_vip\n - spec.advertise_custom\n - spec.do_not_advertise\n - spec.round_robin\n - spec.least_active\n - spec.random\n - spec.ring_hash\n - spec.source_ip_stickiness\n - spec.cookie_stickiness\n - spec.disable_trust_client_ip_headers\n - spec.enable_trust_client_ip_headers\n - spec.add_location\n - spec.more_option\n - spec.multi_lb_app\n - spec.single_lb_app\n - spec.system_default_timeouts\nenriched_fields:\n count: 83\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
467
|
+
"ike-gateway": "schema: urn:f5xc:console:resource:v1\nid: ike-gateway\nlabel: IKE Profiles\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: ike_gateway\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/external_connectivity/ike_profiles\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - External Connectivity\n - IKE Profiles\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - External Connectivity\n - IKE Profiles\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add IKE Profile\nsave_action:\n label: Add IKE Profile\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated — MCN workspace has no namespace in URLs\n",
|
|
468
|
+
"ip-prefix-set": "schema: urn:f5xc:console:resource:v1\nid: ip-prefix-set\nlabel: IP Prefix Sets\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: ip_prefix_set\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/ip_prefix_sets\n menu_path:\n - Manage\n - Shared Objects\n - IP Prefix Sets\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - IP Prefix Sets\nadd_action:\n type: tab\n label: Add IP Prefix Set\nsave_action:\n label: Add IP Prefix Set\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
469
|
+
"k8s-cluster": "schema: urn:f5xc:console:resource:v1\nid: k8s-cluster\nlabel: K8s Clusters\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: k8s_cluster\nconsole:\n workspace: distributed-apps\n workspace_label: Distributed Apps\n route_prefix: /web/workspaces/distributed-apps\n route_pattern: /namespaces/{namespace}/manage/virtual_k8s/k8s_clusters\n menu_path:\n - Distributed Apps\n - Manage\n - Virtual K8s\n - K8s Clusters\n breadcrumbs:\n - Home\n - Distributed Apps\n - '{namespace}'\n - Manage\n - Virtual K8s\n - K8s Clusters\nadd_action:\n type: tab\n label: Add K8s Cluster\nsave_action:\n label: Add K8s Cluster\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
470
|
+
"log-receiver": "schema: urn:f5xc:console:resource:v1\nid: log-receiver\nlabel: Log Receivers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: log_receiver\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/log_management/log_receivers\n menu_path:\n - Manage\n - Log Management\n - Log Receivers\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Log Management\n - Log Receivers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Log Receiver\nsave_action:\n label: Add Log Receiver\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
471
|
+
"malicious-user-mitigation": "schema: urn:f5xc:console:resource:v1\nid: malicious-user-mitigation\nlabel: Malicious User Mitigation\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: malicious_user_mitigation\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/malicious_user_mitigation\n menu_path:\n - Manage\n - Shared Objects\n - Malicious User Mitigation\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - Malicious User Mitigation\nadd_action:\n type: tab\n label: Add Malicious User Mitigation\nsave_action:\n label: Add Malicious User Mitigation\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
472
|
+
"mcn-secret-policy-rule": "schema: urn:f5xc:console:resource:v1\nid: mcn-secret-policy-rule\nlabel: Secret Policy Rules\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: mcn_secret_policy_rule\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/secrets/secret_policy_rules\n menu_path:\n - Manage\n - Secrets\n - Secret Policy Rules\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Secrets\n - Secret Policy Rules\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Secret Policy Rule\nsave_action:\n label: Add Secret Policy Rule\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
473
|
+
"namespace": "schema: urn:f5xc:console:resource:v1\nid: namespace\nlabel: My Namespaces\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: namespace\nconsole:\n workspace: administration\n workspace_label: Administration\n route_prefix: /web/workspaces/administration\n route_pattern: /personal-management/namespaces\n menu_path:\n - Administration\n - Personal Management\n - My Namespaces\n breadcrumbs:\n - Home\n - Administration\n - Personal Management\n - My Namespaces\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Namespace\nsave_action:\n label: Add Namespace\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 2\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
474
|
+
"nat-policy": "schema: urn:f5xc:console:resource:v1\nid: nat-policy\nlabel: NAT Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: nat_policy\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/network_configuration/nat_policy\n menu_path:\n - Manage\n - Networking\n - Network Configuration\n - NAT Policies\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Network Configuration\n - NAT Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add NAT Policy\nsave_action:\n label: Add NAT Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
475
|
+
"network-connector": "schema: urn:f5xc:console:resource:v1\nid: network-connector\nlabel: Network Connectors\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: network_connector\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/network_connectors\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - Network Connectors\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - Network Connectors\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Network Connector\nsave_action:\n label: Add Network Connector\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
476
|
+
"network-firewall": "schema: urn:f5xc:console:resource:v1\nid: network-firewall\nlabel: Network Firewalls\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: network_firewall\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/firewall/network_firewall\n menu_path:\n - Manage\n - Firewall\n - Network Firewalls\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Firewall\n - Network Firewalls\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Network Firewall\nsave_action:\n label: Add Network Firewall\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
477
|
+
"network-interface": "schema: urn:f5xc:console:resource:v1\nid: network-interface\nlabel: Network Interfaces\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: network_interface\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/network_interfaces\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - Network Interfaces\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - Network Interfaces\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Network Interface\nsave_action:\n label: Add Network Interface\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
478
|
+
"network-policy": "schema: urn:f5xc:console:resource:v1\nid: network-policy\nlabel: Network Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: network_policy\nconsole:\n workspace: distributed-apps\n workspace_label: Distributed Apps\n route_prefix: /web/workspaces/distributed-apps\n route_pattern: /namespaces/{namespace}/manage/networking/network_policies\n menu_path:\n - Distributed Apps\n - Manage\n - Networking\n - Network Policies\n breadcrumbs:\n - Home\n - Distributed Apps\n - '{namespace}'\n - Manage\n - Networking\n - Network Policies\nadd_action:\n type: tab\n label: Add Network Policy\nsave_action:\n label: Add Network Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
479
|
+
"network-policy-rule": "schema: urn:f5xc:console:resource:v1\nid: network-policy-rule\nlabel: Network Policy Rules\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: network_policy_rule\nconsole:\n workspace: distributed-apps\n workspace_label: Distributed Apps\n route_prefix: /web/workspaces/distributed-apps\n route_pattern: /namespaces/{namespace}/manage/network_policies/network_policy_rules\n menu_path:\n - Manage\n - vK8s Network Policies\n - Network Policy Rules\n breadcrumbs:\n - Home\n - Distributed Apps\n - '{namespace}'\n - Manage\n - vK8s Network Policies\n - Network Policy Rules\nadd_action:\n type: tab\n label: Add Network Policy Rule\nsave_action:\n label: Add Network Policy Rule\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
480
|
+
"nfv-service": "schema: urn:f5xc:console:resource:v1\nid: nfv-service\nlabel: NFV Services\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: nfv_service\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/nfv_services\n menu_path:\n - Manage\n - Connectors\n - NFV Services\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Connectors\n - NFV Services\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add NFV Service\nsave_action:\n label: Add NFV Service\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: inferred\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
481
|
+
"openapi-file": "schema: urn:f5xc:console:resource:v1\nid: openapi-file\nlabel: OpenAPI Files\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: openapi_file\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/files/openapi\n menu_path:\n - Manage\n - Files\n - OpenAPI Files\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Files\n - OpenAPI Files\nadd_action:\n type: tab\n label: Add OpenAPI File\nsave_action:\n label: Add OpenAPI File\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
482
|
+
"origin-pool": "schema: urn:f5xc:console:resource:v1\nid: origin-pool\nlabel: Origin Pools\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: origin_pool\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/load_balancers/origin_pools\n menu_path:\n - Web App & API Protection\n - Manage\n - Load Balancers\n - Origin Pools\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Load Balancers\n - Origin Pools\nadd_action:\n type: tab\n label: Add Origin Pool\nsave_action:\n label: Add Origin Pool\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: origin-servers\n label: Origin Servers\n api_fields:\n - spec.origin_servers\n - spec.port\n - id: health-checks\n label: Health Checks\n api_fields:\n - spec.healthcheck\n - id: tls\n label: TLS\n api_fields:\n - spec.use_tls\n - id: other-settings\n label: Other Settings\n api_fields: []\nenriched_fields:\n count: 8\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
483
|
+
"policer": "schema: urn:f5xc:console:resource:v1\nid: policer\nlabel: Policers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: policer\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/firewall/policers\n menu_path:\n - Manage\n - Firewall\n - Policers\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Firewall\n - Policers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Policer\nsave_action:\n label: Add Policer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
484
|
+
"protocol-policer": "schema: urn:f5xc:console:resource:v1\nid: protocol-policer\nlabel: Protocol Policers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: protocol_policer\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/firewall/protocol_policers\n menu_path:\n - Manage\n - Firewall\n - Protocol Policers\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Firewall\n - Protocol Policers\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Protocol Policer\nsave_action:\n label: Add Protocol Policer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
485
|
+
"proxy": "schema: urn:f5xc:console:resource:v1\nid: proxy\nlabel: HTTP Connect & DRPs\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: proxy\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/load_balancers/proxy\n menu_path:\n - Manage\n - Load Balancers\n - HTTP Connect & DRPs\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Load Balancers\n - HTTP Connect & DRPs\nadd_action:\n type: tab\n label: Add HTTP Connect / DRP\nsave_action:\n label: Add HTTP Connect / DRP\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
486
|
+
"public-ip": "schema: urn:f5xc:console:resource:v1\nid: public-ip\nlabel: Public IP Addresses\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: public_ip\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/public_ip\n menu_path:\n - Manage\n - Public IP Addresses\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Public IP Addresses\nadd_action:\n type: tab\n label: Add Public IP\nsave_action:\n label: Add Public IP\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: inferred\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
487
|
+
"rate-limiter": "schema: urn:f5xc:console:resource:v1\nid: rate-limiter\nlabel: Rate Limiters\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: rate_limiter\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/rate_limiters\n menu_path:\n - Manage\n - Shared Objects\n - Rate Limiters\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - Rate Limiters\nadd_action:\n type: tab\n label: Add Rate Limiter\nsave_action:\n label: Add Rate Limiter\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
488
|
+
"rate-limiter-policy": "schema: urn:f5xc:console:resource:v1\nid: rate-limiter-policy\nlabel: Rate Limiter Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: rate_limiter_policy\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/rate_limiter_policies\n menu_path:\n - Web App & API Protection\n - Manage\n - Rate Limiter Policies\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Rate Limiter Policies\nadd_action:\n type: tab\n label: Add Rate Limiter\nsave_action:\n label: Add Rate Limiter\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
489
|
+
"role": "schema: urn:f5xc:console:resource:v1\nid: role\nlabel: Roles\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: role\nconsole:\n workspace: administration\n workspace_label: Administration\n route_prefix: /web/workspaces/administration\n route_pattern: /iam/roles\n menu_path:\n - IAM\n - Roles\n breadcrumbs:\n - Home\n - Administration\n - IAM\n - Roles\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Role\nsave_action:\n label: Add Role\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
490
|
+
"route-object": "schema: urn:f5xc:console:resource:v1\nid: route-object\nlabel: Routes\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: route\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/virtual_host/routes\n menu_path:\n - Multi-Cloud App Connect\n - Manage\n - Virtual Host\n - Routes\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Virtual Host\n - Routes\nadd_action:\n type: tab\n label: Add Route\nsave_action:\n label: Add Route\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
491
|
+
"secret-policy": "schema: urn:f5xc:console:resource:v1\nid: secret-policy\nlabel: Secret Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: secret_policy\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /namespaces/shared/manage/secret_policies\n menu_path:\n - Shared Configuration\n - Manage\n - Secret Policies\n breadcrumbs:\n - Home\n - Shared Configuration\n - shared\n - Manage\n - Secret Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Secret Policy\nsave_action:\n label: Add Secret Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
492
|
+
"securemesh-site": "schema: urn:f5xc:console:resource:v1\nid: securemesh-site\nlabel: Secure Mesh Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: securemesh_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/legacy_configs/securemesh_site\n menu_path:\n - Manage\n - Site Management\n - Legacy Configurations\n - Secure Mesh Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Legacy Configurations\n - Secure Mesh Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Secure Mesh Site\nsave_action:\n label: Add Secure Mesh Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
493
|
+
"securemesh-site-v2": "schema: urn:f5xc:console:resource:v1\nid: securemesh-site-v2\nlabel: Secure Mesh Sites v2\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: securemesh_site_v2\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/cloud_sites/securemesh_site_v2\n menu_path:\n - Manage\n - Site Management\n - Customer Edges\n - Secure Mesh Sites v2\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Customer Edges\n - Secure Mesh Sites v2\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Secure Mesh Site v2\nsave_action:\n label: Add Secure Mesh Site v2\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
494
|
+
"securemesh-site-v2-cloud": "schema: urn:f5xc:console:resource:v1\nid: securemesh-site-v2-cloud\nlabel: Secure Mesh Sites v2\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: securemesh_site_v2_cloud\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/cloud_sites/securemesh_site_v2\n menu_path:\n - Manage\n - Site Management\n - Customer Edges\n - Secure Mesh Sites v2\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Customer Edges\n - Secure Mesh Sites v2\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Secure Mesh Site\nsave_action:\n label: Add Secure Mesh Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n notes: This is the v2 cloud sites path — differs from securemesh_site_v2 which may have a different route\n",
|
|
495
|
+
"segment": "schema: urn:f5xc:console:resource:v1\nid: segment\nlabel: Segments\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: segment\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/network_configuration/segment\n menu_path:\n - Manage\n - Networking\n - Network Configuration\n - Segments\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Network Configuration\n - Segments\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Segment\nsave_action:\n label: Add Segment\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
496
|
+
"segment-connection": "schema: urn:f5xc:console:resource:v1\nid: segment-connection\nlabel: Segment Connector\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: segment_connection\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/network_configuration/segment_connection\n menu_path:\n - Manage\n - Networking\n - Network Configuration\n - Segment Connector\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Network Configuration\n - Segment Connector\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Segment Connector\nsave_action:\n label: Add Segment Connector\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
497
|
+
"sensitive-data-policy": "schema: urn:f5xc:console:resource:v1\nid: sensitive-data-policy\nlabel: Sensitive Data Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: sensitive_data_policy\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/api_security/sensitive_data_policies\n menu_path:\n - Web App & API Protection\n - Manage\n - API Security\n - Sensitive Data Policies\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - API Security\n - Sensitive Data Policies\nadd_action:\n type: tab\n label: Add Sensitive Data Policy\nsave_action:\n label: Add Sensitive Data Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
498
|
+
"service-credential": "schema: urn:f5xc:console:resource:v1\nid: service-credential\nlabel: Service Credentials\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: service_credential\nconsole:\n workspace: administration\n workspace_label: Administration\n route_prefix: /web/workspaces/administration\n route_pattern: /iam/service_credentials\n menu_path:\n - IAM\n - Service Credentials\n breadcrumbs:\n - Home\n - Administration\n - IAM\n - Service Credentials\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Service Credential\nsave_action:\n label: Add Service Credential\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
499
|
+
"service-policy": "schema: urn:f5xc:console:resource:v1\nid: service-policy\nlabel: Service Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: service_policy\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/service_policies/service_policies\n menu_path:\n - Web App & API Protection\n - Manage\n - Service Policies\n - Service Policies\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Service Policies\n - Service Policies\nadd_action:\n type: tab\n label: Add Service policy\nsave_action:\n label: Add Service policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: servers\n label: Servers\n api_fields: []\n - id: rules\n label: Rules\n api_fields: []\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
500
|
+
"service-policy-rule": "schema: urn:f5xc:console:resource:v1\nid: service-policy-rule\nlabel: Service Policy Rules\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: service_policy_rule\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/service_policies/service_policy_rules\n menu_path:\n - Manage\n - Service Policies\n - Service Policy Rules\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Service Policies\n - Service Policy Rules\nadd_action:\n type: tab\n label: Add Service Policy Rule\nsave_action:\n label: Add Service Policy Rule\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
501
|
+
"shared-advertise-policy": "schema: urn:f5xc:console:resource:v1\nid: shared-advertise-policy\nlabel: Advertise Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: shared_advertise_policy\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /manage/advertise_policies\n menu_path:\n - Manage\n - Advertise Policies\n breadcrumbs:\n - Home\n - Shared Configuration\n - Manage\n - Advertise Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Advertise Policy\nsave_action:\n label: Add Advertise Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
502
|
+
"site-mesh-group": "schema: urn:f5xc:console:resource:v1\nid: site-mesh-group\nlabel: Site Mesh Groups\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: site_mesh_group\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/site_to_site_connectivity/site_mesh_groups\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Site to Site Connectivity\n - Site Mesh Groups\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Site to Site Connectivity\n - Site Mesh Groups\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Site Mesh Group\nsave_action:\n label: Add Site Mesh Group\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated — MCN workspace has no namespace in URLs\n",
|
|
503
|
+
"subnet": "schema: urn:f5xc:console:resource:v1\nid: subnet\nlabel: Subnets\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: subnet\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/subnets\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - Subnets\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - Subnets\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Subnet\nsave_action:\n label: Add Subnet\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
504
|
+
"tcp-load-balancer": "schema: urn:f5xc:console:resource:v1\nid: tcp-load-balancer\nlabel: TCP Load Balancers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: tcp_loadbalancer\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\n menu_path:\n - Multi-Cloud App Connect\n - Manage\n - Load Balancers\n - TCP Load Balancers\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Load Balancers\n - TCP Load Balancers\nadd_action:\n type: tab\n label: Add TCP Load Balancer\nsave_action:\n label: Add TCP Load Balancer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\n - id: basic-configuration\n label: Basic Configuration\n show_advanced_fields: true\n api_fields:\n - spec.domains\n - spec.listen_port\n - spec.sni\n - spec.origin_pools\n - spec.advertise_on_public\n - id: load-balancing-control\n label: Load Balancing Control\n show_advanced_fields: true\n api_fields: []\n - id: service-policies\n label: Service Policies\n api_fields: []\n - id: advanced-configuration\n label: Advanced Configuration\n show_advanced_fields: true\n api_fields: []\nenriched_fields:\n count: 8\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
505
|
+
"third-party-application": "schema: urn:f5xc:console:resource:v1\nid: third-party-application\nlabel: Third-Party Applications\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: third_party_application\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/third_party_application\n menu_path:\n - Manage\n - Third-Party Applications\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Third-Party Applications\nadd_action:\n type: tab\n label: Add Third-Party Application\nsave_action:\n label: Add Third-Party Application\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: inferred\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
506
|
+
"tunnel": "schema: urn:f5xc:console:resource:v1\nid: tunnel\nlabel: Tunnels\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: tunnel\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/tunnels\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - Tunnels\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - Tunnels\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Tunnel\nsave_action:\n label: Add Tunnel\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
507
|
+
"udp-loadbalancer": "schema: urn:f5xc:console:resource:v1\nid: udp-loadbalancer\nlabel: UDP Load Balancers\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: udp_loadbalancer\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/load_balancers/udp_loadbalancers\n menu_path:\n - Multi-Cloud App Connect\n - Manage\n - Load Balancers\n - UDP Load Balancers\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Load Balancers\n - UDP Load Balancers\nadd_action:\n type: tab\n label: Add UDP Load Balancer\nsave_action:\n label: Add UDP Load Balancer\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
508
|
+
"usb-policy": "schema: urn:f5xc:console:resource:v1\nid: usb-policy\nlabel: USB Policies\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: usb_policy\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/other_configs/usb_policies\n menu_path:\n - Manage\n - Site Management\n - Other Configurations\n - USB Policies\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - Other Configurations\n - USB Policies\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add USB Policy\nsave_action:\n label: Add USB Policy\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n",
|
|
509
|
+
"user-identification": "schema: urn:f5xc:console:resource:v1\nid: user-identification\nlabel: User Identifications\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: user_identification\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/shared_objects/user_identification\n menu_path:\n - Manage\n - Shared Objects\n - User Identifications\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - Shared Objects\n - User Identifications\nadd_action:\n type: tab\n label: Add User Identification\nsave_action:\n label: Add User Identification\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
510
|
+
"v1-dns-monitor": "schema: urn:f5xc:console:resource:v1\nid: v1-dns-monitor\nlabel: DNS Monitors\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: v1_dns_monitor\nconsole:\n workspace: observability\n workspace_label: Observability\n route_prefix: /web/workspaces/observability\n route_pattern: /namespaces/system/manage/dns_monitors\n menu_path:\n - Observability\n - Manage\n - DNS Monitors\n breadcrumbs:\n - Home\n - Observability\n - system\n - Manage\n - DNS Monitors\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add DNS Monitor\nsave_action:\n label: Add DNS Monitor\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
511
|
+
"v1-http-monitor": "schema: urn:f5xc:console:resource:v1\nid: v1-http-monitor\nlabel: HTTP Monitors\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: v1_http_monitor\nconsole:\n workspace: observability\n workspace_label: Observability\n route_prefix: /web/workspaces/observability\n route_pattern: /namespaces/system/manage/monitors/http_monitors\n menu_path:\n - Observability\n - Manage\n - Monitors\n - HTTP Monitors\n breadcrumbs:\n - Home\n - Observability\n - system\n - Manage\n - Monitors\n - HTTP Monitors\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add HTTP Monitor\nsave_action:\n label: Add HTTP Monitor\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
512
|
+
"virtual-host": "schema: urn:f5xc:console:resource:v1\nid: virtual-host\nlabel: Virtual Hosts\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: virtual_host\nconsole:\n workspace: multi-cloud-app-connect\n workspace_label: Multi-Cloud App Connect\n route_prefix: /web/workspaces/multi-cloud-app-connect\n route_pattern: /namespaces/{namespace}/manage/virtual_host/virtual_hosts\n menu_path:\n - Multi-Cloud App Connect\n - Manage\n - Virtual Host\n - Virtual Hosts\n breadcrumbs:\n - Home\n - Multi-Cloud App Connect\n - '{namespace}'\n - Manage\n - Virtual Host\n - Virtual Hosts\nadd_action:\n type: tab\n label: Add Virtual Host\nsave_action:\n label: Add Virtual Host\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 13\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-15'\n console_version: '2025.06'\n",
|
|
513
|
+
"virtual-k8s": "schema: urn:f5xc:console:resource:v1\nid: virtual-k8s\nlabel: Virtual K8s\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: virtual_k8s\nconsole:\n workspace: distributed-apps\n workspace_label: Distributed Apps\n route_prefix: /web/workspaces/distributed-apps\n route_pattern: /namespaces/{namespace}/applications/virtual_k8s\n menu_path:\n - Applications\n - Virtual K8s\n breadcrumbs:\n - Home\n - Distributed Apps\n - '{namespace}'\n - Applications\n - Virtual K8s\nadd_action:\n type: tab\n label: Add Virtual K8s\nsave_action:\n label: Add Virtual K8s\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
514
|
+
"virtual-network": "schema: urn:f5xc:console:resource:v1\nid: virtual-network\nlabel: Virtual Networks\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: virtual_network\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/networking/legacy_network_configuration/virtual_networks\n menu_path:\n - Manage\n - Networking\n - Legacy Network Configuration\n - Virtual Networks\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Networking\n - Legacy Network Configuration\n - Virtual Networks\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Virtual Network\nsave_action:\n label: Add Virtual Network\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n",
|
|
515
|
+
"virtual-site": "schema: urn:f5xc:console:resource:v1\nid: virtual-site\nlabel: Virtual Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: virtual_site\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /namespaces/shared/manage/virtual_sites\n menu_path:\n - Shared Configuration\n - Manage\n - Virtual Sites\n breadcrumbs:\n - Home\n - Shared Configuration\n - shared\n - Manage\n - Virtual Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Virtual Site\nsave_action:\n label: Add Virtual Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 5\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
516
|
+
"voltstack-site": "schema: urn:f5xc:console:resource:v1\nid: voltstack-site\nlabel: App Stack Sites\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: voltstack_site\nconsole:\n workspace: multi-cloud-network-connect\n workspace_label: Multi-Cloud Network Connect\n route_prefix: /web/workspaces/multi-cloud-network-connect\n route_pattern: /manage/site_management/cloud_sites/appstack_site\n menu_path:\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - App Stack Sites\n breadcrumbs:\n - Home\n - Multi-Cloud Network Connect\n - Manage\n - Site Management\n - App Stack Sites\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add App Stack Site\nsave_action:\n label: Add App Stack Site\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
517
|
+
"waf-exclusion-policy": "schema: urn:f5xc:console:resource:v1\nid: waf-exclusion-policy\nlabel: WAF Exclusion Rules\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: waf_exclusion_policy\nconsole:\n workspace: web-app-and-api-protection\n workspace_label: Web App & API Protection\n route_prefix: /web/workspaces/web-app-and-api-protection\n route_pattern: /namespaces/{namespace}/manage/app_firewall/waf_exclusion_rules\n menu_path:\n - Web App & API Protection\n - Manage\n - App Firewall\n - WAF Exclusion Rules\n breadcrumbs:\n - Home\n - Web App & API Protection\n - '{namespace}'\n - Manage\n - App Firewall\n - WAF Exclusion Rules\nadd_action:\n type: tab\n label: Add WAF Exclusion Rule\nsave_action:\n label: Add WAF Exclusion Rule\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nenriched_fields:\n count: 4\n source: api-specs-enriched/config/console_field_metadata.yaml\nmetadata:\n confidence: validated\n discovered_at: '2026-06-16'\n console_version: '2025.06'\n notes: Validated via URL probe against live staging console\n",
|
|
518
|
+
"workload-flavor": "schema: urn:f5xc:console:resource:v1\nid: workload-flavor\nlabel: Workload Flavors\n_source: Generated from api-specs-enriched/config/console_ui.yaml\napi:\n kind: workload_flavor\nconsole:\n workspace: shared-configuration\n workspace_label: Shared Configuration\n route_prefix: /web/workspaces/shared-configuration\n route_pattern: /manage/workload_flavors\n menu_path:\n - Manage\n - Workload Flavors\n breadcrumbs:\n - Home\n - Shared Configuration\n - Manage\n - Workload Flavors\n namespace_scoped: false\nadd_action:\n type: tab\n label: Add Workload Flavor\nsave_action:\n label: Add Workload Flavor\ncancel_action:\n label: Cancel All\nform_tabs:\n - Form\n - Documentation\n - JSON\nform:\n sections:\n - id: metadata\n label: Metadata\n api_fields:\n - metadata.name\n - metadata.labels\n - metadata.description\nmetadata:\n confidence: validated\n discovered_at: '2026-06-17'\n console_version: '2025.06'\n"
|
|
519
|
+
},
|
|
520
|
+
"routes": {
|
|
521
|
+
"app-firewalls": "schema: \"urn:f5xc:console:route:v1\"\nid: \"app-firewalls\"\nlabel: \"App Firewalls\"\n\nroute:\n pattern: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Web App & API Protection\", \"{namespace}\", \"Manage\", \"App Firewall\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"web-app-and-api-protection\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all App Firewalls in the selected namespace\"\n primary_resource: \"app-firewall\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add App Firewall\"\n action: \"create\"\n selector: \"tab:text('Add App Firewall')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"namespace\"\n label: \"Namespace\"\n - id: \"actions\"\n label: \"Actions\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/app-firewall/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/app-firewall/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern and screen structure validated via live browser session. Add action is a tab, not a button.\"\n",
|
|
522
|
+
"health-checks": "schema: \"urn:f5xc:console:route:v1\"\nid: \"health-checks\"\nlabel: \"Health Checks\"\n\nroute:\n pattern: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Web App & API Protection\", \"{namespace}\", \"Manage\", \"Load Balancers\", \"Health Checks\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"web-app-and-api-protection\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Health Checks in the selected namespace\"\n primary_resource: \"health-check\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Health Check\"\n action: \"create\"\n selector: \"tab:text('Add Health Check')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"namespace\"\n label: \"Namespace\"\n - id: \"interval\"\n label: \"Interval\"\n - id: \"jitter_percent\"\n label: \"Jitter Percent\"\n - id: \"timeout\"\n label: \"Timeout\"\n - id: \"unhealthy_threshold\"\n label: \"Unhealthy Threshold\"\n - id: \"healthy_threshold\"\n label: \"Healthy Threshold\"\n - id: \"actions\"\n label: \"Actions\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/health-check/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/health-check/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern and screen structure validated via live browser session. Add action is a tab, not a button. Table columns from discovery: Name, Namespace, Interval, Jitter Percent, Timeout, Unhealthy Threshold, Healthy Threshold, Actions.\"\n",
|
|
523
|
+
"http-load-balancers": "schema: \"urn:f5xc:console:route:v1\"\nid: \"http-load-balancers\"\nlabel: \"HTTP Load Balancers\"\n\nroute:\n pattern: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Web App & API Protection\", \"{namespace}\", \"Manage\", \"Load Balancers\", \"HTTP Load Balancers\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"web-app-and-api-protection\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all HTTP Load Balancers in the selected namespace\"\n primary_resource: \"http-load-balancer\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add HTTP Load Balancer\"\n action: \"create\"\n selector: \"tab:text('Add HTTP Load Balancer')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"domains\"\n label: \"Domains\"\n - id: \"origin-pools\"\n label: \"Origin Pools\"\n - id: \"advertise-policy\"\n label: \"Advertise Policy\"\n - id: \"status\"\n label: \"Status\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n - id: \"clone\"\n label: \"Clone\"\n operation: \"clone\"\n\n detail_route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/http-load-balancer/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"read\"\n workflow: \"workflows/http-load-balancer/view.yaml\"\n - type: \"update\"\n workflow: \"workflows/http-load-balancer/edit.yaml\"\n - type: \"delete\"\n workflow: \"workflows/http-load-balancer/delete.yaml\"\n - type: \"clone\"\n workflow: \"workflows/http-load-balancer/clone.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern and screen structure validated via live browser session. Add action is a tab, not a button.\"\n",
|
|
524
|
+
"namespaces": "schema: \"urn:f5xc:console:route:v1\"\nid: \"namespaces\"\nlabel: \"Namespaces\"\n\nroute:\n pattern: \"/web/workspaces/administration/personal-management/namespaces\"\n params: {}\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Administration\", \"Personal Management\", \"My Namespaces\"]\n\ncontext:\n requires_login: true\n requires_namespace: false\n minimum_role: \"admin\"\n workspace: \"administration\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Namespaces accessible to the current user\"\n primary_resource: \"namespace\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Namespace\"\n action: \"create\"\n selector: \"tab:text('Add Namespace')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"description\"\n label: \"Description\"\n - id: \"iam-users\"\n label: \"IAM Users\"\n - id: \"type\"\n label: \"Type\"\n - id: \"actions\"\n label: \"Actions\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/administration/personal-management/namespaces/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/namespace/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/namespace/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"System-level resource — no namespace-selector control or namespace param. Route pattern and table columns validated via live browser session.\"\n",
|
|
525
|
+
"origin-pools": "schema: \"urn:f5xc:console:route:v1\"\nid: \"origin-pools\"\nlabel: \"Origin Pools\"\n\nroute:\n pattern: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Web App & API Protection\", \"{namespace}\", \"Manage\", \"Load Balancers\", \"Origin Pools\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"web-app-and-api-protection\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Origin Pools in the selected namespace\"\n primary_resource: \"origin-pool\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Origin Pool\"\n action: \"create\"\n selector: \"tab:text('Add Origin Pool')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"namespace\"\n label: \"Namespace\"\n - id: \"actions\"\n label: \"Actions\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/origin-pool/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/origin-pool/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern and screen structure validated via live browser session. Add action is a tab, not a button. Table columns: Name, Namespace, Actions.\"\n",
|
|
526
|
+
"routes": "schema: \"urn:f5xc:console:route:v1\"\nid: \"routes\"\nlabel: \"Routes\"\n\nroute:\n pattern: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Multi-Cloud App Connect\", \"{namespace}\", \"Manage\", \"Virtual Host\", \"Routes\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"multi-cloud-app-connect\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Routes in the selected namespace\"\n primary_resource: \"route-object\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Route\"\n action: \"create\"\n selector: \"tab:text('Add Route')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"match-path\"\n label: \"Match Path\"\n - id: \"action\"\n label: \"Action\"\n - id: \"destinations\"\n label: \"Destinations\"\n - id: \"status\"\n label: \"Status\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/routes/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/route-object/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/route-object/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern validated via live browser session. Add action is a tab, not a button.\"\n",
|
|
527
|
+
"service-policies": "schema: \"urn:f5xc:console:route:v1\"\nid: \"service-policies\"\nlabel: \"Service Policies\"\n\nroute:\n pattern: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Web App & API Protection\", \"{namespace}\", \"Manage\", \"Service Policies\", \"Service Policies\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"web-app-and-api-protection\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Service Policies in the selected namespace\"\n primary_resource: \"service-policy\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Service policy\"\n action: \"create\"\n selector: \"tab:text('Add Service policy')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"namespace\"\n label: \"Namespace\"\n - id: \"rule-count\"\n label: \"Rule Count\"\n - id: \"avg-latency\"\n label: \"Avg. Latency\"\n - id: \"hits\"\n label: \"Hits\"\n - id: \"actions\"\n label: \"Actions\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/service_policies/service_policies/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/service-policy/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/service-policy/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern, table columns, and screen structure validated via live browser session. Add action is a tab, not a button.\"\n",
|
|
528
|
+
"tcp-load-balancers": "schema: \"urn:f5xc:console:route:v1\"\nid: \"tcp-load-balancers\"\nlabel: \"TCP Load Balancers\"\n\nroute:\n pattern: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Multi-Cloud App Connect\", \"{namespace}\", \"Manage\", \"Load Balancers\", \"TCP Load Balancers\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"multi-cloud-app-connect\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all TCP Load Balancers in the selected namespace\"\n primary_resource: \"tcp-load-balancer\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add TCP Load Balancer\"\n action: \"create\"\n selector: \"tab:text('Add TCP Load Balancer')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"listen-port\"\n label: \"Listen Port\"\n - id: \"origin-pools\"\n label: \"Origin Pools\"\n - id: \"sni\"\n label: \"SNI\"\n - id: \"status\"\n label: \"Status\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/tcp-load-balancer/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/tcp-load-balancer/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern and screen structure validated via live browser session. Add action is a tab, not a button.\"\n",
|
|
529
|
+
"virtual-hosts": "schema: \"urn:f5xc:console:route:v1\"\nid: \"virtual-hosts\"\nlabel: \"Virtual Hosts\"\n\nroute:\n pattern: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts\"\n params:\n namespace:\n required: true\n description: \"F5 XC namespace\"\n example: \"demo\"\n supports_direct_link: true\n breadcrumbs: [\"Home\", \"Multi-Cloud App Connect\", \"{namespace}\", \"Manage\", \"Virtual Host\", \"Virtual Hosts\"]\n\ncontext:\n requires_login: true\n requires_namespace: true\n minimum_role: \"admin\"\n workspace: \"multi-cloud-app-connect\"\n\nscreen:\n type: \"list\"\n description: \"Table listing all Virtual Hosts in the selected namespace\"\n primary_resource: \"virtual-host\"\n\n form_tabs: [\"Form\", \"Documentation\", \"JSON\"]\n form_note: \"Create form opens inline on the same page when the Add tab is clicked\"\n\n controls:\n - id: \"add-tab\"\n type: \"tab\"\n label: \"Add Virtual Host\"\n action: \"create\"\n selector: \"tab:text('Add Virtual Host')\"\n note: \"This is a tab element, not a button. Clicking it opens the create form inline.\"\n - id: \"search\"\n type: \"search-input\"\n label: \"Search\"\n - id: \"namespace-selector\"\n type: \"dropdown\"\n label: \"Namespace\"\n\n table:\n columns:\n - id: \"name\"\n label: \"Name\"\n sortable: true\n links_to: \"detail\"\n - id: \"domains\"\n label: \"Domains\"\n - id: \"tls\"\n label: \"TLS\"\n - id: \"routes\"\n label: \"Routes\"\n - id: \"status\"\n label: \"Status\"\n row_actions:\n - id: \"edit\"\n label: \"Edit\"\n operation: \"update\"\n - id: \"delete\"\n label: \"Delete\"\n operation: \"delete\"\n\n detail_route: \"/web/workspaces/multi-cloud-app-connect/namespaces/{namespace}/manage/virtual_host/virtual_hosts/{name}\"\n\noperations:\n - type: \"create\"\n workflow: \"workflows/virtual-host/create.yaml\"\n - type: \"list\"\n inline: true\n - type: \"delete\"\n workflow: \"workflows/virtual-host/delete.yaml\"\n\nmetadata:\n confidence: \"validated\"\n discovered_at: \"2026-06-15\"\n validated_at: \"2026-06-15\"\n console_version: \"2025.06\"\n notes: \"Route pattern validated via live browser session. Add action is a tab, not a button.\"\n"
|
|
530
|
+
},
|
|
531
|
+
"navigation": "schema: \"urn:f5xc:console:navigation:v1\"\nconsole_version: \"2025.06\"\ndiscovered_at: \"2026-06-15\"\n\ntree:\n - id: \"web-app-and-api-protection\"\n label: \"Web App & API Protection\"\n type: \"workspace\"\n route_prefix: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}\"\n children:\n - id: \"manage\"\n label: \"Manage\"\n children:\n - id: \"load-balancers\"\n label: \"Load Balancers\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Load Balancers\"]\n children:\n - id: \"http-load-balancers\"\n label: \"HTTP Load Balancers\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Load Balancers\", \"HTTP Load Balancers\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/http_loadbalancers\"\n route_file: \"routes/load-balancers/http-load-balancers.yaml\"\n - id: \"tcp-load-balancers\"\n label: \"TCP Load Balancers\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Load Balancers\", \"TCP Load Balancers\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/tcp_loadbalancers\"\n route_file: \"routes/load-balancers/tcp-load-balancers.yaml\"\n - id: \"origin-pools\"\n label: \"Origin Pools\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Load Balancers\", \"Origin Pools\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/origin_pools\"\n route_file: \"routes/load-balancers/origin-pools.yaml\"\n - id: \"health-checks\"\n label: \"Health Checks\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Load Balancers\", \"Health Checks\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/load_balancers/health_checks\"\n route_file: \"routes/load-balancers/health-checks.yaml\"\n\n - id: \"app-firewall\"\n label: \"App Firewall\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"App Firewall\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/app_firewall\"\n route_file: \"routes/security/app-firewalls.yaml\"\n\n - id: \"service-policies\"\n label: \"Service Policies\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Service Policies\"]\n route: \"javascript:void(0)\"\n note: \"Has submenu — not a direct link\"\n route_file: \"routes/security/service-policies.yaml\"\n\n - id: \"rate-limiter-policies\"\n label: \"Rate Limiter Policies\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Rate Limiter Policies\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/rate_limiter_policies\"\n\n - id: \"bigip-virtual-servers\"\n label: \"BIG-IP Virtual Servers\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"BIG-IP Virtual Servers\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/bigip_virtual_server\"\n\n - id: \"public-ip-addresses\"\n label: \"Public IP Addresses\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Public IP Addresses\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/public_ip\"\n\n - id: \"saved-filters\"\n label: \"Saved Filters\"\n menu_path: [\"Web App & API Protection\", \"Manage\", \"Saved Filters\"]\n route: \"/web/workspaces/web-app-and-api-protection/namespaces/{namespace}/manage/saved_filters\"\n\n - id: \"administration\"\n label: \"Administration\"\n menu_path: [\"Administration\"]\n children:\n - id: \"namespaces\"\n label: \"Namespaces\"\n menu_path: [\"Administration\", \"Namespaces\"]\n route: \"/web/namespaces\"\n route_file: \"routes/administration/namespaces.yaml\"\n\nmetadata:\n confidence: \"validated\"\n validated_at: \"2026-06-15\"\n notes: \"Workspace-based structure validated via live browser session. All routes under web-app-and-api-protection workspace confirmed.\"\n"
|
|
532
|
+
};
|