diff --git a/.changeset/update-openapi-15656f084dd7.md b/.changeset/update-openapi-15656f084dd7.md new file mode 100644 index 000000000..88fc7c2a4 --- /dev/null +++ b/.changeset/update-openapi-15656f084dd7.md @@ -0,0 +1,6 @@ +--- +"cf": minor +--- + +Update the generated command surface for Forge OpenAPI release +`15656f084dd7a0ada54f8f659c749a7248254b9f`. diff --git a/packages/cli/e2e/_generated/run-e2e.sh b/packages/cli/e2e/_generated/run-e2e.sh index 98cf99394..792a1b63a 100755 --- a/packages/cli/e2e/_generated/run-e2e.sh +++ b/packages/cli/e2e/_generated/run-e2e.sh @@ -2,7 +2,7 @@ # Generated by transformer-e2e transformer # DO NOT EDIT - This file is auto-generated -# E2E Test Runner — 111 products, 6408 tests +# E2E Test Runner — 110 products, 6397 tests # Built from packages/cli/e2e/*.json # # Usage: @@ -97,7 +97,7 @@ rv() { fi } -echo "=== E2E: 111 products, 6408 tests ===" +echo "=== E2E: 110 products, 6397 tests ===" echo "account=$ACCOUNT_ID zone=${ZONE_ID:-none} run=$RUN_ID" echo "output: $OUT" echo "" @@ -5337,88 +5337,6 @@ else fi fi -# ── hostnames (11) ── -if [ -z "${ONLY_PRODUCT:-}" ] || [ "${ONLY_PRODUCT:-}" = "hostnames" ]; then -echo "-- hostnames (11) --" -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls-get" $CF hostnames settings tls-get 'placeholder_setting_id' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls-get" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls-get" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls-update" $CF hostnames settings tls-update 'placeholder_setting_id' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls-update" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls-update" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls-delete" $CF hostnames settings tls-delete 'placeholder_setting_id' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls-delete" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls-delete" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings-extra get" $CF hostnames settings-extra get 'placeholder_setting_id' 'placeholder_hostname' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings-extra get" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings-extra get" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings-tls get" $CF hostnames settings-tls get 'ciphers' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings-tls get" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings-tls get" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings-tls update" $CF hostnames settings-tls update 'ciphers' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings-tls update" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings-tls update" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings-tls delete" $CF hostnames settings-tls delete 'ciphers' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings-tls delete" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings-tls delete" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls get" $CF hostnames settings tls get 'ciphers' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls get" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls get" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls update" $CF hostnames settings tls update 'ciphers' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls update" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls update" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls delete" $CF hostnames settings tls delete 'ciphers' 'placeholder_hostname' '--dry-run' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls delete" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls delete" "-1" >> "$LOG" -fi -if [ -n "${ZONE_ID:-}" ]; then -r "cf hostnames settings tls-single get" $CF hostnames settings tls-single get 'ciphers' 'placeholder_hostname' -z "$ZONE_ID" -a "$ACCOUNT_ID" -else - printf " \xe2\x8f\xad %-72s skip (missing dep)\n" "cf hostnames settings tls-single get" - T=$((T+1)) - printf "%s\t%d\n" "cf hostnames settings tls-single get" "-1" >> "$LOG" -fi -fi - # ── hyperdrive (6) ── if [ -z "${ONLY_PRODUCT:-}" ] || [ "${ONLY_PRODUCT:-}" = "hyperdrive" ]; then echo "-- hyperdrive (6) --" diff --git a/packages/cli/e2e/hostnames.json b/packages/cli/e2e/hostnames.json deleted file mode 100644 index 573c4c66f..000000000 --- a/packages/cli/e2e/hostnames.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "product": "hostnames", - "tests": [ - { - "command": "cf hostnames settings tls-get", - "args": ["placeholder_setting_id"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls-update", - "args": ["placeholder_setting_id", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls-delete", - "args": ["placeholder_setting_id", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings-extra get", - "args": ["placeholder_setting_id", "placeholder_hostname"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings-tls get", - "args": ["ciphers"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings-tls update", - "args": ["ciphers", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings-tls delete", - "args": ["ciphers", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls get", - "args": ["ciphers"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls update", - "args": ["ciphers", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls delete", - "args": ["ciphers", "placeholder_hostname", "--dry-run"], - "env": { - "scope": "zone" - } - }, - { - "command": "cf hostnames settings tls-single get", - "args": ["ciphers", "placeholder_hostname"], - "env": { - "scope": "zone" - } - } - ] -} diff --git a/packages/cli/generate.ts b/packages/cli/generate.ts index 410e17e97..e8f83c2be 100644 --- a/packages/cli/generate.ts +++ b/packages/cli/generate.ts @@ -17,7 +17,7 @@ import type { ForgeOpenApiDocument } from "./generator/openapi.js"; const bundle = process.env.FORGE_OPENAPI_BUNDLE; // Bump this SHA to generate the commands from a new release. -const FORGE_OPENAPI_VERSION = "dfab495170fee6a8af2746ed4d624db8f9fe688a"; +const FORGE_OPENAPI_VERSION = "15656f084dd7a0ada54f8f659c749a7248254b9f"; const FORGE_OPENAPI_RELEASE = `openapi@${FORGE_OPENAPI_VERSION}`; const FORGE_OPENAPI_ASSET = "openapi.forge.json"; const FORGE_OPENAPI_ASSET_URL = `https://github.com/cloudflare/forge/releases/download/${FORGE_OPENAPI_RELEASE}/${FORGE_OPENAPI_ASSET}`; diff --git a/packages/cli/src/commands/_generated/_meta/commands.json b/packages/cli/src/commands/_generated/_meta/commands.json index 723edf846..0ee54d94d 100644 --- a/packages/cli/src/commands/_generated/_meta/commands.json +++ b/packages/cli/src/commands/_generated/_meta/commands.json @@ -37082,13 +37082,13 @@ "name": "article-ids", "type": "string", "required": true, - "description": "The article_ids field" + "description": "Array of article UUIDs to mark (1-50)." }, { "name": "read", "type": "boolean", "required": true, - "description": "The read field" + "description": "True to mark read, false to mark unread." }, { "name": "dry-run", @@ -37124,7 +37124,7 @@ "position": 0, "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" } ], "options": [ @@ -37152,7 +37152,7 @@ "articles", "get-content" ], - "description": "Retrieves the stored body of a Threat Signals article as plain text or HTML.", + "description": "Retrieves the stored content of a Threat Signals article, unchanged. Depending on how the article was captured from its source, the content is HTML, Markdown, or plain text. The format parameter sets only the response Content-Type; it does not convert the content.", "summary": "Get Threat Signals article content", "usage": "cf cloudforce-one threat-signals articles get-content [options]", "arguments": [ @@ -37161,7 +37161,7 @@ "position": 0, "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" } ], "options": [ @@ -37169,7 +37169,7 @@ "name": "format", "type": "string", "required": false, - "description": "Format", + "description": "Response Content-Type: text (the default) for text/plain or html for text/html. Neither value converts the content. html is deprecated; use text.", "enum": ["text", "html"] }, { @@ -37206,13 +37206,13 @@ "name": "per-page", "type": "number", "required": false, - "description": "Per page" + "description": "Number of articles per cursor page, from 1 to 100. Defaults to 20." }, { "name": "feed-id", "type": "string", "required": false, - "description": "Feed ID" + "description": "Feed UUID filter. Omit to include articles from every account feed." }, { "name": "article-id", @@ -37224,7 +37224,7 @@ "name": "read", "type": "boolean", "required": false, - "description": "Read" + "description": "Filter by read state. Accepts true, false, 1, or 0; omit to include read and unread articles." }, { "name": "tag-id", @@ -37254,49 +37254,49 @@ "name": "include-total", "type": "boolean", "required": false, - "description": "Include total" + "description": "When true on the first page, count matching articles and return an exact total. Defaults to false; cursor pages do not recalculate totals." }, { "name": "search", "type": "string", "required": false, - "description": "Search" + "description": "NFC-normalized, trimmed literal substring filter on article titles; ASCII case-insensitive, from 1 to 500 characters." }, { "name": "published-after", "type": "string", "required": false, - "description": "Published after" + "description": "Include articles published at or after this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC." }, { "name": "published-before", "type": "string", "required": false, - "description": "Published before" + "description": "Include articles published at or before this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC." }, { "name": "fetched-after", "type": "string", "required": false, - "description": "Fetched after" + "description": "Include articles fetched at or after this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC." }, { "name": "fetched-before", "type": "string", "required": false, - "description": "Fetched before" + "description": "Include articles fetched at or before this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC." }, { "name": "feed-category", "type": "string", "required": false, - "description": "Feed category" + "description": "Exact feed-category filter after trimming. Omit to include every category." }, { "name": "source-type", "type": "string", "required": false, - "description": "Source type", + "description": "Filter by curated or custom feed source. Omit to include both source types.", "enum": ["curated", "custom"] }, { @@ -37310,7 +37310,7 @@ "name": "sort", "type": "string", "required": false, - "description": "Sort" + "description": "Sort by fetched_at, published_at, or title. Prefix the field with - for descending order; defaults to -fetched_at." }, { "name": "dry-run", @@ -37340,7 +37340,7 @@ "position": 0, "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" } ], "options": [ @@ -37348,7 +37348,7 @@ "name": "read", "type": "boolean", "required": true, - "description": "The read field" + "description": "True to mark the article read, false to mark unread." }, { "name": "dry-run", @@ -37381,7 +37381,7 @@ "skills", "get-output" ], - "description": "Retrieves the stored output of a skill for a Threat Signals article.", + "description": "Retrieves the stored output of a skill for a Threat Signals article. The custom_output field is parsed JSON when the stored output is valid JSON, otherwise the raw string.", "summary": "Get Threat Signals article skill output", "usage": "cf cloudforce-one threat-signals articles skills get-output [options]", "arguments": [ @@ -37390,7 +37390,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Custom Skill UUID or a Managed Default Skill ID (IOC-context: default-ioc-context-skill)" } ], "options": [ @@ -37398,7 +37398,7 @@ "name": "article-id", "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" }, { "name": "dry-run", @@ -37425,7 +37425,7 @@ "skills", "list" ], - "description": "Lists active custom skills currently assigned to the article's feed and whether each has a stored output. Output content and skill configuration are retrieved separately.", + "description": "Lists active custom skills currently assigned to the article's feed and whether each has a stored output. Output content and skill configuration are retrieved separately. Free Threat Signals accounts cannot read Custom Skills.", "summary": "List Threat Signals article custom skills", "usage": "cf cloudforce-one threat-signals articles skills list [options]", "arguments": [], @@ -37434,7 +37434,7 @@ "name": "article-id", "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" }, { "name": "dry-run", @@ -37461,8 +37461,8 @@ "skills", "run" ], - "description": "Paid customer operation that always persists a managed default skill or an assigned active custom skill result without exposing diagnostic model data.", - "summary": "Run and persist a Threat Signals article skill", + "description": "Run an active Custom Skill assigned to the article's feed, or run a managed default skill. Requires a paid Threat Signals subscription and the Cloudforce One Write permission. Always persists output; rerunning overwrites the previous result. Does not expose diagnostic model data or accept server-preview inputs.", + "summary": "Run and persist skill output for a Threat Signals article", "usage": "cf cloudforce-one threat-signals articles skills run [options]", "arguments": [ { @@ -37470,7 +37470,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "UUID of an active Custom Skill that is assigned to the article's feed, or a managed default skill ID. Requires a paid Threat Signals subscription and the Cloudforce One Write permission. Always persists output; rerunning overwrites the previous result. No diagnostic or server-preview inputs." } ], "options": [ @@ -37478,7 +37478,7 @@ "name": "article-id", "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" }, { "name": "dry-run", @@ -37520,7 +37520,7 @@ "position": 0, "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" } ], "options": [ @@ -37528,7 +37528,7 @@ "name": "tag-id", "type": "string", "required": true, - "description": "The tag_id field" + "description": "UUID of a tag from the account's catalog to apply to the article." }, { "name": "dry-run", @@ -37570,7 +37570,7 @@ "position": 0, "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" } ], "options": [ @@ -37608,7 +37608,7 @@ "position": 0, "type": "string", "required": true, - "description": "Tag ID" + "description": "UUID of a tag from the account's catalog" } ], "options": [ @@ -37616,7 +37616,7 @@ "name": "article-id", "type": "string", "required": true, - "description": "Article ID" + "description": "Threat Signals article UUID" }, { "name": "dry-run", @@ -37661,7 +37661,7 @@ "command": "cf cloudforce-one threat-signals feeds create", "name": "create", "fullPath": ["cloudforce-one", "threat-signals", "feeds", "create"], - "description": "Subscribes the account to a custom or curated Threat Signals feed.", + "description": "Subscribes the account to a custom or curated Threat Signals feed. Adding a custom feed when the account is at its custom-feed limit returns 403 with `errors[0].reason` `threat_signals_feed_limit`, and `errors[0].custom_feed_limit` and `errors[0].custom_feed_count` give the limit and current count. Curated feeds are not subject to this limit.", "summary": "Create Threat Signals feed", "usage": "cf cloudforce-one threat-signals feeds create [options]", "arguments": [], @@ -37686,39 +37686,39 @@ "name": "curated-feed-id", "type": "string", "required": false, - "description": "The curated_feed_id field" + "description": "UUID of a curated feed to subscribe to. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance." }, { "name": "display-name", "type": "string", "required": false, - "description": "The display_name field" + "description": "Override the feed's display name. Null clears it; omit to keep existing or derived value." }, { "name": "enabled", "type": "boolean", "required": false, - "description": "The enabled field", + "description": "Whether to actively poll the feed. Default true.", "default": true }, { "name": "poll-interval-s", "type": "number", "required": false, - "description": "The poll_interval_s field", + "description": "Polling interval in seconds (60-86400). Default 300s (5 minutes).", "default": 300 }, { "name": "title", "type": "string", "required": false, - "description": "The title field" + "description": "Override the feed's title. Null clears it; omit to keep existing or derived value." }, { "name": "url", "type": "string", "required": false, - "description": "The url field" + "description": "HTTPS RSS feed URL. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance." }, { "name": "dry-run", @@ -37754,7 +37754,7 @@ "position": 0, "type": "string", "required": true, - "description": "Feed ID" + "description": "UUID of the Threat Signals feed" } ], "options": [ @@ -37777,7 +37777,7 @@ "command": "cf cloudforce-one threat-signals feeds get-raw", "name": "get-raw", "fullPath": ["cloudforce-one", "threat-signals", "feeds", "get-raw"], - "description": "Retrieves the feed document fetched by the most recent poll.", + "description": "Retrieves the feed document fetched by the most recent poll as text/plain by default or application/xml when format is xml.", "summary": "Get Threat Signals feed XML", "usage": "cf cloudforce-one threat-signals feeds get-raw [options]", "arguments": [ @@ -37786,7 +37786,7 @@ "position": 0, "type": "string", "required": true, - "description": "Feed ID" + "description": "UUID of the Threat Signals feed" } ], "options": [ @@ -37794,7 +37794,7 @@ "name": "format", "type": "string", "required": false, - "description": "Format", + "description": "Response format. Use xml for application/xml; omit it for the default text/plain response.", "enum": ["xml"] }, { @@ -37825,50 +37825,50 @@ "name": "page", "type": "number", "required": false, - "description": "Page" + "description": "1-based page number. Minimum 1; defaults to 1." }, { "name": "per-page", "type": "number", "required": false, - "description": "Per page" + "description": "Number of feeds per page, from 1 to 100. Defaults to 20." }, { "name": "limit", "type": "number", "required": false, - "description": "Limit" + "description": "Optional 1–100 alias for per_page. When provided, limit takes precedence." }, { "name": "sort", "type": "string", "required": false, - "description": "Sort" + "description": "Sort by created_at, title, category, or url. Prefix the field with - for descending order; defaults to -created_at." }, { "name": "category", "type": "string", "required": false, - "description": "Category" + "description": "Exact feed-category filter, up to 100 characters. Omit to include all categories." }, { "name": "source-type", "type": "string", "required": false, - "description": "Source type", + "description": "Filter by curated or custom feed source. Omit to include both source types.", "enum": ["curated", "custom"] }, { "name": "enabled", "type": "boolean", "required": false, - "description": "Enabled" + "description": "Filter by enabled state. Accepts true, false, 1, or 0; omit to include enabled and disabled feeds." }, { "name": "status", "type": "string", "required": false, - "description": "Status" + "description": "Exact stored polling-status filter, such as active or error. Omit to include every status." }, { "name": "dry-run", @@ -37898,7 +37898,7 @@ "name": "feed-id", "type": "string", "required": false, - "description": "Feed ID" + "description": "UUID of a specific feed to poll, or \"all\" to poll all feeds. Omit or pass \"all\" for all feeds." }, { "name": "dry-run", @@ -37925,7 +37925,7 @@ "skills", "get" ], - "description": "Retrieves the effective skill pipeline for a Threat Signals feed.", + "description": "Retrieves active non-IOC-context Managed Default Skills followed by active Custom Skills assigned to the feed, with each entry's source. Free Threat Signals accounts receive only those Managed Default Skills.", "summary": "Get Threat Signals feed skills", "usage": "cf cloudforce-one threat-signals feeds skills get ", "arguments": [ @@ -37934,7 +37934,7 @@ "position": 0, "type": "string", "required": true, - "description": "Feed ID" + "description": "UUID of the Threat Signals feed" } ], "options": [ @@ -37963,7 +37963,7 @@ "skills", "update" ], - "description": "Replaces the ordered custom skills assigned to a Threat Signals feed.", + "description": "Replaces the ordered custom skills assigned to a Threat Signals feed. Requires a paid Threat Signals subscription.", "summary": "Set Threat Signals feed skills", "usage": "cf cloudforce-one threat-signals feeds skills update [options]", "arguments": [ @@ -37972,7 +37972,7 @@ "position": 0, "type": "string", "required": true, - "description": "Feed ID" + "description": "UUID of the Threat Signals feed" } ], "options": [ @@ -37980,7 +37980,7 @@ "name": "skill-ids", "type": "string", "required": true, - "description": "The skill_ids field" + "description": "Ordered array of Custom Skill UUIDs (max 20). Replaces the feed's custom skill assignments. Free accounts cannot assign custom skills. Managed default skills are unaffected." }, { "name": "dry-run", @@ -38016,7 +38016,7 @@ "position": 0, "type": "string", "required": true, - "description": "Feed ID" + "description": "UUID of the Threat Signals feed" } ], "options": [ @@ -38040,25 +38040,25 @@ "name": "display-name", "type": "string", "required": false, - "description": "The display_name field" + "description": "Override the feed's display name. Null clears it; omit to keep existing or derived value." }, { "name": "enabled", "type": "boolean", "required": false, - "description": "The enabled field" + "description": "Whether to actively poll the feed. Omit to keep current value." }, { "name": "poll-interval-s", "type": "number", "required": false, - "description": "The poll_interval_s field" + "description": "New polling interval in seconds (60-86400). Omit to keep current value." }, { "name": "title", "type": "string", "required": false, - "description": "The title field" + "description": "Override the feed's title. Null clears it; omit to keep existing or derived value." }, { "name": "dry-run", @@ -38094,13 +38094,13 @@ "name": "feed-id", "type": "string", "required": false, - "description": "Feed ID" + "description": "Feed UUID filter. Omit to include indicators from every account feed." }, { "name": "article-id", "type": "string", "required": false, - "description": "Article ID" + "description": "Article UUID filter. Omit to include indicators from every article." }, { "name": "search", @@ -38112,25 +38112,25 @@ "name": "per-page", "type": "number", "required": false, - "description": "Per page" + "description": "Number of indicators per cursor page, from 1 to 100. Defaults to 20." }, { "name": "sort", "type": "string", "required": false, - "description": "Sort" + "description": "Sort by id. Use id for ascending or -id for descending order; defaults to id." }, { "name": "include-total", "type": "boolean", "required": false, - "description": "Include total" + "description": "When true on the first page, count matching indicators and return an exact total. Defaults to false; cursor pages do not recalculate totals." }, { "name": "cursor", "type": "string", "required": false, - "description": "Cursor" + "description": "Opaque cursor from the previous response's `pagination.cursor`. When provided, page size, ordering, and filters come from the cursor. Sending `per_page`, `sort`, `include_total`, `feed_id`, `article_id`, or `search` alongside it returns a 400 `CursorFilterConflictError`." }, { "name": "dry-run", @@ -38160,19 +38160,19 @@ "name": "query", "type": "string", "required": true, - "description": "Query" + "description": "Keyword and semantic article-search text, from 1 to 1000 characters." }, { "name": "max-results", "type": "string", "required": false, - "description": "Max results" + "description": "Maximum search matches to request, an integer from 1 to 50. Defaults to 20 when omitted or empty; multiple matches from one article can produce fewer returned articles." }, { "name": "feed-id", "type": "string", "required": false, - "description": "Feed ID" + "description": "Optional feed UUID that restricts results to articles from that feed." }, { "name": "dry-run", @@ -38193,7 +38193,7 @@ "command": "cf cloudforce-one threat-signals skills create", "name": "create", "fullPath": ["cloudforce-one", "threat-signals", "skills", "create"], - "description": "Creates a custom AI skill for the account.", + "description": "Creates a Custom Skill for the account. Free Threat Signals accounts cannot create Custom Skills.", "summary": "Create Threat Signals skill", "usage": "cf cloudforce-one threat-signals skills create [options]", "arguments": [], @@ -38202,19 +38202,19 @@ "name": "name", "type": "string", "required": true, - "description": "The name field" + "description": "Custom Skill name (1–100 characters)." }, { "name": "output-schema", "type": "string", "required": true, - "description": "The output_schema field" + "description": "JSON Schema serialized as a string (max 4096 characters)." }, { "name": "prompt", "type": "string", "required": true, - "description": "The prompt field" + "description": "AI prompt (1–4000 characters) defining the skill's instructions." }, { "name": "type", @@ -38249,7 +38249,7 @@ "command": "cf cloudforce-one threat-signals skills delete", "name": "delete", "fullPath": ["cloudforce-one", "threat-signals", "skills", "delete"], - "description": "Deletes a custom skill. Default skills cannot be deleted.", + "description": "Deletes a Custom Skill. The skill's stored outputs on articles are deleted with it. Managed Default Skills cannot be deleted. Free Threat Signals accounts cannot delete Custom Skills.", "summary": "Delete Threat Signals skill", "usage": "cf cloudforce-one threat-signals skills delete ", "arguments": [ @@ -38258,7 +38258,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Custom Skill UUID or a Managed Default Skill ID" } ], "options": [ @@ -38281,7 +38281,7 @@ "command": "cf cloudforce-one threat-signals skills get", "name": "get", "fullPath": ["cloudforce-one", "threat-signals", "skills", "get"], - "description": "Retrieves a default or custom skill by ID.", + "description": "Retrieves a Managed Default Skill or Custom Skill. Managed catalog definitions are readable. Free Threat Signals accounts cannot read Custom Skills.", "summary": "Get Threat Signals skill", "usage": "cf cloudforce-one threat-signals skills get ", "arguments": [ @@ -38290,7 +38290,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Custom Skill UUID or a Managed Default Skill ID" } ], "options": [ @@ -38313,7 +38313,7 @@ "command": "cf cloudforce-one threat-signals skills list", "name": "list", "fullPath": ["cloudforce-one", "threat-signals", "skills", "list"], - "description": "Lists the default and custom skills available to the account.", + "description": "Lists active Managed Default Skills and Custom Skills. Free Threat Signals accounts see active managed defaults only, with custom_skills_available: false.", "summary": "List Threat Signals skills", "usage": "cf cloudforce-one threat-signals skills list [options]", "arguments": [], @@ -38322,13 +38322,13 @@ "name": "page", "type": "number", "required": false, - "description": "Page" + "description": "Page number (≥ 1, default 1)." }, { "name": "per-page", "type": "number", "required": false, - "description": "Per page" + "description": "Results per page (1–100, default 20)." }, { "name": "dry-run", @@ -38355,7 +38355,7 @@ "tag-categories", "get" ], - "description": "Retrieves the tag categories the default tagging skill may choose tags from.", + "description": "Retrieves the Tag Categories the managed default tagging skill may select tags from. This configures the managed default tagging skill, not Custom Skills.", "summary": "Get Threat Signals skill tag categories", "usage": "cf cloudforce-one threat-signals skills tag-categories get ", "arguments": [ @@ -38364,7 +38364,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Must be default-tagging-skill; configures the managed default tagging skill" } ], "options": [ @@ -38393,7 +38393,7 @@ "tag-categories", "update" ], - "description": "Replaces the tag categories the default tagging skill may choose tags from.", + "description": "Replaces the Tag Categories the managed default tagging skill may select tags from. This configures the managed default tagging skill, not Custom Skills.", "summary": "Replace Threat Signals skill tag categories", "usage": "cf cloudforce-one threat-signals skills tag-categories update [options]", "arguments": [ @@ -38402,7 +38402,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Must be default-tagging-skill; configures the managed default tagging skill" } ], "options": [ @@ -38410,7 +38410,7 @@ "name": "category-uuids", "type": "string", "required": true, - "description": "The category_uuids field" + "description": "Up to 100 unique tag category UUIDs that the managed default tagging skill may select tags from." }, { "name": "dry-run", @@ -38437,7 +38437,7 @@ "command": "cf cloudforce-one threat-signals skills update", "name": "update", "fullPath": ["cloudforce-one", "threat-signals", "skills", "update"], - "description": "Updates a custom skill. Default skills are read-only.", + "description": "Updates a Custom Skill. Managed Default Skills cannot be updated. Free Threat Signals accounts cannot update Custom Skills.", "summary": "Update Threat Signals skill", "usage": "cf cloudforce-one threat-signals skills update [options]", "arguments": [ @@ -38446,7 +38446,7 @@ "position": 0, "type": "string", "required": true, - "description": "Skill ID" + "description": "Custom Skill UUID or a Managed Default Skill ID" } ], "options": [ @@ -38454,31 +38454,31 @@ "name": "skill-config", "type": "string", "required": false, - "description": "The config field" + "description": "Optional skill configuration (stored but not currently interpreted)." }, { "name": "is-active", "type": "boolean", "required": false, - "description": "The is_active field" + "description": "Whether the skill is active and eligible for feed assignment." }, { "name": "name", "type": "string", "required": false, - "description": "The name field" + "description": "Custom Skill name (1–100 characters)." }, { "name": "output-schema", "type": "string", "required": false, - "description": "The output_schema field" + "description": "JSON Schema serialized as a string (max 4096 characters)." }, { "name": "prompt", "type": "string", "required": false, - "description": "The prompt field" + "description": "AI prompt (1–4000 characters) defining the skill's instructions." }, { "name": "dry-run", @@ -54530,158 +54530,6 @@ "operationId": "healthchecks.update", "hideCommand": true }, - { - "command": "cf hostnames settings tls delete", - "name": "delete", - "fullPath": ["hostnames", "settings", "tls", "delete"], - "description": "Delete the tls setting value for the hostname.", - "summary": "Delete TLS setting for hostname", - "usage": "cf hostnames settings tls delete [options]", - "arguments": [ - { - "name": "hostname", - "position": 0, - "type": "string", - "required": true, - "description": "The hostname for which the tls settings are set." - } - ], - "options": [ - { - "name": "setting-id", - "type": "string", - "required": true, - "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." - }, - { - "name": "dry-run", - "type": "boolean", - "required": false, - "description": "Validate and show what would happen without executing", - "default": false - } - ], - "category": "delete", - "hasRequestBody": false, - "httpMethod": "DELETE", - "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "operationId": "hostnames.settings.tls.delete", - "hideCommand": false - }, - { - "command": "cf hostnames settings tls get", - "name": "get", - "fullPath": ["hostnames", "settings", "tls", "get"], - "description": "List the requested TLS setting for the hostnames under this zone.", - "summary": "List TLS setting for hostnames", - "usage": "cf hostnames settings tls get ", - "arguments": [ - { - "name": "setting-id", - "position": 0, - "type": "string", - "required": true, - "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." - } - ], - "options": [ - { - "name": "dry-run", - "type": "boolean", - "required": false, - "description": "Validate and show what would happen without executing", - "default": false - } - ], - "category": "read", - "hasRequestBody": false, - "httpMethod": "GET", - "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}", - "operationId": "hostnames.settings.tls.get", - "hideCommand": false - }, - { - "command": "cf hostnames settings tls update", - "name": "update", - "fullPath": ["hostnames", "settings", "tls", "update"], - "description": "Update the tls setting value for the hostname.", - "summary": "Edit TLS setting for hostname", - "usage": "cf hostnames settings tls update [options]", - "arguments": [ - { - "name": "hostname", - "position": 0, - "type": "string", - "required": true, - "description": "The hostname for which the tls settings are set." - } - ], - "options": [ - { - "name": "setting-id", - "type": "string", - "required": true, - "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." - }, - { - "name": "dry-run", - "type": "boolean", - "required": false, - "description": "Validate and show what would happen without executing", - "default": false - }, - { - "name": "body", - "type": "string", - "required": false, - "description": "Raw JSON request body (bypasses individual flags)" - } - ], - "category": "update", - "hasRequestBody": true, - "httpMethod": "PUT", - "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "operationId": "hostnames.settings.tls.update", - "hideCommand": false - }, - { - "command": "cf hostnames settings tls-single get", - "name": "get", - "fullPath": ["hostnames", "settings", "tls-single", "get"], - "description": "Get the requested TLS setting for the hostname.", - "summary": "Get TLS setting for hostname", - "usage": "cf hostnames settings tls-single get [options]", - "arguments": [ - { - "name": "hostname", - "position": 0, - "type": "string", - "required": true, - "description": "The hostname for which the tls settings are set." - } - ], - "options": [ - { - "name": "setting-id", - "type": "string", - "required": true, - "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." - }, - { - "name": "dry-run", - "type": "boolean", - "required": false, - "description": "Validate and show what would happen without executing", - "default": false - } - ], - "category": "read", - "hasRequestBody": false, - "httpMethod": "GET", - "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "operationId": "hostnames.settings.tls-single.get", - "hideCommand": false - }, { "command": "cf hyperdrive create", "name": "create", @@ -162397,6 +162245,158 @@ "operationId": "zones.holds.get", "hideCommand": false }, + { + "command": "cf zones hostnames settings tls delete", + "name": "delete", + "fullPath": ["zones", "hostnames", "settings", "tls", "delete"], + "description": "Delete the tls setting value for the hostname.", + "summary": "Delete TLS setting for hostname", + "usage": "cf zones hostnames settings tls delete [options]", + "arguments": [ + { + "name": "hostname", + "position": 0, + "type": "string", + "required": true, + "description": "The hostname for which the tls settings are set." + } + ], + "options": [ + { + "name": "setting-id", + "type": "string", + "required": true, + "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." + }, + { + "name": "dry-run", + "type": "boolean", + "required": false, + "description": "Validate and show what would happen without executing", + "default": false + } + ], + "category": "delete", + "hasRequestBody": false, + "httpMethod": "DELETE", + "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "operationId": "zones.hostnames.settings.tls.delete", + "hideCommand": false + }, + { + "command": "cf zones hostnames settings tls get", + "name": "get", + "fullPath": ["zones", "hostnames", "settings", "tls", "get"], + "description": "List the requested TLS setting for the hostnames under this zone.", + "summary": "List TLS setting for hostnames", + "usage": "cf zones hostnames settings tls get ", + "arguments": [ + { + "name": "setting-id", + "position": 0, + "type": "string", + "required": true, + "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." + } + ], + "options": [ + { + "name": "dry-run", + "type": "boolean", + "required": false, + "description": "Validate and show what would happen without executing", + "default": false + } + ], + "category": "read", + "hasRequestBody": false, + "httpMethod": "GET", + "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}", + "operationId": "zones.hostnames.settings.tls.get", + "hideCommand": false + }, + { + "command": "cf zones hostnames settings tls update", + "name": "update", + "fullPath": ["zones", "hostnames", "settings", "tls", "update"], + "description": "Update the tls setting value for the hostname.", + "summary": "Edit TLS setting for hostname", + "usage": "cf zones hostnames settings tls update [options]", + "arguments": [ + { + "name": "hostname", + "position": 0, + "type": "string", + "required": true, + "description": "The hostname for which the tls settings are set." + } + ], + "options": [ + { + "name": "setting-id", + "type": "string", + "required": true, + "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." + }, + { + "name": "dry-run", + "type": "boolean", + "required": false, + "description": "Validate and show what would happen without executing", + "default": false + }, + { + "name": "body", + "type": "string", + "required": false, + "description": "Raw JSON request body (bypasses individual flags)" + } + ], + "category": "update", + "hasRequestBody": true, + "httpMethod": "PUT", + "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "operationId": "zones.hostnames.settings.tls.update", + "hideCommand": false + }, + { + "command": "cf zones hostnames settings tls-single get", + "name": "get", + "fullPath": ["zones", "hostnames", "settings", "tls-single", "get"], + "description": "Get the requested TLS setting for the hostname.", + "summary": "Get TLS setting for hostname", + "usage": "cf zones hostnames settings tls-single get [options]", + "arguments": [ + { + "name": "hostname", + "position": 0, + "type": "string", + "required": true, + "description": "The hostname for which the tls settings are set." + } + ], + "options": [ + { + "name": "setting-id", + "type": "string", + "required": true, + "description": "The TLS Setting name.\nThe value type depends on the setting:\n- `ciphers`: value is an array of cipher suite strings (e.g., `[\"ECDHE-RSA-AES128-GCM-SHA256\", \"AES128-GCM-SHA256\"]`).\n- `min_tls_version`: value is a TLS version string (`\"1.0\"`, `\"1.1\"`, `\"1.2\"`, or `\"1.3\"`).\n- `http2`: value is `\"on\"` or `\"off\"`." + }, + { + "name": "dry-run", + "type": "boolean", + "required": false, + "description": "Validate and show what would happen without executing", + "default": false + } + ], + "category": "read", + "hasRequestBody": false, + "httpMethod": "GET", + "apiPath": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "operationId": "zones.hostnames.settings.tls-single.get", + "hideCommand": false + }, { "command": "cf zones image-resizing edit", "name": "edit", @@ -163961,10 +163961,6 @@ "google-tag-gateway config": "Google Tag Gateway config operations", "healthchecks": "Standalone health checks that monitor origin server availability from Cloudflare's edge", "healthchecks previews": "Test a health check configuration before deploying it to production", - "hostnames": "hostnames", - "hostnames settings": "Operations for settings", - "hostnames settings tls": "Operations for settings.tls", - "hostnames settings tls-single": "Operations for settings.tls-single", "hyperdrive": "Accelerate access to existing databases by caching queries and pooling connections at the edge", "hyperdrive integration": "Operations for integration", "hyperdrive integration planetscale": "Operations for integration.planetscale", @@ -164756,6 +164752,10 @@ "zones fonts": "Fonts operations", "zones h2-prioritization": "Operations for h2-prioritization", "zones holds": "Operations for holds", + "zones hostnames": "Operations for hostnames", + "zones hostnames settings": "Operations for hostnames.settings", + "zones hostnames settings tls": "Operations for hostnames.settings.tls", + "zones hostnames settings tls-single": "Operations for hostnames.settings.tls-single", "zones image-resizing": "Operations for image-resizing", "zones origin-h2-max-streams": "Origin H2 Max Streams operations", "zones origin-max-http-version": "Origin Max Http Version operations", diff --git a/packages/cli/src/commands/_generated/_meta/schemas.json b/packages/cli/src/commands/_generated/_meta/schemas.json index 438b44406..8f7e737c3 100644 --- a/packages/cli/src/commands/_generated/_meta/schemas.json +++ b/packages/cli/src/commands/_generated/_meta/schemas.json @@ -26416,13 +26416,13 @@ "name": "article-ids", "type": "string", "required": true, - "description": "The article_ids field" + "description": "Array of article UUIDs to mark (1-50)." }, { "name": "read", "type": "boolean", "required": true, - "description": "The read field" + "description": "True to mark read, false to mark unread." } ] }, @@ -26606,7 +26606,7 @@ "name": "read", "type": "boolean", "required": true, - "description": "The read field" + "description": "True to mark the article read, false to mark unread." } ] }, @@ -26703,7 +26703,7 @@ "name": "tag-id", "type": "string", "required": true, - "description": "The tag_id field" + "description": "UUID of a tag from the account's catalog to apply to the article." } ] }, @@ -26791,37 +26791,37 @@ "name": "curated-feed-id", "type": "string", "required": false, - "description": "The curated_feed_id field" + "description": "UUID of a curated feed to subscribe to. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance." }, { "name": "display-name", "type": "string", "required": false, - "description": "The display_name field" + "description": "Override the feed's display name. Null clears it; omit to keep existing or derived value." }, { "name": "enabled", "type": "boolean", "required": false, - "description": "The enabled field" + "description": "Whether to actively poll the feed. Default true." }, { "name": "poll-interval-s", "type": "number", "required": false, - "description": "The poll_interval_s field" + "description": "Polling interval in seconds (60-86400). Default 300s (5 minutes)." }, { "name": "title", "type": "string", "required": false, - "description": "The title field" + "description": "Override the feed's title. Null clears it; omit to keep existing or derived value." }, { "name": "url", "type": "string", "required": false, - "description": "The url field" + "description": "HTTPS RSS feed URL. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance." } ] }, @@ -26991,7 +26991,7 @@ "name": "skill-ids", "type": "string", "required": true, - "description": "The skill_ids field" + "description": "Ordered array of Custom Skill UUIDs (max 20). Replaces the feed's custom skill assignments. Free accounts cannot assign custom skills. Managed default skills are unaffected." } ] }, @@ -27024,25 +27024,25 @@ "name": "display-name", "type": "string", "required": false, - "description": "The display_name field" + "description": "Override the feed's display name. Null clears it; omit to keep existing or derived value." }, { "name": "enabled", "type": "boolean", "required": false, - "description": "The enabled field" + "description": "Whether to actively poll the feed. Omit to keep current value." }, { "name": "poll-interval-s", "type": "number", "required": false, - "description": "The poll_interval_s field" + "description": "New polling interval in seconds (60-86400). Omit to keep current value." }, { "name": "title", "type": "string", "required": false, - "description": "The title field" + "description": "Override the feed's title. Null clears it; omit to keep existing or derived value." } ] }, @@ -27146,19 +27146,19 @@ "name": "name", "type": "string", "required": true, - "description": "The name field" + "description": "Custom Skill name (1–100 characters)." }, { "name": "output-schema", "type": "string", "required": true, - "description": "The output_schema field" + "description": "JSON Schema serialized as a string (max 4096 characters)." }, { "name": "prompt", "type": "string", "required": true, - "description": "The prompt field" + "description": "AI prompt (1–4000 characters) defining the skill's instructions." }, { "name": "type", @@ -27277,7 +27277,7 @@ "name": "category-uuids", "type": "string", "required": true, - "description": "The category_uuids field" + "description": "Up to 100 unique tag category UUIDs that the managed default tagging skill may select tags from." } ] }, @@ -27304,31 +27304,31 @@ "name": "skill-config", "type": "string", "required": false, - "description": "The config field" + "description": "Optional skill configuration (stored but not currently interpreted)." }, { "name": "is-active", "type": "boolean", "required": false, - "description": "The is_active field" + "description": "Whether the skill is active and eligible for feed assignment." }, { "name": "name", "type": "string", "required": false, - "description": "The name field" + "description": "Custom Skill name (1–100 characters)." }, { "name": "output-schema", "type": "string", "required": false, - "description": "The output_schema field" + "description": "JSON Schema serialized as a string (max 4096 characters)." }, { "name": "prompt", "type": "string", "required": false, - "description": "The prompt field" + "description": "AI prompt (1–4000 characters) defining the skill's instructions." } ] }, @@ -38428,101 +38428,6 @@ } ] }, - "hostnames settings tls delete": { - "operationId": "hostnames.settings.tls.delete", - "httpMethod": "DELETE", - "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "pathParams": [ - { - "name": "zone_id", - "type": "string", - "required": true - }, - { - "name": "setting_id", - "type": "string", - "required": true - }, - { - "name": "hostname", - "type": "string", - "required": true - } - ], - "queryParams": [], - "hasRequestBody": false, - "requestBodyFields": [] - }, - "hostnames settings tls get": { - "operationId": "hostnames.settings.tls.get", - "httpMethod": "GET", - "path": "/zones/{zone_id}/hostnames/settings/{setting_id}", - "pathParams": [ - { - "name": "zone_id", - "type": "string", - "required": true - }, - { - "name": "setting_id", - "type": "string", - "required": true - } - ], - "queryParams": [], - "hasRequestBody": false, - "requestBodyFields": [] - }, - "hostnames settings tls update": { - "operationId": "hostnames.settings.tls.update", - "httpMethod": "PUT", - "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "pathParams": [ - { - "name": "zone_id", - "type": "string", - "required": true - }, - { - "name": "setting_id", - "type": "string", - "required": true - }, - { - "name": "hostname", - "type": "string", - "required": true - } - ], - "queryParams": [], - "hasRequestBody": true, - "requestBodyFields": [] - }, - "hostnames settings tls-single get": { - "operationId": "hostnames.settings.tls-single.get", - "httpMethod": "GET", - "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", - "pathParams": [ - { - "name": "zone_id", - "type": "string", - "required": true - }, - { - "name": "setting_id", - "type": "string", - "required": true - }, - { - "name": "hostname", - "type": "string", - "required": true - } - ], - "queryParams": [], - "hasRequestBody": false, - "requestBodyFields": [] - }, "hyperdrive create": { "operationId": "hyperdrive.create", "httpMethod": "POST", @@ -113639,6 +113544,101 @@ "hasRequestBody": false, "requestBodyFields": [] }, + "zones hostnames settings tls delete": { + "operationId": "zones.hostnames.settings.tls.delete", + "httpMethod": "DELETE", + "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "pathParams": [ + { + "name": "zone_id", + "type": "string", + "required": true + }, + { + "name": "setting_id", + "type": "string", + "required": true + }, + { + "name": "hostname", + "type": "string", + "required": true + } + ], + "queryParams": [], + "hasRequestBody": false, + "requestBodyFields": [] + }, + "zones hostnames settings tls get": { + "operationId": "zones.hostnames.settings.tls.get", + "httpMethod": "GET", + "path": "/zones/{zone_id}/hostnames/settings/{setting_id}", + "pathParams": [ + { + "name": "zone_id", + "type": "string", + "required": true + }, + { + "name": "setting_id", + "type": "string", + "required": true + } + ], + "queryParams": [], + "hasRequestBody": false, + "requestBodyFields": [] + }, + "zones hostnames settings tls update": { + "operationId": "zones.hostnames.settings.tls.update", + "httpMethod": "PUT", + "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "pathParams": [ + { + "name": "zone_id", + "type": "string", + "required": true + }, + { + "name": "setting_id", + "type": "string", + "required": true + }, + { + "name": "hostname", + "type": "string", + "required": true + } + ], + "queryParams": [], + "hasRequestBody": true, + "requestBodyFields": [] + }, + "zones hostnames settings tls-single get": { + "operationId": "zones.hostnames.settings.tls-single.get", + "httpMethod": "GET", + "path": "/zones/{zone_id}/hostnames/settings/{setting_id}/{hostname}", + "pathParams": [ + { + "name": "zone_id", + "type": "string", + "required": true + }, + { + "name": "setting_id", + "type": "string", + "required": true + }, + { + "name": "hostname", + "type": "string", + "required": true + } + ], + "queryParams": [], + "hasRequestBody": false, + "requestBodyFields": [] + }, "zones image-resizing edit": { "operationId": "zones.image-resizing.edit", "httpMethod": "PATCH", diff --git a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls-single/get.ts b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls-single/get.ts similarity index 77% rename from packages/cli/src/commands/_generated/_operations/hostnames/settings/tls-single/get.ts rename to packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls-single/get.ts index 01f7c1f88..7d6ae3884 100644 --- a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls-single/get.ts +++ b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls-single/get.ts @@ -1,4 +1,4 @@ -/** @generated from hostnames.settings.tls-single.get */ +/** @generated from zones.hostnames.settings.tls-single.get */ import { path } from "#api"; export default { diff --git a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/delete.ts b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/delete.ts similarity index 78% rename from packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/delete.ts rename to packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/delete.ts index ff42a7d74..3f17660e5 100644 --- a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/delete.ts +++ b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/delete.ts @@ -1,4 +1,4 @@ -/** @generated from hostnames.settings.tls.delete */ +/** @generated from zones.hostnames.settings.tls.delete */ import { path } from "#api"; export default { diff --git a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/get.ts b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/get.ts similarity index 77% rename from packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/get.ts rename to packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/get.ts index 6a24a0e59..3bcdcac3a 100644 --- a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/get.ts +++ b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/get.ts @@ -1,4 +1,4 @@ -/** @generated from hostnames.settings.tls.get */ +/** @generated from zones.hostnames.settings.tls.get */ import { path } from "#api"; export default { diff --git a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/update.ts b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/update.ts similarity index 79% rename from packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/update.ts rename to packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/update.ts index c639bc843..f1007da84 100644 --- a/packages/cli/src/commands/_generated/_operations/hostnames/settings/tls/update.ts +++ b/packages/cli/src/commands/_generated/_operations/zones/hostnames/settings/tls/update.ts @@ -1,4 +1,4 @@ -/** @generated from hostnames.settings.tls.update */ +/** @generated from zones.hostnames.settings.tls.update */ import { path } from "#api"; export default { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/bulk-mark-read.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/bulk-mark-read.ts index 0960ed5d0..62aad1323 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/bulk-mark-read.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/bulk-mark-read.ts @@ -26,9 +26,12 @@ function builder(yargs: Argv) { .option("article-ids", { type: "string", array: true, - description: "The article_ids field", + description: "Array of article UUIDs to mark (1-50).", + }) + .option("read", { + type: "boolean", + description: "True to mark read, false to mark unread.", }) - .option("read", { type: "boolean", description: "The read field" }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get-content.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get-content.ts index 215d0c635..9272d509d 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get-content.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get-content.ts @@ -20,16 +20,17 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals articles get-content \n\nRetrieves the stored body of a Threat Signals article as plain text or HTML." + "$0 cloudforce-one threat-signals articles get-content \n\nRetrieves the stored content of a Threat Signals article, unchanged. Depending on how the article was captured from its source, the content is HTML, Markdown, or plain text. The format parameter sets only the response Content-Type; it does not convert the content." ) .positional("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("format", { type: "string", - description: "Format", + description: + "Response Content-Type: text (the default) for text/plain or html for text/html. Neither value converts the content. html is deprecated; use text.", choices: ["text", "html"], }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get.ts index e8cb520fc..2490052df 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/get.ts @@ -24,7 +24,7 @@ function builder(yargs: Argv) { ) .positional("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/list.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/list.ts index ecdcc4133..5113fc13b 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/list.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/list.ts @@ -27,14 +27,26 @@ function builder(yargs: Argv) { description: "Opaque cursor from a previous response's `next_cursor`. When provided, pagination, ordering, totals, and article filters come from the cursor. Sending `per_page`, `sort`, `include_total`, or any article filter alongside it returns a 400 `CursorFilterConflictError`.", }) - .option("per-page", { type: "number", description: "Per page" }) - .option("feed-id", { type: "string", description: "Feed ID" }) + .option("per-page", { + type: "number", + description: + "Number of articles per cursor page, from 1 to 100. Defaults to 20.", + }) + .option("feed-id", { + type: "string", + description: + "Feed UUID filter. Omit to include articles from every account feed.", + }) .option("article-id", { type: "string", description: "Repeatable article UUID filter. Returns the union of matching account-owned articles; use this to list every Threat Signals article referenced by an indicator's sources.", }) - .option("read", { type: "boolean", description: "Read" }) + .option("read", { + type: "boolean", + description: + "Filter by read state. Accepts true, false, 1, or 0; omit to include read and unread articles.", + }) .option("tag-id", { type: "string", description: @@ -55,22 +67,45 @@ function builder(yargs: Argv) { description: "Legacy category-name disambiguator for tag. It has no effect without tag; prefer tag_category_id.", }) - .option("include-total", { type: "boolean", description: "Include total" }) - .option("search", { type: "string", description: "Search" }) + .option("include-total", { + type: "boolean", + description: + "When true on the first page, count matching articles and return an exact total. Defaults to false; cursor pages do not recalculate totals.", + }) + .option("search", { + type: "string", + description: + "NFC-normalized, trimmed literal substring filter on article titles; ASCII case-insensitive, from 1 to 500 characters.", + }) .option("published-after", { type: "string", - description: "Published after", + description: + "Include articles published at or after this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC.", }) .option("published-before", { type: "string", - description: "Published before", + description: + "Include articles published at or before this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC.", + }) + .option("fetched-after", { + type: "string", + description: + "Include articles fetched at or after this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC.", + }) + .option("fetched-before", { + type: "string", + description: + "Include articles fetched at or before this ISO 8601 date-time with Z or a numeric UTC offset; normalized to UTC.", + }) + .option("feed-category", { + type: "string", + description: + "Exact feed-category filter after trimming. Omit to include every category.", }) - .option("fetched-after", { type: "string", description: "Fetched after" }) - .option("fetched-before", { type: "string", description: "Fetched before" }) - .option("feed-category", { type: "string", description: "Feed category" }) .option("source-type", { type: "string", - description: "Source type", + description: + "Filter by curated or custom feed source. Omit to include both source types.", choices: ["curated", "custom"], }) .option("tag-applied-by", { @@ -79,7 +114,11 @@ function builder(yargs: Argv) { "Assignment provenance filter. When combined with tag_id or tag_category_id, the matching assignment must have this provenance.", choices: ["ai", "analyst", "system"], }) - .option("sort", { type: "string", description: "Sort" }) + .option("sort", { + type: "string", + description: + "Sort by fetched_at, published_at, or title. Prefix the field with - for descending order; defaults to -fetched_at.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/mark-read.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/mark-read.ts index 346b5cafa..576e7e59d 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/mark-read.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/mark-read.ts @@ -25,10 +25,13 @@ function builder(yargs: Argv) { ) .positional("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) - .option("read", { type: "boolean", description: "The read field" }) + .option("read", { + type: "boolean", + description: "True to mark the article read, false to mark unread.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/get-output.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/get-output.ts index 2de2ed1c1..76c3261d2 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/get-output.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/get-output.ts @@ -20,16 +20,17 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals articles skills get-output \n\nRetrieves the stored output of a skill for a Threat Signals article." + "$0 cloudforce-one threat-signals articles skills get-output \n\nRetrieves the stored output of a skill for a Threat Signals article. The custom_output field is parsed JSON when the stored output is valid JSON, otherwise the raw string." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: + "Custom Skill UUID or a Managed Default Skill ID (IOC-context: default-ioc-context-skill)", demandOption: true, }) .option("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/list.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/list.ts index cb94d048e..f0f81e868 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/list.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/list.ts @@ -20,11 +20,11 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals articles skills list\n\nLists active custom skills currently assigned to the article's feed and whether each has a stored output. Output content and skill configuration are retrieved separately." + "$0 cloudforce-one threat-signals articles skills list\n\nLists active custom skills currently assigned to the article's feed and whether each has a stored output. Output content and skill configuration are retrieved separately. Free Threat Signals accounts cannot read Custom Skills." ) .option("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/run.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/run.ts index 9fa07fd28..8da29935a 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/run.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/skills/run.ts @@ -22,16 +22,17 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals articles skills run \n\nPaid customer operation that always persists a managed default skill or an assigned active custom skill result without exposing diagnostic model data." + "$0 cloudforce-one threat-signals articles skills run \n\nRun an active Custom Skill assigned to the article's feed, or run a managed default skill. Requires a paid Threat Signals subscription and the Cloudforce One Write permission. Always persists output; rerunning overwrites the previous result. Does not expose diagnostic model data or accept server-preview inputs." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: + "UUID of an active Custom Skill that is assigned to the article's feed, or a managed default skill ID. Requires a paid Threat Signals subscription and the Cloudforce One Write permission. Always persists output; rerunning overwrites the previous result. No diagnostic or server-preview inputs.", demandOption: true, }) .option("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { @@ -49,7 +50,7 @@ type Args = InferArgs; const command: CommandModule = { command: "run ", - describe: "Run and persist a Threat Signals article skill", + describe: "Run and persist skill output for a Threat Signals article", builder, handler: async (argv): Promise => runWithTelemetry( diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/add.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/add.ts index bed18b32e..633e47c4b 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/add.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/add.ts @@ -27,10 +27,14 @@ function builder(yargs: Argv) { ) .positional("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) - .option("tag-id", { type: "string", description: "The tag_id field" }) + .option("tag-id", { + type: "string", + description: + "UUID of a tag from the account's catalog to apply to the article.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", @@ -98,7 +102,7 @@ const command: CommandModule = { if (argv["tag-id"] === undefined) { argv["tag-id"] = await promptForRequiredField( "tag-id", - "The tag_id field" + "UUID of a tag from the account's catalog to apply to the article." ); } diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/generate.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/generate.ts index c544f50b6..644915eff 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/generate.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/generate.ts @@ -24,7 +24,7 @@ function builder(yargs: Argv) { ) .positional("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/remove.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/remove.ts index 7964001c0..d07a3b787 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/remove.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/articles/tags/remove.ts @@ -25,12 +25,12 @@ function builder(yargs: Argv) { ) .positional("tag-id", { type: "string", - description: "Tag ID", + description: "UUID of a tag from the account's catalog", demandOption: true, }) .option("article-id", { type: "string", - description: "Article ID", + description: "Threat Signals article UUID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/create.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/create.ts index e1870b24a..8b4a189b2 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/create.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/create.ts @@ -22,7 +22,7 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals feeds create\n\nSubscribes the account to a custom or curated Threat Signals feed." + "$0 cloudforce-one threat-signals feeds create\n\nSubscribes the account to a custom or curated Threat Signals feed. Adding a custom feed when the account is at its custom-feed limit returns 403 with `errors[0].reason` `threat_signals_feed_limit`, and `errors[0].custom_feed_limit` and `errors[0].custom_feed_count` give the limit and current count. Curated feeds are not subject to this limit." ) .option("category-id", { type: "string", @@ -44,24 +44,35 @@ function builder(yargs: Argv) { ) .option("curated-feed-id", { type: "string", - description: "The curated_feed_id field", + description: + "UUID of a curated feed to subscribe to. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance.", }) .option("display-name", { type: "string", - description: "The display_name field", + description: + "Override the feed's display name. Null clears it; omit to keep existing or derived value.", }) .option("enabled", { type: "boolean", - description: "The enabled field", + description: "Whether to actively poll the feed. Default true.", default: true, }) .option("poll-interval-s", { type: "number", - description: "The poll_interval_s field", + description: + "Polling interval in seconds (60-86400). Default 300s (5 minutes).", default: 300, }) - .option("title", { type: "string", description: "The title field" }) - .option("url", { type: "string", description: "The url field" }) + .option("title", { + type: "string", + description: + "Override the feed's title. Null clears it; omit to keep existing or derived value.", + }) + .option("url", { + type: "string", + description: + "HTTPS RSS feed URL. Provide exactly one of url or curated_feed_id. The account must have feed creation entitlement and not exceed feed allowance.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/delete.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/delete.ts index 159efef6b..f27b17bce 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/delete.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/delete.ts @@ -25,7 +25,7 @@ function builder(yargs: Argv) { ) .positional("feed-id", { type: "string", - description: "Feed ID", + description: "UUID of the Threat Signals feed", demandOption: true, }) .option("dry-run", { @@ -73,7 +73,12 @@ const command: CommandModule = { const accountId = argv.local ? LOCAL_ACCOUNT_ID : await getAccountId(); argv.accountId = accountId; - if (!(await confirmDelete({ force: Boolean(argv.force) }))) { + if ( + !(await confirmDelete({ + force: Boolean(argv.force), + message: `This unsubscribes the account from the feed and permanently deletes its stored articles, including their extracted indicators, tags, and skill outputs.`, + })) + ) { process.stderr.write("Aborted.\n"); return; } diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/get-raw.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/get-raw.ts index ff2fb8bf0..9a440b863 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/get-raw.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/get-raw.ts @@ -20,16 +20,17 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals feeds get-raw \n\nRetrieves the feed document fetched by the most recent poll." + "$0 cloudforce-one threat-signals feeds get-raw \n\nRetrieves the feed document fetched by the most recent poll as text/plain by default or application/xml when format is xml." ) .positional("feed-id", { type: "string", - description: "Feed ID", + description: "UUID of the Threat Signals feed", demandOption: true, }) .option("format", { type: "string", - description: "Format", + description: + "Response format. Use xml for application/xml; omit it for the default text/plain response.", choices: ["xml"], }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/list.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/list.ts index a2fc949cb..11b059ec2 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/list.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/list.ts @@ -22,18 +22,45 @@ function builder(yargs: Argv) { .usage( "$0 cloudforce-one threat-signals feeds list\n\nLists the account's Threat Signals feed subscriptions." ) - .option("page", { type: "number", description: "Page" }) - .option("per-page", { type: "number", description: "Per page" }) - .option("limit", { type: "number", description: "Limit" }) - .option("sort", { type: "string", description: "Sort" }) - .option("category", { type: "string", description: "Category" }) + .option("page", { + type: "number", + description: "1-based page number. Minimum 1; defaults to 1.", + }) + .option("per-page", { + type: "number", + description: "Number of feeds per page, from 1 to 100. Defaults to 20.", + }) + .option("limit", { + type: "number", + description: + "Optional 1–100 alias for per_page. When provided, limit takes precedence.", + }) + .option("sort", { + type: "string", + description: + "Sort by created_at, title, category, or url. Prefix the field with - for descending order; defaults to -created_at.", + }) + .option("category", { + type: "string", + description: + "Exact feed-category filter, up to 100 characters. Omit to include all categories.", + }) .option("source-type", { type: "string", - description: "Source type", + description: + "Filter by curated or custom feed source. Omit to include both source types.", choices: ["curated", "custom"], }) - .option("enabled", { type: "boolean", description: "Enabled" }) - .option("status", { type: "string", description: "Status" }) + .option("enabled", { + type: "boolean", + description: + "Filter by enabled state. Accepts true, false, 1, or 0; omit to include enabled and disabled feeds.", + }) + .option("status", { + type: "string", + description: + "Exact stored polling-status filter, such as active or error. Omit to include every status.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/poll.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/poll.ts index 277a6ab9c..221caa2ee 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/poll.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/poll.ts @@ -22,7 +22,11 @@ function builder(yargs: Argv) { .usage( "$0 cloudforce-one threat-signals feeds poll\n\nStarts an immediate poll of one or all Threat Signals feeds." ) - .option("feed-id", { type: "string", description: "Feed ID" }) + .option("feed-id", { + type: "string", + description: + 'UUID of a specific feed to poll, or "all" to poll all feeds. Omit or pass "all" for all feeds.', + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/get.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/get.ts index c5fc281f1..7a7a09588 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/get.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/get.ts @@ -20,11 +20,11 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals feeds skills get \n\nRetrieves the effective skill pipeline for a Threat Signals feed." + "$0 cloudforce-one threat-signals feeds skills get \n\nRetrieves active non-IOC-context Managed Default Skills followed by active Custom Skills assigned to the feed, with each entry's source. Free Threat Signals accounts receive only those Managed Default Skills." ) .positional("feed-id", { type: "string", - description: "Feed ID", + description: "UUID of the Threat Signals feed", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/update.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/update.ts index db43333d3..c771198e1 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/update.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/skills/update.ts @@ -21,17 +21,18 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals feeds skills update \n\nReplaces the ordered custom skills assigned to a Threat Signals feed." + "$0 cloudforce-one threat-signals feeds skills update \n\nReplaces the ordered custom skills assigned to a Threat Signals feed. Requires a paid Threat Signals subscription." ) .positional("feed-id", { type: "string", - description: "Feed ID", + description: "UUID of the Threat Signals feed", demandOption: true, }) .option("skill-ids", { type: "string", array: true, - description: "The skill_ids field", + description: + "Ordered array of Custom Skill UUIDs (max 20). Replaces the feed's custom skill assignments. Free accounts cannot assign custom skills. Managed default skills are unaffected.", }) .option("dry-run", { type: "boolean", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/update.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/update.ts index 3578a2bf6..3ae69316d 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/update.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/feeds/update.ts @@ -26,7 +26,7 @@ function builder(yargs: Argv) { ) .positional("feed-id", { type: "string", - description: "Feed ID", + description: "UUID of the Threat Signals feed", demandOption: true, }) .option("category-id", { @@ -49,14 +49,24 @@ function builder(yargs: Argv) { ) .option("display-name", { type: "string", - description: "The display_name field", + description: + "Override the feed's display name. Null clears it; omit to keep existing or derived value.", + }) + .option("enabled", { + type: "boolean", + description: + "Whether to actively poll the feed. Omit to keep current value.", }) - .option("enabled", { type: "boolean", description: "The enabled field" }) .option("poll-interval-s", { type: "number", - description: "The poll_interval_s field", + description: + "New polling interval in seconds (60-86400). Omit to keep current value.", + }) + .option("title", { + type: "string", + description: + "Override the feed's title. Null clears it; omit to keep existing or derived value.", }) - .option("title", { type: "string", description: "The title field" }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/indicators/list.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/indicators/list.ts index 78b319c9e..d255de8d5 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/indicators/list.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/indicators/list.ts @@ -22,17 +22,41 @@ function builder(yargs: Argv) { .usage( "$0 cloudforce-one threat-signals indicators list\n\nLists indicators of compromise extracted from the account's Threat Signals articles." ) - .option("feed-id", { type: "string", description: "Feed ID" }) - .option("article-id", { type: "string", description: "Article ID" }) + .option("feed-id", { + type: "string", + description: + "Feed UUID filter. Omit to include indicators from every account feed.", + }) + .option("article-id", { + type: "string", + description: + "Article UUID filter. Omit to include indicators from every article.", + }) .option("search", { type: "string", description: "NFC-normalized and trimmed, case-insensitive literal substring search of indicator values. Requires 3–500 Unicode code points; the upper code-point bound is described here because OpenAPI string length cannot precisely express it without imposing UTF-16 semantics.", }) - .option("per-page", { type: "number", description: "Per page" }) - .option("sort", { type: "string", description: "Sort" }) - .option("include-total", { type: "boolean", description: "Include total" }) - .option("cursor", { type: "string", description: "Cursor" }) + .option("per-page", { + type: "number", + description: + "Number of indicators per cursor page, from 1 to 100. Defaults to 20.", + }) + .option("sort", { + type: "string", + description: + "Sort by id. Use id for ascending or -id for descending order; defaults to id.", + }) + .option("include-total", { + type: "boolean", + description: + "When true on the first page, count matching indicators and return an exact total. Defaults to false; cursor pages do not recalculate totals.", + }) + .option("cursor", { + type: "string", + description: + "Opaque cursor from the previous response's `pagination.cursor`. When provided, page size, ordering, and filters come from the cursor. Sending `per_page`, `sort`, `include_total`, `feed_id`, `article_id`, or `search` alongside it returns a 400 `CursorFilterConflictError`.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/search.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/search.ts index 235d7aefe..6557ae0e4 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/search.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/search.ts @@ -24,11 +24,20 @@ function builder(yargs: Argv) { ) .option("query", { type: "string", - description: "Query", + description: + "Keyword and semantic article-search text, from 1 to 1000 characters.", demandOption: true, }) - .option("max-results", { type: "string", description: "Max results" }) - .option("feed-id", { type: "string", description: "Feed ID" }) + .option("max-results", { + type: "string", + description: + "Maximum search matches to request, an integer from 1 to 50. Defaults to 20 when omitted or empty; multiple matches from one article can produce fewer returned articles.", + }) + .option("feed-id", { + type: "string", + description: + "Optional feed UUID that restricts results to articles from that feed.", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/create.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/create.ts index caf06cde7..ddd34df85 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/create.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/create.ts @@ -23,14 +23,21 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills create\n\nCreates a custom AI skill for the account." + "$0 cloudforce-one threat-signals skills create\n\nCreates a Custom Skill for the account. Free Threat Signals accounts cannot create Custom Skills." ) - .option("name", { type: "string", description: "The name field" }) + .option("name", { + type: "string", + description: "Custom Skill name (1–100 characters).", + }) .option("output-schema", { type: "string", - description: "The output_schema field", + description: "JSON Schema serialized as a string (max 4096 characters).", + }) + .option("prompt", { + type: "string", + description: + "AI prompt (1–4000 characters) defining the skill's instructions.", }) - .option("prompt", { type: "string", description: "The prompt field" }) .option("type", { type: "string", description: @@ -111,18 +118,21 @@ const command: CommandModule = { return; } if (argv["name"] === undefined) { - argv["name"] = await promptForRequiredField("name", "The name field"); + argv["name"] = await promptForRequiredField( + "name", + "Custom Skill name (1–100 characters)." + ); } if (argv["output-schema"] === undefined) { argv["output-schema"] = await promptForRequiredField( "output-schema", - "The output_schema field" + "JSON Schema serialized as a string (max 4096 characters)." ); } if (argv["prompt"] === undefined) { argv["prompt"] = await promptForRequiredField( "prompt", - "The prompt field" + "AI prompt (1–4000 characters) defining the skill's instructions." ); } diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/delete.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/delete.ts index e73a13df3..c7a6aeb03 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/delete.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/delete.ts @@ -21,11 +21,11 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills delete \n\nDeletes a custom skill. Default skills cannot be deleted." + "$0 cloudforce-one threat-signals skills delete \n\nDeletes a Custom Skill. The skill's stored outputs on articles are deleted with it. Managed Default Skills cannot be deleted. Free Threat Signals accounts cannot delete Custom Skills." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: "Custom Skill UUID or a Managed Default Skill ID", demandOption: true, }) .option("dry-run", { @@ -73,7 +73,12 @@ const command: CommandModule = { const accountId = argv.local ? LOCAL_ACCOUNT_ID : await getAccountId(); argv.accountId = accountId; - if (!(await confirmDelete({ force: Boolean(argv.force) }))) { + if ( + !(await confirmDelete({ + force: Boolean(argv.force), + message: `This permanently deletes the custom skill, removes it from every feed it is assigned to, and deletes the outputs it stored on articles.`, + })) + ) { process.stderr.write("Aborted.\n"); return; } diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/get.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/get.ts index 9f017dc36..29896653f 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/get.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/get.ts @@ -20,11 +20,11 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills get \n\nRetrieves a default or custom skill by ID." + "$0 cloudforce-one threat-signals skills get \n\nRetrieves a Managed Default Skill or Custom Skill. Managed catalog definitions are readable. Free Threat Signals accounts cannot read Custom Skills." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: "Custom Skill UUID or a Managed Default Skill ID", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/list.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/list.ts index ce5869340..f3957ccd9 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/list.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/list.ts @@ -20,10 +20,16 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills list\n\nLists the default and custom skills available to the account." + "$0 cloudforce-one threat-signals skills list\n\nLists active Managed Default Skills and Custom Skills. Free Threat Signals accounts see active managed defaults only, with custom_skills_available: false." ) - .option("page", { type: "number", description: "Page" }) - .option("per-page", { type: "number", description: "Per page" }) + .option("page", { + type: "number", + description: "Page number (≥ 1, default 1).", + }) + .option("per-page", { + type: "number", + description: "Results per page (1–100, default 20).", + }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/get.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/get.ts index cba8c20b6..054587812 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/get.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/get.ts @@ -20,11 +20,12 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills tag-categories get \n\nRetrieves the tag categories the default tagging skill may choose tags from." + "$0 cloudforce-one threat-signals skills tag-categories get \n\nRetrieves the Tag Categories the managed default tagging skill may select tags from. This configures the managed default tagging skill, not Custom Skills." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: + "Must be default-tagging-skill; configures the managed default tagging skill", demandOption: true, }) .option("dry-run", { diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/update.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/update.ts index e641cee30..9d60816b6 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/update.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/tag-categories/update.ts @@ -21,17 +21,19 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills tag-categories update \n\nReplaces the tag categories the default tagging skill may choose tags from." + "$0 cloudforce-one threat-signals skills tag-categories update \n\nReplaces the Tag Categories the managed default tagging skill may select tags from. This configures the managed default tagging skill, not Custom Skills." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: + "Must be default-tagging-skill; configures the managed default tagging skill", demandOption: true, }) .option("category-uuids", { type: "string", array: true, - description: "The category_uuids field", + description: + "Up to 100 unique tag category UUIDs that the managed default tagging skill may select tags from.", }) .option("dry-run", { type: "boolean", diff --git a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/update.ts b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/update.ts index f4656bdbd..51f3fd862 100644 --- a/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/update.ts +++ b/packages/cli/src/commands/_generated/cloudforce-one/threat-signals/skills/update.ts @@ -22,24 +22,36 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 cloudforce-one threat-signals skills update \n\nUpdates a custom skill. Default skills are read-only." + "$0 cloudforce-one threat-signals skills update \n\nUpdates a Custom Skill. Managed Default Skills cannot be updated. Free Threat Signals accounts cannot update Custom Skills." ) .positional("skill-id", { type: "string", - description: "Skill ID", + description: "Custom Skill UUID or a Managed Default Skill ID", demandOption: true, }) - .option("skill-config", { type: "string", description: "The config field" }) + .option("skill-config", { + type: "string", + description: + "Optional skill configuration (stored but not currently interpreted).", + }) .option("is-active", { type: "boolean", - description: "The is_active field", + description: + "Whether the skill is active and eligible for feed assignment.", + }) + .option("name", { + type: "string", + description: "Custom Skill name (1–100 characters).", }) - .option("name", { type: "string", description: "The name field" }) .option("output-schema", { type: "string", - description: "The output_schema field", + description: "JSON Schema serialized as a string (max 4096 characters).", + }) + .option("prompt", { + type: "string", + description: + "AI prompt (1–4000 characters) defining the skill's instructions.", }) - .option("prompt", { type: "string", description: "The prompt field" }) .option("dry-run", { type: "boolean", description: "Validate and show what would happen without executing", diff --git a/packages/cli/src/commands/_generated/index.ts b/packages/cli/src/commands/_generated/index.ts index ba3961ac5..3a4aa39a1 100644 --- a/packages/cli/src/commands/_generated/index.ts +++ b/packages/cli/src/commands/_generated/index.ts @@ -525,15 +525,6 @@ export const generatedCommands: GeneratedCommand[] = [ ), hideCommand: true, }, - { - command: lazyCommand( - "hostnames", - "hostnames", - () => import("./hostnames/index.js"), - null - ), - hideCommand: false, - }, { command: lazyCommand( "hyperdrive", diff --git a/packages/cli/src/commands/_generated/hostnames/index.ts b/packages/cli/src/commands/_generated/zones/hostnames/index.ts similarity index 78% rename from packages/cli/src/commands/_generated/hostnames/index.ts rename to packages/cli/src/commands/_generated/zones/hostnames/index.ts index f1fd570d1..ad9b92c5a 100644 --- a/packages/cli/src/commands/_generated/hostnames/index.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/index.ts @@ -1,14 +1,14 @@ import $settings from "./settings/index.js"; import type { CommonYargsOptions } from "#lib/cli-types.js"; /** - * hostnames command - * @generated from apis/overlays/hostnames.ts + * hostnames command group + * @generated from apis/overlays/zones.ts */ import type { CommandModule } from "yargs"; const command: CommandModule = { command: "hostnames", - describe: "hostnames", + describe: "Operations for hostnames", builder: (yargs) => { return yargs diff --git a/packages/cli/src/commands/_generated/hostnames/settings/index.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/index.ts similarity index 84% rename from packages/cli/src/commands/_generated/hostnames/settings/index.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/index.ts index f204433b7..bd1f7b011 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/index.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/index.ts @@ -3,13 +3,13 @@ import $tls from "./tls/index.js"; import type { CommonYargsOptions } from "#lib/cli-types.js"; /** * settings command group - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { CommandModule } from "yargs"; const command: CommandModule = { command: "settings", - describe: "Operations for settings", + describe: "Operations for hostnames.settings", builder: (yargs) => { return yargs diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls-single/get.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/get.ts similarity index 88% rename from packages/cli/src/commands/_generated/hostnames/settings/tls-single/get.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/get.ts index 162c9fdc8..dcb21fd5a 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls-single/get.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/get.ts @@ -1,9 +1,9 @@ -import operation from "../../../_operations/hostnames/settings/tls-single/get.js"; +import operation from "../../../../_operations/zones/hostnames/settings/tls-single/get.js"; import type { CommonYargsOptions, InferArgs } from "#lib/cli-types.js"; import type { ArgClassification } from "#lib/telemetry/index.js"; /** * get command - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { Argv, CommandModule } from "yargs"; import { createCommandClient, getZoneId } from "#lib/auth.js"; @@ -15,7 +15,7 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 hostnames settings tls-single get \n\nGet the requested TLS setting for the hostname." + "$0 zones hostnames settings tls-single get \n\nGet the requested TLS setting for the hostname." ) .positional("hostname", { type: "string", @@ -44,7 +44,7 @@ const command: CommandModule = { handler: async (argv): Promise => runWithTelemetry( { - command: "hostnames settings tls-single get", + command: "zones hostnames settings tls-single get", classification: { safeFlags: ["dry-run"], } satisfies ArgClassification, @@ -53,7 +53,7 @@ const command: CommandModule = { async () => { if (argv.dryRun) { formatDryRun({ - command: "cf hostnames settings tls-single get", + command: "cf zones hostnames settings tls-single get", method: "GET", url: `https://api.cloudflare.com/client/v4/zones/${argv.zone ?? argv.zoneId ?? ""}/hostnames/settings/${argv["setting-id"] == null ? "" : encodeURIComponent(String(argv["setting-id"]))}/${argv["hostname"] == null ? "" : encodeURIComponent(String(argv["hostname"]))}`, pathParams: { diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls-single/index.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/index.ts similarity index 79% rename from packages/cli/src/commands/_generated/hostnames/settings/tls-single/index.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/index.ts index abbb0b778..fc206524e 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls-single/index.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls-single/index.ts @@ -2,13 +2,13 @@ import $get from "./get.js"; import type { CommonYargsOptions } from "#lib/cli-types.js"; /** * tls-single command group - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { CommandModule } from "yargs"; const command: CommandModule = { command: "tls-single", - describe: "Operations for settings.tls-single", + describe: "Operations for hostnames.settings.tls-single", builder: (yargs) => { return yargs.command($get).demandCommand(1, "Please specify a subcommand"); diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls/delete.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/delete.ts similarity index 90% rename from packages/cli/src/commands/_generated/hostnames/settings/tls/delete.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls/delete.ts index 31df6211f..623a1b707 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls/delete.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/delete.ts @@ -1,9 +1,9 @@ -import operation from "../../../_operations/hostnames/settings/tls/delete.js"; +import operation from "../../../../_operations/zones/hostnames/settings/tls/delete.js"; import type { CommonYargsOptions, InferArgs } from "#lib/cli-types.js"; import type { ArgClassification } from "#lib/telemetry/index.js"; /** * delete command - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { Argv, CommandModule } from "yargs"; import { createCommandClient, getZoneId } from "#lib/auth.js"; @@ -16,7 +16,7 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 hostnames settings tls delete \n\nDelete the tls setting value for the hostname." + "$0 zones hostnames settings tls delete \n\nDelete the tls setting value for the hostname." ) .positional("hostname", { type: "string", @@ -51,7 +51,7 @@ const command: CommandModule = { handler: async (argv): Promise => runWithTelemetry( { - command: "hostnames settings tls delete", + command: "zones hostnames settings tls delete", classification: { safeFlags: ["dry-run", "force"], shortFlagAliases: { f: { canonical: "force", type: "boolean" } }, @@ -61,7 +61,7 @@ const command: CommandModule = { async () => { if (argv.dryRun) { formatDryRun({ - command: "cf hostnames settings tls delete", + command: "cf zones hostnames settings tls delete", method: "DELETE", url: `https://api.cloudflare.com/client/v4/zones/${argv.zone ?? argv.zoneId ?? ""}/hostnames/settings/${argv["setting-id"] == null ? "" : encodeURIComponent(String(argv["setting-id"]))}/${argv["hostname"] == null ? "" : encodeURIComponent(String(argv["hostname"]))}`, pathParams: { diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls/get.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/get.ts similarity index 87% rename from packages/cli/src/commands/_generated/hostnames/settings/tls/get.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls/get.ts index bf32c0110..affc7de09 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls/get.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/get.ts @@ -1,9 +1,9 @@ -import operation from "../../../_operations/hostnames/settings/tls/get.js"; +import operation from "../../../../_operations/zones/hostnames/settings/tls/get.js"; import type { CommonYargsOptions, InferArgs } from "#lib/cli-types.js"; import type { ArgClassification } from "#lib/telemetry/index.js"; /** * get command - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { Argv, CommandModule } from "yargs"; import { createCommandClient, getZoneId } from "#lib/auth.js"; @@ -15,7 +15,7 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 hostnames settings tls get \n\nList the requested TLS setting for the hostnames under this zone." + "$0 zones hostnames settings tls get \n\nList the requested TLS setting for the hostnames under this zone." ) .positional("setting-id", { type: "string", @@ -39,7 +39,7 @@ const command: CommandModule = { handler: async (argv): Promise => runWithTelemetry( { - command: "hostnames settings tls get", + command: "zones hostnames settings tls get", classification: { safeFlags: ["dry-run"], } satisfies ArgClassification, @@ -48,7 +48,7 @@ const command: CommandModule = { async () => { if (argv.dryRun) { formatDryRun({ - command: "cf hostnames settings tls get", + command: "cf zones hostnames settings tls get", method: "GET", url: `https://api.cloudflare.com/client/v4/zones/${argv.zone ?? argv.zoneId ?? ""}/hostnames/settings/${argv["setting-id"] == null ? "" : encodeURIComponent(String(argv["setting-id"]))}`, pathParams: { diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls/index.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/index.ts similarity index 84% rename from packages/cli/src/commands/_generated/hostnames/settings/tls/index.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls/index.ts index 01864ce04..5563dc8a1 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls/index.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/index.ts @@ -4,13 +4,13 @@ import $update from "./update.js"; import type { CommonYargsOptions } from "#lib/cli-types.js"; /** * tls command group - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { CommandModule } from "yargs"; const command: CommandModule = { command: "tls", - describe: "Operations for settings.tls", + describe: "Operations for hostnames.settings.tls", builder: (yargs) => { return yargs diff --git a/packages/cli/src/commands/_generated/hostnames/settings/tls/update.ts b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/update.ts similarity index 90% rename from packages/cli/src/commands/_generated/hostnames/settings/tls/update.ts rename to packages/cli/src/commands/_generated/zones/hostnames/settings/tls/update.ts index 9ae95c0a1..26cf92d88 100644 --- a/packages/cli/src/commands/_generated/hostnames/settings/tls/update.ts +++ b/packages/cli/src/commands/_generated/zones/hostnames/settings/tls/update.ts @@ -1,9 +1,9 @@ -import operation from "../../../_operations/hostnames/settings/tls/update.js"; +import operation from "../../../../_operations/zones/hostnames/settings/tls/update.js"; import type { CommonYargsOptions, InferArgs } from "#lib/cli-types.js"; import type { ArgClassification } from "#lib/telemetry/index.js"; /** * update command - * @generated from apis/overlays/hostnames.ts + * @generated from apis/overlays/zones.ts */ import type { Argv, CommandModule } from "yargs"; import { createCommandClient, getZoneId } from "#lib/auth.js"; @@ -16,7 +16,7 @@ import { runWithTelemetry } from "#lib/telemetry/index.js"; function builder(yargs: Argv) { return yargs .usage( - "$0 hostnames settings tls update \n\nUpdate the tls setting value for the hostname." + "$0 zones hostnames settings tls update \n\nUpdate the tls setting value for the hostname." ) .positional("hostname", { type: "string", @@ -49,7 +49,7 @@ const command: CommandModule = { handler: async (argv): Promise => runWithTelemetry( { - command: "hostnames settings tls update", + command: "zones hostnames settings tls update", classification: { safeFlags: ["dry-run"], } satisfies ArgClassification, @@ -58,7 +58,7 @@ const command: CommandModule = { async () => { if (argv.dryRun) { formatDryRun({ - command: "cf hostnames settings tls update", + command: "cf zones hostnames settings tls update", method: "PUT", url: `https://api.cloudflare.com/client/v4/zones/${argv.zone ?? argv.zoneId ?? ""}/hostnames/settings/${argv["setting-id"] == null ? "" : encodeURIComponent(String(argv["setting-id"]))}/${argv["hostname"] == null ? "" : encodeURIComponent(String(argv["hostname"]))}`, pathParams: { diff --git a/packages/cli/src/commands/_generated/zones/index.ts b/packages/cli/src/commands/_generated/zones/index.ts index b3cd996fb..1b4a9b9fa 100644 --- a/packages/cli/src/commands/_generated/zones/index.ts +++ b/packages/cli/src/commands/_generated/zones/index.ts @@ -8,6 +8,7 @@ import $fonts from "./fonts/index.js"; import $get from "./get.js"; import $h2prioritization from "./h2-prioritization/index.js"; import $holds from "./holds/index.js"; +import $hostnames from "./hostnames/index.js"; import $imageresizing from "./image-resizing/index.js"; import $list from "./list.js"; import $originh2maxstreams from "./origin-h2-max-streams/index.js"; @@ -47,6 +48,7 @@ const command: CommandModule = { .command($fonts) .command($h2prioritization) .command($holds) + .command($hostnames) .command($imageresizing) .command($originh2maxstreams) .command($originmaxhttpversion)