{
  "id": "scw",
  "name": "Scaleway CLI",
  "homepage": "https://www.scaleway.com/en/cli/",
  "description": "Command Line Interface for Scaleway.",
  "executables": [
    "scw"
  ],
  "dotfiles": {
    "paths": [],
    "exclude": [],
    "secret": [
      "~/.config/scw/config.yaml"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Scaleway Instances",
    "description": "List, create and delete Instance servers. Arguments use scw's name=value syntax. Volumes, tags, cloud-init, security groups and other services are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "instance",
          "server",
          "list"
        ],
        "label": "List servers",
        "description": "List Instance servers, optionally filtered.",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://github.com/scaleway/scaleway-cli/blob/master/docs/commands/instance.md",
            "revision": "2026-10-27",
            "evidence": "scw instance server list [arg=value ...]\n| name | Filter Instances by name (eg. \"server1\" will return \"server100\" and \"server1\" but not \"foo\") |\n| commercial-type | List Instances of this commercial type |\n| state | List Instances in this state | One of: `running`, `stopped`, `stopped in place`, `starting`, `stopping`, `locked` |\n| project-id | List only Instances of this Project ID |\n| zone | Zone to target. If none is passed will use default zone from the config | Default: `fr-par-1` |\nscw instance server list commercial-type=DEV1-S\nscw instance server list name=server1\n"
          }
        ],
        "field": [
          {
            "id": "name",
            "label": "Name filter",
            "type": "string",
            "option": [
              "name="
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "commercial_type",
            "label": "Commercial type",
            "type": "string",
            "option": [
              "commercial-type="
            ],
            "suggestions": [
              {
                "value": "DEV1-S",
                "label": "DEV1-S"
              }
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "state",
            "label": "State",
            "type": "enum",
            "option": [
              "state="
            ],
            "choices": [
              {
                "value": "running",
                "label": "running"
              },
              {
                "value": "stopped",
                "label": "stopped"
              },
              {
                "value": "stopped in place",
                "label": "stopped in place"
              },
              {
                "value": "starting",
                "label": "starting"
              },
              {
                "value": "stopping",
                "label": "stopping"
              },
              {
                "value": "locked",
                "label": "locked"
              }
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "project_id",
            "label": "Project ID",
            "type": "string",
            "option": [
              "project-id="
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "zone",
            "label": "Zone",
            "description": "Defaults to the zone in the scw config.",
            "type": "string",
            "option": [
              "zone="
            ],
            "suggestions": [
              {
                "value": "fr-par-1",
                "label": "fr-par-1"
              },
              {
                "value": "fr-par-2",
                "label": "fr-par-2"
              },
              {
                "value": "fr-par-3",
                "label": "fr-par-3"
              },
              {
                "value": "nl-ams-1",
                "label": "nl-ams-1"
              },
              {
                "value": "nl-ams-2",
                "label": "nl-ams-2"
              },
              {
                "value": "nl-ams-3",
                "label": "nl-ams-3"
              },
              {
                "value": "pl-waw-1",
                "label": "pl-waw-1"
              },
              {
                "value": "pl-waw-2",
                "label": "pl-waw-2"
              },
              {
                "value": "pl-waw-3",
                "label": "pl-waw-3"
              },
              {
                "value": "it-mil-1",
                "label": "it-mil-1"
              }
            ],
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "list",
            "label": "List all servers",
            "fields": [
              "zone"
            ],
            "required": []
          },
          {
            "id": "running",
            "label": "List running servers",
            "fields": [
              "zone"
            ],
            "required": [],
            "set": {
              "state": [
                "running"
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "name",
              "state",
              "commercial_type",
              "zone",
              "project_id"
            ]
          }
        ]
      },
      {
        "path": [
          "instance",
          "server",
          "create"
        ],
        "label": "Create a server",
        "description": "Create and start an Instance server.",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://github.com/scaleway/scaleway-cli/blob/master/docs/commands/instance.md",
            "revision": "2026-10-27",
            "evidence": "scw instance server create [arg=value ...]\n| image | Image ID or label of the server | Required Default: `ubuntu_jammy` |\n| type | Server commercial type | Required |\n| name | Server name | Default: `` |\n| ip | Either an IP, an IP ID, ('new', 'ipv4', 'ipv6' or 'both') to create new IPs, 'dynamic' to use a dynamic IP or 'none' for no public IP (new | ipv4 | ipv6 | both | dynamic | none |  | ) | Default: `new` |\n| zone | Zone to target. If none is passed will use default zone from the config | Default: `fr-par-1` |\nscw instance server create image=ubuntu_focal type=GP1-XS name=foo tags.0=prod tags.1=blue\n"
          }
        ],
        "field": [
          {
            "id": "image",
            "label": "Image",
            "type": "string",
            "option": [
              "image="
            ],
            "suggestions": [
              {
                "value": "ubuntu_jammy",
                "label": "Ubuntu 22.04"
              },
              {
                "value": "ubuntu_focal",
                "label": "Ubuntu 20.04"
              }
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "type",
            "label": "Commercial type",
            "type": "string",
            "option": [
              "type="
            ],
            "suggestions": [
              {
                "value": "GP1-XS",
                "label": "GP1-XS"
              }
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "name",
            "label": "Server name",
            "type": "string",
            "option": [
              "name="
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "ip",
            "label": "Public IP",
            "type": "string",
            "option": [
              "ip="
            ],
            "suggestions": [
              {
                "value": "new",
                "label": "new"
              },
              {
                "value": "ipv4",
                "label": "ipv4"
              },
              {
                "value": "ipv6",
                "label": "ipv6"
              },
              {
                "value": "both",
                "label": "both"
              },
              {
                "value": "dynamic",
                "label": "dynamic"
              },
              {
                "value": "none",
                "label": "none"
              }
            ],
            "sources": [
              "doc"
            ]
          },
          {
            "id": "zone",
            "label": "Zone",
            "description": "Defaults to the zone in the scw config.",
            "type": "string",
            "option": [
              "zone="
            ],
            "suggestions": [
              {
                "value": "fr-par-1",
                "label": "fr-par-1"
              },
              {
                "value": "fr-par-2",
                "label": "fr-par-2"
              },
              {
                "value": "fr-par-3",
                "label": "fr-par-3"
              },
              {
                "value": "nl-ams-1",
                "label": "nl-ams-1"
              },
              {
                "value": "nl-ams-2",
                "label": "nl-ams-2"
              },
              {
                "value": "nl-ams-3",
                "label": "nl-ams-3"
              },
              {
                "value": "pl-waw-1",
                "label": "pl-waw-1"
              },
              {
                "value": "pl-waw-2",
                "label": "pl-waw-2"
              },
              {
                "value": "pl-waw-3",
                "label": "pl-waw-3"
              },
              {
                "value": "it-mil-1",
                "label": "it-mil-1"
              }
            ],
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "create",
            "label": "Create a server",
            "fields": [
              "image",
              "type",
              "name",
              "zone"
            ],
            "required": [
              "image",
              "type"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "image",
              "type",
              "name",
              "ip",
              "zone"
            ]
          }
        ]
      },
      {
        "path": [
          "instance",
          "server",
          "delete"
        ],
        "label": "Delete a server",
        "description": "Delete the server with the given ID.",
        "source": [
          {
            "id": "doc",
            "kind": "manual",
            "url": "https://github.com/scaleway/scaleway-cli/blob/master/docs/commands/instance.md",
            "revision": "2026-10-27",
            "evidence": "scw instance server delete [arg=value ...]\n| server-id | | Required |\n| with-volumes | Delete the volumes attached to the server | Default: `all` One of: `none`, `local`, `block`, `root`, `all` |\n| zone | Zone to target. If none is passed will use default zone from the config | Default: `fr-par-1` |\nscw instance server delete 11111111-1111-1111-1111-111111111111 zone=fr-par-1\n"
          }
        ],
        "field": [
          {
            "id": "server_id",
            "label": "Server ID",
            "type": "string",
            "position": 0,
            "min": 1,
            "effect": "delete",
            "sources": [
              "doc"
            ]
          },
          {
            "id": "with_volumes",
            "label": "Volumes to delete",
            "type": "enum",
            "option": [
              "with-volumes="
            ],
            "choices": [
              {
                "value": "none",
                "label": "none"
              },
              {
                "value": "local",
                "label": "local"
              },
              {
                "value": "block",
                "label": "block"
              },
              {
                "value": "root",
                "label": "root"
              },
              {
                "value": "all",
                "label": "all"
              }
            ],
            "effect": "delete",
            "sources": [
              "doc"
            ]
          },
          {
            "id": "zone",
            "label": "Zone",
            "description": "Defaults to the zone in the scw config.",
            "type": "string",
            "option": [
              "zone="
            ],
            "suggestions": [
              {
                "value": "fr-par-1",
                "label": "fr-par-1"
              },
              {
                "value": "fr-par-2",
                "label": "fr-par-2"
              },
              {
                "value": "fr-par-3",
                "label": "fr-par-3"
              },
              {
                "value": "nl-ams-1",
                "label": "nl-ams-1"
              },
              {
                "value": "nl-ams-2",
                "label": "nl-ams-2"
              },
              {
                "value": "nl-ams-3",
                "label": "nl-ams-3"
              },
              {
                "value": "pl-waw-1",
                "label": "pl-waw-1"
              },
              {
                "value": "pl-waw-2",
                "label": "pl-waw-2"
              },
              {
                "value": "pl-waw-3",
                "label": "pl-waw-3"
              },
              {
                "value": "it-mil-1",
                "label": "it-mil-1"
              }
            ],
            "sources": [
              "doc"
            ]
          }
        ],
        "task": [
          {
            "id": "delete",
            "label": "Delete a server",
            "fields": [
              "server_id",
              "with_volumes",
              "zone"
            ],
            "required": [
              "server_id"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "server_id",
              "with_volumes",
              "zone"
            ]
          }
        ]
      }
    ]
  }
}
