openapi: 3.1.0
info:
  title: Dedibox Phoenix API
  description: Dedibox Phoenix API.
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Servers
- name: Services
- name: Install
- name: BMC Management
- name: Offers
- name: Operating System
- name: Network
- name: Raid
- name: Rescue
- name: Failover IPs
- name: Quotas
components:
  schemas:
    google.protobuf.StringValue:
      type: string
      nullable: true
    google.protobuf.UInt32Value:
      type: integer
      format: uint32
      nullable: true
    scaleway.dedibox.v1.BMCAccess:
      type: object
      properties:
        url:
          type: string
          description: URL to access to the server console.
        login:
          type: string
          description: The login to use for the BMC (Baseboard Management Controller)
            access authentication.
        password:
          type: string
          description: The password to use for the BMC (Baseboard Management Controller)
            access authentication.
        expires_at:
          type: string
          description: The date after which the BMC (Baseboard Management Controller)
            access will be closed. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        status:
          type: string
          description: Status of the connection.
          enum:
          - unknown
          - creating
          - created
          - deleting
          default: unknown
      x-properties-order:
      - url
      - login
      - password
      - expires_at
      - status
    scaleway.dedibox.v1.Backup:
      type: object
      properties:
        id:
          type: integer
          description: ID of the backup.
          format: uint64
        login:
          type: string
          description: Login of the backup.
        server:
          type: string
          description: Server of the backup.
        status:
          type: string
          description: Status of the backup.
          enum:
          - unknown_backup_status
          - uninitialized
          - inactive
          - ready
          default: unknown_backup_status
        acl_enabled:
          type: boolean
          description: ACL enable boolean of the backup.
        autologin:
          type: boolean
          description: Autologin boolean of the backup.
        quota_space:
          type: integer
          description: Total quota space of the backup.
          format: uint64
        quota_space_used:
          type: integer
          description: Quota space used of the backup.
          format: uint64
        quota_files:
          type: integer
          description: Total quota files of the backup.
          format: uint64
        quota_files_used:
          type: integer
          description: Quota files used of the backup.
          format: uint64
      x-properties-order:
      - id
      - login
      - server
      - status
      - acl_enabled
      - autologin
      - quota_space
      - quota_space_used
      - quota_files
      - quota_files_used
    scaleway.dedibox.v1.CPU:
      type: object
      properties:
        name:
          type: string
          description: Name of CPU.
        core_count:
          type: integer
          description: Number of cores of the CPU.
          format: uint32
        thread_count:
          type: integer
          description: Number of threads of the CPU.
          format: uint32
        frequency:
          type: integer
          description: Frequency of the CPU.
          format: uint32
      x-properties-order:
      - name
      - core_count
      - thread_count
      - frequency
    scaleway.dedibox.v1.CreateFailoverIPsResponse:
      type: object
      properties:
        total_count:
          type: integer
          format: uint32
        services:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      x-properties-order:
      - total_count
      - services
    scaleway.dedibox.v1.Disk:
      type: object
      properties:
        capacity:
          type: integer
          description: Capacity of the disk. (in bytes)
          format: uint64
        type:
          type: string
          description: Type of the disk.
          enum:
          - sata
          - ssd
          - sas
          - sshd
          - usb
          - nvme
          default: sata
      x-properties-order:
      - capacity
      - type
    scaleway.dedibox.v1.FailoverIP:
      type: object
      properties:
        id:
          type: integer
          description: ID of the failover IP.
          format: uint64
        address:
          type: string
          description: IP of the failover IP. (IP address)
          example: 1.2.3.4
        reverse:
          type: string
          description: Reverse IP value.
        ip_version:
          type: string
          description: IP version of the failover IP.
          enum:
          - unknown_version
          - ipv4
          - ipv6
          default: unknown_version
        cidr:
          type: integer
          description: Classless InterDomain Routing notation of the failover IP.
          format: uint32
        netmask:
          type: string
          description: Netmask of the failover IP. (IP address)
          example: 1.2.3.4
        gateway_ip:
          type: string
          description: Gateway IP of the failover IP. (IP address)
          example: 1.2.3.4
        mac:
          type: string
          description: MAC address of the IP failover.
          nullable: true
        server_id:
          type: integer
          description: Server ID linked to the IP failover.
          format: uint64
          nullable: true
        status:
          type: string
          description: Status of the IP failover.
          enum:
          - unknown_status
          - ready
          - busy
          - locked
          default: unknown_status
        block:
          type: object
          description: Block of the IP failover.
          properties:
            id:
              type: integer
              description: ID of the failover block.
              format: uint64
            address:
              type: string
              description: IP of the failover block. (IP address)
              example: 1.2.3.4
            nameservers:
              type: array
              description: Name servers.
              items:
                type: string
            ip_version:
              type: string
              description: IP version of the failover block.
              enum:
              - unknown_version
              - ipv4
              - ipv6
              default: unknown_version
            cidr:
              type: integer
              description: Classless InterDomain Routing notation of the failover
                block.
              format: uint32
            netmask:
              type: string
              description: Netmask of the failover block. (IP address)
              example: 1.2.3.4
            gateway_ip:
              type: string
              description: Gateway IP of the failover block. (IP address)
              example: 1.2.3.4
          x-properties-order:
          - id
          - address
          - nameservers
          - ip_version
          - cidr
          - netmask
          - gateway_ip
        type:
          type: string
          description: The interface type.
          enum:
          - unknown
          - normal
          - ipmi
          - virtual
          default: unknown
        server_zone:
          type: string
          description: The server zone (if assigned).
          nullable: true
      x-properties-order:
      - id
      - address
      - reverse
      - ip_version
      - cidr
      - netmask
      - gateway_ip
      - mac
      - server_id
      - status
      - block
      - type
      - server_zone
    scaleway.dedibox.v1.GetRemainingQuotaResponse:
      type: object
      properties:
        failover_ip_quota:
          type: integer
          description: Current failover IP quota.
          format: uint32
        failover_ip_remaining_quota:
          type: integer
          description: Remaining failover IP quota.
          format: uint32
        failover_block_quota:
          type: integer
          description: Current failover block quota.
          format: uint32
        failover_block_remaining_quota:
          type: integer
          description: Remaining failover block quota.
          format: uint32
      x-properties-order:
      - failover_ip_quota
      - failover_ip_remaining_quota
      - failover_block_quota
      - failover_block_remaining_quota
    scaleway.dedibox.v1.IP:
      type: object
      properties:
        ip_id:
          type: integer
          description: ID of the IP.
          format: uint64
        address:
          type: string
          description: Address of the IP. (IP address)
          example: 1.2.3.4
        reverse:
          type: string
          description: Reverse IP value.
        version:
          type: string
          description: Version of IP (v4 or v6).
          enum:
          - ipv4
          - ipv6
          default: ipv4
        cidr:
          type: integer
          description: Classless InterDomain Routing notation of the IP.
          format: uint32
        netmask:
          type: string
          description: Network mask of IP. (IP address)
          example: 1.2.3.4
        semantic:
          type: string
          description: Semantic of IP.
          enum:
          - unknown
          - proxad
          - ext
          - public
          - private
          - ipmi
          - adm
          - redirect
          - migration
          default: unknown
        gateway:
          type: string
          description: Gateway of IP. (IP address)
          example: 1.2.3.4
        status:
          type: string
          description: Status of the IP.
          enum:
          - unknown_status
          - ready
          - busy
          - locked
          default: unknown_status
      x-properties-order:
      - ip_id
      - address
      - reverse
      - version
      - cidr
      - netmask
      - semantic
      - gateway
      - status
    scaleway.dedibox.v1.InstallPartition:
      type: object
      properties:
        file_system:
          type: string
          description: File system of the installation partition.
          enum:
          - unknown
          - efi
          - swap
          - ext4
          - ext3
          - ext2
          - xfs
          - ntfs
          - fat32
          - ufs
          default: unknown
        mount_point:
          type: string
          description: Mount point of the installation partition.
          nullable: true
        raid_level:
          type: string
          description: RAID level of the installation partition.
          enum:
          - no_raid
          - raid0
          - raid1
          - raid5
          - raid6
          - raid10
          default: no_raid
        capacity:
          type: integer
          description: Capacity of the installation partition. (in bytes)
          format: uint64
        connectors:
          type: array
          description: Connectors of the installation partition.
          items:
            type: string
      x-properties-order:
      - file_system
      - mount_point
      - raid_level
      - capacity
      - connectors
    scaleway.dedibox.v1.ListFailoverIPsResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching failovers IP.
          format: uint32
        failover_ips:
          type: array
          description: List of failover IPs that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.FailoverIP'
      x-properties-order:
      - total_count
      - failover_ips
    scaleway.dedibox.v1.ListOSResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching OS.
          format: uint32
        os:
          type: array
          description: OS that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.OS'
      x-properties-order:
      - total_count
      - os
    scaleway.dedibox.v1.ListOffersResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching offers.
          format: uint32
        offers:
          type: array
          description: Offers that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      x-properties-order:
      - total_count
      - offers
    scaleway.dedibox.v1.ListServerDisksResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching server disks.
          format: uint32
        disks:
          type: array
          description: Server disks that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Disk'
      x-properties-order:
      - total_count
      - disks
    scaleway.dedibox.v1.ListServerEventsResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching server events.
          format: uint32
        events:
          type: array
          description: Server events that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.ServerEvent'
      x-properties-order:
      - total_count
      - events
    scaleway.dedibox.v1.ListServersResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching servers.
          format: uint32
        servers:
          type: array
          description: Servers that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.ServerSummary'
      x-properties-order:
      - total_count
      - servers
    scaleway.dedibox.v1.ListServicesResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching services.
          format: uint32
        services:
          type: array
          description: Services that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      x-properties-order:
      - total_count
      - services
    scaleway.dedibox.v1.ListSubscribableServerOptionsResponse:
      type: object
      properties:
        total_count:
          type: integer
          description: Total count of matching subscribable server options.
          format: uint32
        server_options:
          type: array
          description: Server options that match filters.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      x-properties-order:
      - total_count
      - server_options
    scaleway.dedibox.v1.Memory:
      type: object
      properties:
        capacity:
          type: integer
          description: Capacity of the memory. (in bytes)
          format: uint64
        type:
          type: string
          description: Type of the memory.
          enum:
          - ddr2
          - ddr3
          - ddr4
          - ddr5
          default: ddr2
        frequency:
          type: integer
          description: Frequency of the memory.
          format: uint32
        is_ecc:
          type: boolean
          description: True if the memory is an error-correcting code memory.
      x-properties-order:
      - capacity
      - type
      - frequency
      - is_ecc
    scaleway.dedibox.v1.NetworkInterface:
      type: object
      properties:
        card_id:
          type: integer
          description: Card ID of the network interface.
          format: uint64
        device_id:
          type: integer
          description: Device ID of the network interface.
          format: uint64
        mac:
          type: string
          description: MAC address of the network interface.
        type:
          type: string
          description: Network interface type.
          enum:
          - unknown
          - normal
          - ipmi
          - virtual
          default: unknown
        ips:
          type: array
          description: IPs of the network interface.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.IP'
      x-properties-order:
      - card_id
      - device_id
      - mac
      - type
      - ips
    scaleway.dedibox.v1.OS:
      type: object
      properties:
        id:
          type: integer
          description: ID of the OS.
          format: uint64
        name:
          type: string
          description: Name of the OS.
        type:
          type: string
          description: Type of the OS.
          enum:
          - unknown_type
          - server
          - virtu
          - panel
          - desktop
          - custom
          - rescue
          default: unknown_type
        version:
          type: string
          description: Version of the OS.
        arch:
          type: string
          description: Architecture of the OS.
          enum:
          - unknown_arch
          - amd64
          - x86
          - arm
          - arm64
          default: unknown_arch
        allow_custom_partitioning:
          type: boolean
          description: True if the OS allow custom partitioning.
        allow_ssh_keys:
          type: boolean
          description: True if the OS allow SSH Keys.
        requires_user:
          type: boolean
          description: True if the OS requires user.
        requires_admin_password:
          type: boolean
          description: True if the OS requires admin password.
        requires_panel_password:
          type: boolean
          description: True if the OS requires panel password.
        allowed_filesystems:
          type: array
          description: True if the OS allow file systems.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Partition.FileSystem'
        requires_license:
          type: boolean
          description: True if the OS requires license.
        license_offers:
          type: array
          description: License offers available with the OS.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
        max_partitions:
          type: integer
          description: Maximum number of partitions which can be created.
          format: uint32
          nullable: true
        display_name:
          type: string
          description: Display name of the OS.
        password_regex:
          type: string
          description: Regex used to validate the installation passwords.
        panel_password_regex:
          type: string
          description: Regex used to validate the panel installation password.
          nullable: true
        requires_valid_hostname:
          type: boolean
          description: |-
            Whether or not the installation requires a valid hostname (ex: my.scaleway.com).
            If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
          nullable: true
        hostname_regex:
          type: string
          description: |-
            Regex used to validate the hostname during the installation.
            If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
          nullable: true
        hostname_max_length:
          type: integer
          description: Hostname max length.
          format: uint32
        released_at:
          type: string
          description: OS release date. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
      x-properties-order:
      - id
      - name
      - type
      - version
      - arch
      - allow_custom_partitioning
      - allow_ssh_keys
      - requires_user
      - requires_admin_password
      - requires_panel_password
      - allowed_filesystems
      - requires_license
      - license_offers
      - max_partitions
      - display_name
      - password_regex
      - panel_password_regex
      - requires_valid_hostname
      - hostname_regex
      - hostname_max_length
      - released_at
    scaleway.dedibox.v1.Offer:
      type: object
      properties:
        id:
          type: integer
          description: ID of the offer (aka product.id).
          format: uint64
        name:
          type: string
          description: Name of the offer.
        catalog:
          type: string
          description: Catalog of the offer.
          enum:
          - all
          - default
          - beta
          - reseller
          - premium
          - volume
          - admin
          - inactive
          default: all
        payment_frequency:
          type: string
          description: Payment frequency of the offer.
          enum:
          - monthly
          - oneshot
          default: monthly
        pricing:
          type: object
          description: Price of the offer.
          properties:
            currency_code:
              type: string
            units:
              type: integer
              format: int64
            nanos:
              type: integer
              format: int32
          x-properties-order:
          - currency_code
          - units
          - nanos
        offer_id:
          type: integer
          description: Original Dedibox ID of the offer.
          format: uint64
          nullable: true
        server_info:
          description: Server info if it is a server offer.
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServerInfo'
          nullable: true
          x-one-of: offer_info
        service_level_info:
          description: Service level info if it is a service level offer.
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServiceLevelInfo'
          nullable: true
          x-one-of: offer_info
        rpn_info:
          type: object
          description: RPN info if it is a RPN offer.
          properties:
            speed:
              type: integer
              format: uint32
          nullable: true
          x-properties-order:
          - speed
          x-one-of: offer_info
        san_info:
          type: object
          description: SAN info if it is a SAN offer.
          properties:
            size:
              type: integer
              description: SAN size (in bytes).
              format: uint64
            ha:
              type: boolean
              description: High availability offer.
            device_type:
              type: string
              description: Type of SAN device (hdd / ssd).
              enum:
              - hdd
              - ssd
              default: hdd
          nullable: true
          x-properties-order:
          - size
          - ha
          - device_type
          x-one-of: offer_info
        antidos_info:
          type: object
          description: AntiDOS info if it is a antiDOS offer.
          properties:
            type:
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.AntiDosInfo.Type'
          nullable: true
          x-properties-order:
          - type
          x-one-of: offer_info
        backup_info:
          type: object
          description: Backup info if it is a backup offer.
          properties:
            size:
              type: integer
              description: (in bytes)
              format: uint64
          nullable: true
          x-properties-order:
          - size
          x-one-of: offer_info
        usb_storage_info:
          type: object
          description: USB storage info if it is a USB storage offer.
          properties:
            max_quota:
              type: integer
              format: uint32
            size:
              type: integer
              description: (in bytes)
              format: uint64
          nullable: true
          x-properties-order:
          - max_quota
          - size
          x-one-of: offer_info
        storage_info:
          type: object
          description: Storage info if it is a storage offer.
          properties:
            max_quota:
              type: integer
              format: uint32
            size:
              type: integer
              description: (in bytes)
              format: uint64
          nullable: true
          x-properties-order:
          - max_quota
          - size
          x-one-of: offer_info
        license_info:
          type: object
          description: License info if it is a license offer.
          properties:
            bound_to_ip:
              type: boolean
          nullable: true
          x-properties-order:
          - bound_to_ip
          x-one-of: offer_info
        failover_ip_info:
          description: Failover IP info if it is a failover IP offer.
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverIpInfo'
          nullable: true
          x-one-of: offer_info
        failover_block_info:
          description: Failover block info if it is a failover block offer.
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverBlockInfo'
          nullable: true
          x-one-of: offer_info
        bandwidth_info:
          type: object
          description: Bandwidth info if it is a bandwidth offer.
          properties:
            speed:
              type: integer
              format: uint32
          nullable: true
          x-properties-order:
          - speed
          x-one-of: offer_info
      x-properties-order:
      - id
      - name
      - catalog
      - payment_frequency
      - pricing
      - offer_id
      - server_info
      - service_level_info
      - rpn_info
      - san_info
      - antidos_info
      - backup_info
      - usb_storage_info
      - storage_info
      - license_info
      - failover_ip_info
      - failover_block_info
      - bandwidth_info
    scaleway.dedibox.v1.Offer.AntiDosInfo.Type:
      type: string
      enum:
      - minimal
      - preventive
      - curative
      default: minimal
    scaleway.dedibox.v1.Offer.FailoverBlockInfo:
      type: object
      properties:
        onetime_fees:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      x-properties-order:
      - onetime_fees
    scaleway.dedibox.v1.Offer.FailoverIpInfo:
      type: object
      properties:
        onetime_fees:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      x-properties-order:
      - onetime_fees
    scaleway.dedibox.v1.Offer.ServerInfo:
      type: object
      properties:
        bandwidth:
          type: integer
          format: uint64
        stock:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServerInfo.Stock'
        commercial_range:
          type: string
        disks:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Disk'
        cpus:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.CPU'
        memories:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Memory'
        persistent_memories:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.PersistentMemory'
        raid_controllers:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.RaidController'
        available_options:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
        rpn_version:
          $ref: '#/components/schemas/google.protobuf.UInt32Value'
        connectivity:
          type: integer
          format: uint64
        onetime_fees:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
        stock_by_datacenter:
          type: object
          properties:
            <stock_by_datacenterKey>:
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServerInfo.Stock'
          additionalProperties: true
      x-properties-order:
      - bandwidth
      - stock
      - commercial_range
      - disks
      - cpus
      - memories
      - persistent_memories
      - raid_controllers
      - available_options
      - rpn_version
      - connectivity
      - onetime_fees
      - stock_by_datacenter
    scaleway.dedibox.v1.Offer.ServerInfo.Stock:
      type: string
      enum:
      - empty
      - low
      - available
      default: empty
    scaleway.dedibox.v1.Offer.ServiceLevelInfo:
      type: object
      properties:
        support_ticket:
          type: boolean
        support_phone:
          type: boolean
        sales_support:
          type: boolean
        git:
          type: string
        sla:
          type: number
          format: float
        priority_support:
          type: boolean
        high_rpn_bandwidth:
          type: boolean
        customization:
          type: boolean
        antidos:
          type: boolean
        extra_failover_quota:
          type: integer
          format: uint32
        available_options:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      x-properties-order:
      - support_ticket
      - support_phone
      - sales_support
      - git
      - sla
      - priority_support
      - high_rpn_bandwidth
      - customization
      - antidos
      - extra_failover_quota
      - available_options
    scaleway.dedibox.v1.Partition:
      type: object
      properties:
        type:
          type: string
          description: Type of the partition.
          enum:
          - primary
          - extended
          - logical
          default: primary
        file_system:
          type: string
          description: File system of the partition.
          enum:
          - unknown
          - efi
          - swap
          - ext4
          - ext3
          - ext2
          - xfs
          - ntfs
          - fat32
          - ufs
          default: unknown
        mount_point:
          type: string
          description: Mount point of the partition.
          nullable: true
        raid_level:
          type: string
          description: Raid level of the partition.
          enum:
          - no_raid
          - raid0
          - raid1
          - raid5
          - raid6
          - raid10
          default: no_raid
        capacity:
          type: integer
          description: Capacity of the partition. (in bytes)
          format: uint64
        connectors:
          type: array
          description: Connectors of the partition.
          items:
            type: string
      x-properties-order:
      - type
      - file_system
      - mount_point
      - raid_level
      - capacity
      - connectors
    scaleway.dedibox.v1.Partition.FileSystem:
      type: string
      enum:
      - unknown
      - efi
      - swap
      - ext4
      - ext3
      - ext2
      - xfs
      - ntfs
      - fat32
      - ufs
      default: unknown
    scaleway.dedibox.v1.PersistentMemory:
      type: object
      properties:
        capacity:
          type: integer
          description: Capacity of the persistent memory. (in bytes)
          format: uint64
        frequency:
          type: integer
          description: Frequency of the persistent memory.
          format: uint32
        model:
          type: string
          description: Model of the persistent memory.
      x-properties-order:
      - capacity
      - frequency
      - model
    scaleway.dedibox.v1.Raid:
      type: object
      properties:
        raid_arrays:
          type: array
          description: Details about the RAID controller.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.RaidArray'
      x-properties-order:
      - raid_arrays
    scaleway.dedibox.v1.RaidArray:
      type: object
      properties:
        raid_level:
          type: string
          description: The RAID level.
          enum:
          - no_raid
          - raid0
          - raid1
          - raid5
          - raid6
          - raid10
          default: no_raid
        disks:
          type: array
          description: Disks on the RAID controller.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Disk'
      x-properties-order:
      - raid_level
      - disks
    scaleway.dedibox.v1.RaidController:
      type: object
      properties:
        model:
          type: string
          description: Model of the RAID controller.
        raid_level:
          type: array
          description: RAID level of the RAID controller.
          items:
            type: string
      x-properties-order:
      - model
      - raid_level
    scaleway.dedibox.v1.Rescue:
      type: object
      properties:
        os_id:
          type: integer
          description: OS ID of the rescue.
          format: uint64
        login:
          type: string
          description: Login of the rescue.
        password:
          type: string
          description: Password of the rescue.
        protocol:
          type: string
          description: Protocol of the rescue.
          enum:
          - vnc
          - ssh
          default: vnc
      x-properties-order:
      - os_id
      - login
      - password
      - protocol
    scaleway.dedibox.v1.Server:
      type: object
      properties:
        id:
          type: integer
          description: ID of the server.
          format: uint64
        organization_id:
          type: string
          description: Organization ID the server is attached to.
        project_id:
          type: string
          description: Project ID the server is attached to.
        hostname:
          type: string
          description: Hostname of the server.
        rebooted_at:
          type: string
          description: Date of last reboot of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        created_at:
          type: string
          description: Date of creation of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Date of last modification of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        expired_at:
          type: string
          description: Date of release of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        offer:
          type: object
          description: Offer of the server.
          properties:
            id:
              type: integer
              description: ID of the offer (aka product.id).
              format: uint64
            name:
              type: string
              description: Name of the offer.
            catalog:
              type: string
              description: Catalog of the offer.
              enum:
              - all
              - default
              - beta
              - reseller
              - premium
              - volume
              - admin
              - inactive
              default: all
            payment_frequency:
              type: string
              description: Payment frequency of the offer.
              enum:
              - monthly
              - oneshot
              default: monthly
            pricing:
              type: object
              description: Price of the offer.
              properties:
                currency_code:
                  type: string
                units:
                  type: integer
                  format: int64
                nanos:
                  type: integer
                  format: int32
              x-properties-order:
              - currency_code
              - units
              - nanos
            offer_id:
              type: integer
              description: Original Dedibox ID of the offer.
              format: uint64
              nullable: true
            server_info:
              description: Server info if it is a server offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServerInfo'
              nullable: true
              x-one-of: offer_info
            service_level_info:
              description: Service level info if it is a service level offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServiceLevelInfo'
              nullable: true
              x-one-of: offer_info
            rpn_info:
              type: object
              description: RPN info if it is a RPN offer.
              properties:
                speed:
                  type: integer
                  format: uint32
              nullable: true
              x-properties-order:
              - speed
              x-one-of: offer_info
            san_info:
              type: object
              description: SAN info if it is a SAN offer.
              properties:
                size:
                  type: integer
                  description: SAN size (in bytes).
                  format: uint64
                ha:
                  type: boolean
                  description: High availability offer.
                device_type:
                  type: string
                  description: Type of SAN device (hdd / ssd).
                  enum:
                  - hdd
                  - ssd
                  default: hdd
              nullable: true
              x-properties-order:
              - size
              - ha
              - device_type
              x-one-of: offer_info
            antidos_info:
              type: object
              description: AntiDOS info if it is a antiDOS offer.
              properties:
                type:
                  $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.AntiDosInfo.Type'
              nullable: true
              x-properties-order:
              - type
              x-one-of: offer_info
            backup_info:
              type: object
              description: Backup info if it is a backup offer.
              properties:
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - size
              x-one-of: offer_info
            usb_storage_info:
              type: object
              description: USB storage info if it is a USB storage offer.
              properties:
                max_quota:
                  type: integer
                  format: uint32
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - max_quota
              - size
              x-one-of: offer_info
            storage_info:
              type: object
              description: Storage info if it is a storage offer.
              properties:
                max_quota:
                  type: integer
                  format: uint32
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - max_quota
              - size
              x-one-of: offer_info
            license_info:
              type: object
              description: License info if it is a license offer.
              properties:
                bound_to_ip:
                  type: boolean
              nullable: true
              x-properties-order:
              - bound_to_ip
              x-one-of: offer_info
            failover_ip_info:
              description: Failover IP info if it is a failover IP offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverIpInfo'
              nullable: true
              x-one-of: offer_info
            failover_block_info:
              description: Failover block info if it is a failover block offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverBlockInfo'
              nullable: true
              x-one-of: offer_info
            bandwidth_info:
              type: object
              description: Bandwidth info if it is a bandwidth offer.
              properties:
                speed:
                  type: integer
                  format: uint32
              nullable: true
              x-properties-order:
              - speed
              x-one-of: offer_info
          x-properties-order:
          - id
          - name
          - catalog
          - payment_frequency
          - pricing
          - offer_id
          - server_info
          - service_level_info
          - rpn_info
          - san_info
          - antidos_info
          - backup_info
          - usb_storage_info
          - storage_info
          - license_info
          - failover_ip_info
          - failover_block_info
          - bandwidth_info
        status:
          type: string
          description: Status of the server.
          enum:
          - unknown
          - delivering
          - installing
          - ready
          - stopped
          - error
          - locked
          - rescue
          - busy
          default: unknown
        location:
          type: object
          description: Location of the server.
          properties:
            rack:
              type: string
            room:
              type: string
            datacenter_name:
              type: string
          x-properties-order:
          - rack
          - room
          - datacenter_name
        abuse_contact:
          type: string
          description: Abuse contact of the server.
        os:
          type: object
          description: OS installed on the server.
          properties:
            id:
              type: integer
              description: ID of the OS.
              format: uint64
            name:
              type: string
              description: Name of the OS.
            type:
              type: string
              description: Type of the OS.
              enum:
              - unknown_type
              - server
              - virtu
              - panel
              - desktop
              - custom
              - rescue
              default: unknown_type
            version:
              type: string
              description: Version of the OS.
            arch:
              type: string
              description: Architecture of the OS.
              enum:
              - unknown_arch
              - amd64
              - x86
              - arm
              - arm64
              default: unknown_arch
            allow_custom_partitioning:
              type: boolean
              description: True if the OS allow custom partitioning.
            allow_ssh_keys:
              type: boolean
              description: True if the OS allow SSH Keys.
            requires_user:
              type: boolean
              description: True if the OS requires user.
            requires_admin_password:
              type: boolean
              description: True if the OS requires admin password.
            requires_panel_password:
              type: boolean
              description: True if the OS requires panel password.
            allowed_filesystems:
              type: array
              description: True if the OS allow file systems.
              items:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Partition.FileSystem'
            requires_license:
              type: boolean
              description: True if the OS requires license.
            license_offers:
              type: array
              description: License offers available with the OS.
              items:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
            max_partitions:
              type: integer
              description: Maximum number of partitions which can be created.
              format: uint32
              nullable: true
            display_name:
              type: string
              description: Display name of the OS.
            password_regex:
              type: string
              description: Regex used to validate the installation passwords.
            panel_password_regex:
              type: string
              description: Regex used to validate the panel installation password.
              nullable: true
            requires_valid_hostname:
              type: boolean
              description: |-
                Whether or not the installation requires a valid hostname (ex: my.scaleway.com).
                If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
              nullable: true
            hostname_regex:
              type: string
              description: |-
                Regex used to validate the hostname during the installation.
                If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
              nullable: true
            hostname_max_length:
              type: integer
              description: Hostname max length.
              format: uint32
            released_at:
              type: string
              description: OS release date. (RFC 3339 format)
              format: date-time
              example: "2022-03-22T12:34:56.123456Z"
              nullable: true
          x-properties-order:
          - id
          - name
          - type
          - version
          - arch
          - allow_custom_partitioning
          - allow_ssh_keys
          - requires_user
          - requires_admin_password
          - requires_panel_password
          - allowed_filesystems
          - requires_license
          - license_offers
          - max_partitions
          - display_name
          - password_regex
          - panel_password_regex
          - requires_valid_hostname
          - hostname_regex
          - hostname_max_length
          - released_at
        interfaces:
          type: array
          description: Network interfaces of the server.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.NetworkInterface'
        zone:
          type: string
          description: The zone in which is the server.
        options:
          type: array
          description: Options subscribe on the server.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Option'
        level:
          type: object
          description: Service level of the server.
          properties:
            offer_id:
              type: integer
              description: Offer ID of service level.
              format: uint32
            level:
              type: string
              description: Level type of service level.
              enum:
              - unknown
              - basic
              - business
              default: unknown
          x-properties-order:
          - offer_id
          - level
        has_bmc:
          type: boolean
          description: Boolean if the server has a BMC.
        rescue_os:
          type: object
          description: Rescue OS of the server.
          properties:
            id:
              type: integer
              description: ID of the OS.
              format: uint64
            name:
              type: string
              description: Name of the OS.
            type:
              type: string
              description: Type of the OS.
              enum:
              - unknown_type
              - server
              - virtu
              - panel
              - desktop
              - custom
              - rescue
              default: unknown_type
            version:
              type: string
              description: Version of the OS.
            arch:
              type: string
              description: Architecture of the OS.
              enum:
              - unknown_arch
              - amd64
              - x86
              - arm
              - arm64
              default: unknown_arch
            allow_custom_partitioning:
              type: boolean
              description: True if the OS allow custom partitioning.
            allow_ssh_keys:
              type: boolean
              description: True if the OS allow SSH Keys.
            requires_user:
              type: boolean
              description: True if the OS requires user.
            requires_admin_password:
              type: boolean
              description: True if the OS requires admin password.
            requires_panel_password:
              type: boolean
              description: True if the OS requires panel password.
            allowed_filesystems:
              type: array
              description: True if the OS allow file systems.
              items:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Partition.FileSystem'
            requires_license:
              type: boolean
              description: True if the OS requires license.
            license_offers:
              type: array
              description: License offers available with the OS.
              items:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
            max_partitions:
              type: integer
              description: Maximum number of partitions which can be created.
              format: uint32
              nullable: true
            display_name:
              type: string
              description: Display name of the OS.
            password_regex:
              type: string
              description: Regex used to validate the installation passwords.
            panel_password_regex:
              type: string
              description: Regex used to validate the panel installation password.
              nullable: true
            requires_valid_hostname:
              type: boolean
              description: |-
                Whether or not the installation requires a valid hostname (ex: my.scaleway.com).
                If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
              nullable: true
            hostname_regex:
              type: string
              description: |-
                Regex used to validate the hostname during the installation.
                If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
              nullable: true
            hostname_max_length:
              type: integer
              description: Hostname max length.
              format: uint32
            released_at:
              type: string
              description: OS release date. (RFC 3339 format)
              format: date-time
              example: "2022-03-22T12:34:56.123456Z"
              nullable: true
          x-properties-order:
          - id
          - name
          - type
          - version
          - arch
          - allow_custom_partitioning
          - allow_ssh_keys
          - requires_user
          - requires_admin_password
          - requires_panel_password
          - allowed_filesystems
          - requires_license
          - license_offers
          - max_partitions
          - display_name
          - password_regex
          - panel_password_regex
          - requires_valid_hostname
          - hostname_regex
          - hostname_max_length
          - released_at
        tags:
          type: array
          description: Array of customs tags attached to the server.
          items:
            type: string
        is_outsourced:
          type: boolean
          description: Whether the server is outsourced or not.
        ipv6_slaac:
          type: boolean
          description: Whether or not you can enable/disable the IPv6.
        qinq:
          type: boolean
          description: Whether the server is compatible with QinQ.
        is_rpnv2_member:
          type: boolean
          description: Whether or not the server is already part of an rpnv2 group.
        is_hds:
          type: boolean
          description: Whether or not the server is HDS.
      x-properties-order:
      - id
      - organization_id
      - project_id
      - hostname
      - rebooted_at
      - created_at
      - updated_at
      - expired_at
      - offer
      - status
      - location
      - abuse_contact
      - os
      - interfaces
      - zone
      - options
      - level
      - has_bmc
      - rescue_os
      - tags
      - is_outsourced
      - ipv6_slaac
      - qinq
      - is_rpnv2_member
      - is_hds
    scaleway.dedibox.v1.Server.Disk:
      type: object
      properties:
        id:
          type: integer
          format: uint64
        connector:
          type: string
        type:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Disk.Type'
        capacity:
          type: integer
          description: (in bytes)
          format: uint64
        is_addon:
          type: boolean
      x-properties-order:
      - id
      - connector
      - type
      - capacity
      - is_addon
    scaleway.dedibox.v1.Server.Disk.Type:
      type: string
      enum:
      - sata
      - ssd
      - sas
      - sshd
      - usb
      - nvme
      default: sata
    scaleway.dedibox.v1.Server.Install:
      type: object
      properties:
        os_id:
          type: integer
          format: uint64
        hostname:
          type: string
        user_login:
          $ref: '#/components/schemas/google.protobuf.StringValue'
        partitions:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Partition'
        ssh_key_ids:
          type: array
          items:
            type: string
        status:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Install.Status'
        panel_url:
          $ref: '#/components/schemas/google.protobuf.StringValue'
      x-properties-order:
      - os_id
      - hostname
      - user_login
      - partitions
      - ssh_key_ids
      - status
      - panel_url
    scaleway.dedibox.v1.Server.Install.Status:
      type: string
      enum:
      - unknown
      - booting
      - setting_up_raid
      - partitioning
      - formatting
      - installing
      - configuring
      - configuring_bootloader
      - rebooting
      - installed
      default: unknown
    scaleway.dedibox.v1.Server.Option:
      type: object
      properties:
        offer:
          $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
        created_at:
          type: string
          description: (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        expired_at:
          type: string
          description: (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        options:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Option'
      x-properties-order:
      - offer
      - created_at
      - updated_at
      - expired_at
      - options
    scaleway.dedibox.v1.ServerDefaultPartitioning:
      type: object
      properties:
        partitions:
          type: array
          description: Default partitions.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Partition'
      x-properties-order:
      - partitions
    scaleway.dedibox.v1.ServerEvent:
      type: object
      properties:
        event_id:
          type: integer
          description: ID of the event.
          format: uint64
        description:
          type: string
          description: Description of the event.
        date:
          type: string
          description: Date of the event. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
      x-properties-order:
      - event_id
      - description
      - date
    scaleway.dedibox.v1.ServerSummary:
      type: object
      properties:
        id:
          type: integer
          description: ID of the server.
          format: uint64
        datacenter_name:
          type: string
          description: Datacenter of the server.
        organization_id:
          type: string
          description: Organization ID the server is attached to.
        project_id:
          type: string
          description: Project ID the server is attached to.
        hostname:
          type: string
          description: Hostname of the server.
        created_at:
          type: string
          description: Date of creation of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Date of last modification of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        expired_at:
          type: string
          description: Date of release of the server. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        offer_id:
          type: integer
          description: Offer ID of the server.
          format: uint64
        offer_name:
          type: string
          description: Offer name of the server.
        status:
          type: string
          description: Status of the server.
          enum:
          - unknown
          - delivering
          - installing
          - ready
          - stopped
          - error
          - locked
          - rescue
          - busy
          default: unknown
        os_id:
          type: integer
          description: OS ID installed on server.
          format: uint64
          nullable: true
        interfaces:
          type: array
          description: Network interfaces of the server.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.NetworkInterface'
        zone:
          type: string
          description: The zone in which is the server.
        level:
          type: object
          description: Service level of the server.
          properties:
            offer_id:
              type: integer
              description: Offer ID of service level.
              format: uint32
            level:
              type: string
              description: Level type of service level.
              enum:
              - unknown
              - basic
              - business
              default: unknown
          x-properties-order:
          - offer_id
          - level
        is_outsourced:
          type: boolean
          description: Whether the server is outsourced or not.
        qinq:
          type: boolean
          description: Whether the server is compatible with QinQ.
        rpn_version:
          type: integer
          description: Supported RPN version.
          format: uint32
          nullable: true
        is_hds:
          type: boolean
          description: Whether or not the server is HDS.
      x-properties-order:
      - id
      - datacenter_name
      - organization_id
      - project_id
      - hostname
      - created_at
      - updated_at
      - expired_at
      - offer_id
      - offer_name
      - status
      - os_id
      - interfaces
      - zone
      - level
      - is_outsourced
      - qinq
      - rpn_version
      - is_hds
    scaleway.dedibox.v1.Service:
      type: object
      properties:
        id:
          type: integer
          description: ID of the service.
          format: uint64
        resource_id:
          type: integer
          description: Resource ID of the service.
          format: uint64
          nullable: true
        provisioning_status:
          type: string
          description: Provisioning status of the service.
          enum:
          - unknown
          - delivering
          - ready
          - error
          - expiring
          - expired
          default: unknown
        offer:
          type: object
          description: Offer of the service.
          properties:
            id:
              type: integer
              description: ID of the offer (aka product.id).
              format: uint64
            name:
              type: string
              description: Name of the offer.
            catalog:
              type: string
              description: Catalog of the offer.
              enum:
              - all
              - default
              - beta
              - reseller
              - premium
              - volume
              - admin
              - inactive
              default: all
            payment_frequency:
              type: string
              description: Payment frequency of the offer.
              enum:
              - monthly
              - oneshot
              default: monthly
            pricing:
              type: object
              description: Price of the offer.
              properties:
                currency_code:
                  type: string
                units:
                  type: integer
                  format: int64
                nanos:
                  type: integer
                  format: int32
              x-properties-order:
              - currency_code
              - units
              - nanos
            offer_id:
              type: integer
              description: Original Dedibox ID of the offer.
              format: uint64
              nullable: true
            server_info:
              description: Server info if it is a server offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServerInfo'
              nullable: true
              x-one-of: offer_info
            service_level_info:
              description: Service level info if it is a service level offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.ServiceLevelInfo'
              nullable: true
              x-one-of: offer_info
            rpn_info:
              type: object
              description: RPN info if it is a RPN offer.
              properties:
                speed:
                  type: integer
                  format: uint32
              nullable: true
              x-properties-order:
              - speed
              x-one-of: offer_info
            san_info:
              type: object
              description: SAN info if it is a SAN offer.
              properties:
                size:
                  type: integer
                  description: SAN size (in bytes).
                  format: uint64
                ha:
                  type: boolean
                  description: High availability offer.
                device_type:
                  type: string
                  description: Type of SAN device (hdd / ssd).
                  enum:
                  - hdd
                  - ssd
                  default: hdd
              nullable: true
              x-properties-order:
              - size
              - ha
              - device_type
              x-one-of: offer_info
            antidos_info:
              type: object
              description: AntiDOS info if it is a antiDOS offer.
              properties:
                type:
                  $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.AntiDosInfo.Type'
              nullable: true
              x-properties-order:
              - type
              x-one-of: offer_info
            backup_info:
              type: object
              description: Backup info if it is a backup offer.
              properties:
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - size
              x-one-of: offer_info
            usb_storage_info:
              type: object
              description: USB storage info if it is a USB storage offer.
              properties:
                max_quota:
                  type: integer
                  format: uint32
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - max_quota
              - size
              x-one-of: offer_info
            storage_info:
              type: object
              description: Storage info if it is a storage offer.
              properties:
                max_quota:
                  type: integer
                  format: uint32
                size:
                  type: integer
                  description: (in bytes)
                  format: uint64
              nullable: true
              x-properties-order:
              - max_quota
              - size
              x-one-of: offer_info
            license_info:
              type: object
              description: License info if it is a license offer.
              properties:
                bound_to_ip:
                  type: boolean
              nullable: true
              x-properties-order:
              - bound_to_ip
              x-one-of: offer_info
            failover_ip_info:
              description: Failover IP info if it is a failover IP offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverIpInfo'
              nullable: true
              x-one-of: offer_info
            failover_block_info:
              description: Failover block info if it is a failover block offer.
              $ref: '#/components/schemas/scaleway.dedibox.v1.Offer.FailoverBlockInfo'
              nullable: true
              x-one-of: offer_info
            bandwidth_info:
              type: object
              description: Bandwidth info if it is a bandwidth offer.
              properties:
                speed:
                  type: integer
                  format: uint32
              nullable: true
              x-properties-order:
              - speed
              x-one-of: offer_info
          x-properties-order:
          - id
          - name
          - catalog
          - payment_frequency
          - pricing
          - offer_id
          - server_info
          - service_level_info
          - rpn_info
          - san_info
          - antidos_info
          - backup_info
          - usb_storage_info
          - storage_info
          - license_info
          - failover_ip_info
          - failover_block_info
          - bandwidth_info
        created_at:
          type: string
          description: Creation date of the service. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        delivered_at:
          type: string
          description: Delivery date of the service. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        terminated_at:
          type: string
          description: Terminatation date of the service. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        expires_at:
          type: string
          description: Expiration date of the service. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        type:
          type: string
          description: Service type, either order or service.
          enum:
          - unknown_type
          - service
          - order
          default: unknown_type
      x-properties-order:
      - id
      - resource_id
      - provisioning_status
      - offer
      - created_at
      - delivered_at
      - terminated_at
      - expires_at
      - type
    scaleway.dedibox.v1.SubscribeStorageOptionsResponse:
      type: object
      properties:
        services:
          type: array
          description: Services subscribe storage options.
          items:
            $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      x-properties-order:
      - services
    scaleway.dedibox.v1.UpdatableRaidArray:
      type: object
      properties:
        raid_level:
          type: string
          description: The RAID level.
          enum:
          - no_raid
          - raid0
          - raid1
          - raid5
          - raid6
          - raid10
          default: no_raid
        disk_ids:
          type: array
          description: The list of Disk ID of the updatable RAID.
          items:
            type: integer
            format: uint64
      required:
      - disk_ids
      x-properties-order:
      - raid_level
      - disk_ids
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey
paths:
  /dedibox/v1/zones/{zone}/failover-ips:
    get:
      tags:
      - Failover IPs
      operationId: ListFailoverIPs
      summary: List failovers for project
      description: List failovers servers for project.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of failovers IP per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the failovers IP.
        schema:
          type: string
          enum:
          - ip_asc
          - ip_desc
          default: ip_asc
      - in: query
        name: project_id
        description: Filter failovers IP by project ID.
        schema:
          type: string
      - in: query
        name: search
        description: Filter failovers IP which matching with this field.
        schema:
          type: string
      - in: query
        name: only_available
        description: |-
          True: return all failovers IP not attached on server.
          True: return all failovers IP not attached on server
          false: return all failovers IP attached on server.
        schema:
          type: boolean
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListFailoverIPsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
    post:
      tags:
      - Failover IPs
      operationId: CreateFailoverIPs
      summary: Order failover IPs
      description: Order X failover IPs.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.CreateFailoverIPsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                offer_id:
                  type: integer
                  description: Failover IP offer ID.
                  format: uint64
                project_id:
                  type: string
                  description: Project ID.
                quantity:
                  type: integer
                  description: Quantity.
                  format: uint32
              x-properties-order:
              - offer_id
              - project_id
              - quantity
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "offer_id": 42,
              "project_id": "string",
              "quantity": 42
            }' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips" \
            X-Auth-Token:$SCW_SECRET_KEY \
            offer_id:=42 \
            project_id="string" \
            quantity:=42
  /dedibox/v1/zones/{zone}/failover-ips/{ip_id}:
    get:
      tags:
      - Failover IPs
      operationId: GetFailoverIP
      summary: Get a specific baremetal server
      description: Get the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ip_id
        description: ID of the failover IP.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.FailoverIP'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Failover IPs
      operationId: DeleteFailoverIP
      summary: Delete a failover server
      description: Delete the failover associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ip_id
        description: ID of the failover IP to delete.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/failover-ips/{ip_id}/attach-to-mac-address:
    post:
      tags:
      - Failover IPs
      operationId: AttachFailoverIPToMacAddress
      summary: Attach a failover IP to a MAC address
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ip_id
        description: ID of the failover IP.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.IP'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: A mac type.
                  enum:
                  - mac_type_unknown
                  - vmware
                  - kvm
                  - xen
                  default: mac_type_unknown
                mac:
                  type: string
                  description: A valid mac address (existing or not).
                  nullable: true
              x-properties-order:
              - type
              - mac
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}/attach-to-mac-address"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}/attach-to-mac-address" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/failover-ips/{ip_id}/detach-from-mac-address:
    post:
      tags:
      - Failover IPs
      operationId: DetachFailoverIPFromMacAddress
      summary: Detach a failover IP from a MAC address
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ip_id
        description: ID of the failover IP.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.IP'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}/detach-from-mac-address"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/{ip_id}/detach-from-mac-address" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/failover-ips/attach:
    post:
      tags:
      - Failover IPs
      operationId: AttachFailoverIPs
      summary: Attach failovers on baremetal server
      description: Attach failovers on the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                server_id:
                  type: integer
                  description: ID of the server.
                  format: uint64
                fips_ids:
                  type: array
                  description: List of ID of failovers IP to attach.
                  items:
                    type: integer
                    format: uint64
              required:
              - fips_ids
              x-properties-order:
              - server_id
              - fips_ids
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"fips_ids":[42],"server_id":42}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/attach"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/attach" \
            X-Auth-Token:$SCW_SECRET_KEY \
            fips_ids:='[42]' \
            server_id:=42
  /dedibox/v1/zones/{zone}/failover-ips/detach:
    post:
      tags:
      - Failover IPs
      operationId: DetachFailoverIPs
      summary: Detach failovers on baremetal server
      description: Detach failovers on the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fips_ids:
                  type: array
                  description: List of IDs of failovers IP to detach.
                  items:
                    type: integer
                    format: uint64
              required:
              - fips_ids
              x-properties-order:
              - fips_ids
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"fips_ids":[42]}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/detach"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/failover-ips/detach" \
            X-Auth-Token:$SCW_SECRET_KEY \
            fips_ids:='[42]'
  /dedibox/v1/zones/{zone}/offers:
    get:
      tags:
      - Offers
      operationId: ListOffers
      summary: List offers
      description: List all available server offers.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of offer per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the offers.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          - price_asc
          - price_desc
          default: created_at_asc
      - in: query
        name: commercial_range
        description: Filter on commercial range.
        schema:
          type: string
      - in: query
        name: catalog
        description: Filter on catalog.
        schema:
          type: string
          enum:
          - all
          - default
          - beta
          - reseller
          - premium
          - volume
          - admin
          - inactive
          default: all
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      - in: query
        name: is_failover_ip
        description: Get the current failover IP offer.
        schema:
          type: boolean
      - in: query
        name: is_failover_block
        description: Get the current failover IP block offer.
        schema:
          type: boolean
      - in: query
        name: sold_in
        description: Filter offers depending on their datacenter.
        schema:
          type: string
      - in: query
        name: available_only
        description: Set this filter to true to only return available offers.
        schema:
          type: boolean
      - in: query
        name: is_rpn_san
        description: Get the RPN SAN offers.
        schema:
          type: boolean
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListOffersResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/offers"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/offers" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/offers/{offer_id}:
    get:
      tags:
      - Offers
      operationId: GetOffer
      summary: Get offer
      description: Return specific offer for the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: offer_id
        description: ID of offer.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Offer'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/offers/{offer_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/offers/{offer_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/ordered-services/{ordered_service_id}:
    get:
      operationId: GetOrderedService
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ordered_service_id
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/ordered-services/{ordered_service_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/ordered-services/{ordered_service_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/os:
    get:
      tags:
      - Operating System
      operationId: ListOS
      summary: List all available OS that can be install on a baremetal server
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of OS per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the OS.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - released_at_asc
          - released_at_desc
          default: created_at_asc
      - in: query
        name: type
        description: Type of the OS.
        schema:
          type: string
          enum:
          - unknown_type
          - server
          - virtu
          - panel
          - desktop
          - custom
          - rescue
          default: unknown_type
      - in: query
        name: server_id
        description: Filter OS by compatible server ID.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListOSResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/os?server_id=42"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/os" \
            X-Auth-Token:$SCW_SECRET_KEY \
            server_id==42
  /dedibox/v1/zones/{zone}/os/{os_id}:
    get:
      tags:
      - Operating System
      operationId: GetOS
      summary: Get an OS with a given ID
      description: Return specific OS for the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: os_id
        description: ID of the OS.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: server_id
        description: ID of the server.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.OS'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/os/{os_id}?server_id=42"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/os/{os_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            server_id==42
  /dedibox/v1/zones/{zone}/remaining-quota:
    get:
      tags:
      - Quotas
      operationId: GetRemainingQuota
      summary: Get remaining quota
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.GetRemainingQuotaResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/remaining-quota"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/remaining-quota" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/reverses/{ip_id}:
    patch:
      tags:
      - Network
      operationId: UpdateReverse
      summary: Update reverse of ip
      description: Update reverse of ip associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: ip_id
        description: ID of the IP.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.IP'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reverse:
                  type: string
                  description: Reverse to apply on the IP.
              x-properties-order:
              - reverse
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PATCH \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"reverse":"string"}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/reverses/{ip_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/dedibox/v1/zones/{zone}/reverses/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            reverse="string"
  /dedibox/v1/zones/{zone}/servers:
    get:
      tags:
      - Servers
      operationId: ListServers
      summary: List baremetal servers for project
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of server per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the servers.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      - in: query
        name: project_id
        description: Filter servers by project ID.
        schema:
          type: string
      - in: query
        name: search
        description: Filter servers by hostname.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListServersResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers?project_id=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            project_id==string
    post:
      tags:
      - Servers
      operationId: CreateServer
      summary: Create a baremetal server
      description: Create a new baremetal server. The order return you a service ID
        to follow the provisionning status you could call GetService.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                offer_id:
                  type: integer
                  description: Offer ID of the new server.
                  format: uint64
                server_option_ids:
                  type: array
                  description: Server option IDs of the new server.
                  items:
                    type: integer
                    format: uint64
                project_id:
                  type: string
                  description: Project ID of the new server.
                datacenter_name:
                  type: string
                  description: Datacenter name of the new server.
                  nullable: true
              required:
              - server_option_ids
              x-properties-order:
              - offer_id
              - server_option_ids
              - project_id
              - datacenter_name
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "offer_id": 42,
              "project_id": "string",
              "server_option_ids": [
                  42
              ]
            }' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            offer_id:=42 \
            project_id="string" \
            server_option_ids:='[
              42
            ]'
  /dedibox/v1/zones/{zone}/servers/{server_id}:
    get:
      tags:
      - Servers
      operationId: GetServer
      summary: Get a specific baremetal server
      description: Get the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Server'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Servers
      operationId: UpdateServer
      summary: Update a baremetal server
      description: Update the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to update.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Server'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                hostname:
                  type: string
                  description: Hostname of the server to update.
                  nullable: true
                enable_ipv6:
                  type: boolean
                  description: Flag to enable or not the IPv6 of server.
                  nullable: true
              x-properties-order:
              - hostname
              - enable_ipv6
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PATCH \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Servers
      operationId: DeleteServer
      summary: Delete a baremetal server
      description: Delete the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to delete.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/backups:
    get:
      operationId: GetServerBackup
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the backup.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Backup'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/backups"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/backups" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      operationId: UpdateServerBackup
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to update backup.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Backup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: Password of the server backup.
                  nullable: true
                autologin:
                  type: boolean
                  description: Autologin of the server backup.
                  nullable: true
                acl_enabled:
                  type: boolean
                  description: Boolean to enable or disable ACL.
                  nullable: true
              x-properties-order:
              - password
              - autologin
              - acl_enabled
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PATCH \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/backups"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/backups" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access:
    get:
      tags:
      - BMC Management
      operationId: GetBMCAccess
      summary: Get BMC (Baseboard Management Controller) access for a given baremetal
        server
      description: Get the BMC (Baseboard Management Controller) access associated
        with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to get BMC access.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.BMCAccess'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - BMC Management
      operationId: StartBMCAccess
      summary: Start BMC (Baseboard Management Controller) access for a given baremetal
        server
      description: |-
        Start BMC (Baseboard Management Controller) access associated with the given ID.
        The BMC (Baseboard Management Controller) access is available one hour after the installation of the server.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to start the BMC access.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ip:
                  type: string
                  description: The IP authorized to connect to the given server. (IPv4
                    address)
                  example: 1.2.3.4
              x-properties-order:
              - ip
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"ip":"1.2.3.4"}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access" \
            X-Auth-Token:$SCW_SECRET_KEY \
            ip="1.2.3.4"
    delete:
      tags:
      - BMC Management
      operationId: StopBMCAccess
      summary: Stop BMC (Baseboard Management Controller) access for a given baremetal
        server
      description: Stop BMC (Baseboard Management Controller) access associated with
        the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to stop BMC access.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/bmc-access" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/cancel-install:
    post:
      tags:
      - Install
      operationId: CancelServerInstall
      summary: Cancels the current (running) server installation
      description: Cancels the current server installation associated with the given
        server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the server to cancel install.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/cancel-install"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/cancel-install" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/disks:
    get:
      tags:
      - Servers
      operationId: ListServerDisks
      summary: List server disks
      description: List disks associated to the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the server disks.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of server disk per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the server disks.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListServerDisksResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/disks"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/disks" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/events:
    get:
      tags:
      - Servers
      operationId: ListServerEvents
      summary: List server events
      description: List events associated to the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the server events.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of server event per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the server events.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListServerEventsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/events"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/events" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/install:
    get:
      tags:
      - Install
      operationId: GetServerInstall
      summary: Get a specific server installation status
      description: Get the server installation status associated with the given server
        ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the server to install.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Install'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/install"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/install" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Install
      operationId: InstallServer
      summary: Install a baremetal server
      description: Install an OS on the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to install.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Server.Install'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                os_id:
                  type: integer
                  description: OS ID to install on the server.
                  format: uint64
                hostname:
                  type: string
                  description: Hostname of the server.
                user_login:
                  type: string
                  description: User to install on the server.
                  nullable: true
                user_password:
                  type: string
                  description: User password to install on the server.
                  nullable: true
                panel_password:
                  type: string
                  description: Panel password to install on the server.
                  nullable: true
                root_password:
                  type: string
                  description: Root password to install on the server.
                  nullable: true
                partitions:
                  type: array
                  description: Partitions to install on the server.
                  items:
                    $ref: '#/components/schemas/scaleway.dedibox.v1.InstallPartition'
                ssh_key_ids:
                  type: array
                  description: SSH key IDs authorized on the server.
                  items:
                    type: string
                license_offer_id:
                  type: integer
                  description: Offer ID of license to install on server.
                  format: uint64
                  nullable: true
                ip_id:
                  type: integer
                  description: IP to link at the license to install on server.
                  format: uint64
                  nullable: true
              x-properties-order:
              - os_id
              - hostname
              - user_login
              - user_password
              - panel_password
              - root_password
              - partitions
              - ssh_key_ids
              - license_offer_id
              - ip_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"hostname":"string","os_id":42}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/install"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/install" \
            X-Auth-Token:$SCW_SECRET_KEY \
            hostname="string" \
            os_id:=42
  /dedibox/v1/zones/{zone}/servers/{server_id}/partitioning/{os_id}:
    get:
      tags:
      - Install
      operationId: GetServerDefaultPartitioning
      summary: Get server default partitioning
      description: Get the server default partitioning schema associated with the
        given server ID and OS ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server.
        required: true
        schema:
          type: integer
          format: uint64
      - in: path
        name: os_id
        description: OS ID of the default partitioning.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ServerDefaultPartitioning'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/partitioning/{os_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/partitioning/{os_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/raid:
    get:
      tags:
      - Raid
      operationId: GetRaid
      summary: Get raid
      description: Return raid for the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Raid'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/raid"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/raid" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/reboot:
    post:
      tags:
      - Servers
      operationId: RebootServer
      summary: Reboot a baremetal server
      description: Reboot the server associated with the given ID, use boot param
        to reboot in rescue.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to reboot.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/reboot"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/reboot" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/rescue:
    get:
      tags:
      - Rescue
      operationId: GetRescue
      summary: Get rescue information
      description: Return rescue information for the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to get rescue.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Rescue'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Rescue
      operationId: StartRescue
      summary: Start in rescue baremetal server
      description: Start in rescue the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to start rescue.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Rescue'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                os_id:
                  type: integer
                  description: OS ID to use to start rescue.
                  format: uint64
              x-properties-order:
              - os_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"os_id":42}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue" \
            X-Auth-Token:$SCW_SECRET_KEY \
            os_id:=42
    delete:
      tags:
      - Rescue
      operationId: StopRescue
      summary: Stop rescue on baremetal server
      description: Stop rescue on the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server to stop rescue.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/rescue" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/start:
    post:
      tags:
      - Servers
      operationId: StartServer
      summary: Start a baremetal server
      description: Start the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to start.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/start"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/start" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/stop:
    post:
      tags:
      - Servers
      operationId: StopServer
      summary: Stop a baremetal server
      description: Stop the server associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to stop.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/stop"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/stop" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/subscribable-server-options:
    get:
      tags:
      - Servers
      operationId: ListSubscribableServerOptions
      summary: List subscribable server options
      description: List subscribable options associated to the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the subscribable server options.
        required: true
        schema:
          type: integer
          format: uint64
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of subscribable server option per page.
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListSubscribableServerOptionsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribable-server-options"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribable-server-options" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-server-option:
    patch:
      tags:
      - Servers
      operationId: SubscribeServerOption
      summary: Subscribe server option
      description: Subscribe option for the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to subscribe server option.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                option_id:
                  type: integer
                  description: Option ID to subscribe.
                  format: uint64
              x-properties-order:
              - option_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PATCH \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"option_id":42}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-server-option"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-server-option" \
            X-Auth-Token:$SCW_SECRET_KEY \
            option_id:=42
  /dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-storage-options:
    post:
      tags:
      - Servers
      operationId: SubscribeStorageOptions
      summary: Subscribe storage server option
      description: Subscribe storage option for the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID of the storage options to subscribe.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.SubscribeStorageOptionsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                options_ids:
                  type: array
                  description: Option IDs of the storage options to subscribe.
                  items:
                    type: integer
                    format: uint64
              required:
              - options_ids
              x-properties-order:
              - options_ids
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"options_ids":[42]}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-storage-options"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/subscribe-storage-options" \
            X-Auth-Token:$SCW_SECRET_KEY \
            options_ids:='[42]'
  /dedibox/v1/zones/{zone}/servers/{server_id}/tags:
    post:
      operationId: UpdateServerTags
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: Server ID to update the tags.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Server'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: array
                  description: Tags of server to update.
                  items:
                    type: string
              x-properties-order:
              - tags
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/tags"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/tags" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/servers/{server_id}/update-raid:
    post:
      tags:
      - Raid
      operationId: UpdateRaid
      summary: Update RAID
      description: Update RAID associated with the given server ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: server_id
        description: ID of the server.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                raid_arrays:
                  type: array
                  description: RAIDs to update.
                  items:
                    $ref: '#/components/schemas/scaleway.dedibox.v1.UpdatableRaidArray'
              required:
              - raid_arrays
              x-properties-order:
              - raid_arrays
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"raid_arrays":[""]}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/update-raid"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/dedibox/v1/zones/{zone}/servers/{server_id}/update-raid" \
            X-Auth-Token:$SCW_SECRET_KEY \
            raid_arrays:='[""]'
  /dedibox/v1/zones/{zone}/services:
    get:
      tags:
      - Services
      operationId: ListServices
      summary: List services
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: query
        name: page
        description: Page number.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page_size
        description: Number of service per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: order_by
        description: Order of the services.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      - in: query
        name: project_id
        description: Project ID.
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.ListServicesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/services"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/dedibox/v1/zones/{zone}/services" \
            X-Auth-Token:$SCW_SECRET_KEY
  /dedibox/v1/zones/{zone}/services/{service_id}:
    patch:
      tags:
      - Services
      operationId: GetService
      summary: Get a specific service
      description: Get the service associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: service_id
        description: ID of the service.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PATCH \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/services/{service_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/dedibox/v1/zones/{zone}/services/{service_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Services
      operationId: DeleteService
      summary: Delete a specific service
      description: Delete the service associated with the given ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
      - in: path
        name: service_id
        description: ID of the service.
        required: true
        schema:
          type: integer
          format: uint64
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.dedibox.v1.Service'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/dedibox/v1/zones/{zone}/services/{service_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/dedibox/v1/zones/{zone}/services/{service_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
