openapi: 3.0.0
info:
  title: Managed Database for PostgreSQL and MySQL API
  description: |-
    Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, with MySQL or PostgreSQL as database engines. The resource allows you to focus on development rather than administration or configuration. It comes with a high-availability mode, data replication, and automatic backups.

    Compared to traditional database management, which requires customers to provide their infrastructure and resources to manage their databases, Managed Database for PostgreSQL and MySQL Instance offers the user access to Database Instances without setting up the hardware or configuring the software. Scaleway handles the provisioning, manages the configuration, and provides useful features as high availability, automated backup, user management, and more.

    (switchcolumn)
    (switchcolumn)

    ## Concepts

    Refer to our [dedicated concepts page](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/concepts/) to find definitions of the different terms referring to Managed Database for PostgreSQL and MySQL.

    (switchcolumn)
    (switchcolumn)

    ## Quickstart

    1. Configure your environment variables.
        <Message type="note">
        This is an optional step that seeks to simplify your usage of the APIs.
        </Message>

        ```bash
        export SCW_ACCESS_KEY="<API access key>"
        export SCW_SECRET_KEY="<API secret key>"
        export SCW_REGION="<Scaleway region>"
        ```
    2. Edit the POST request payload you will use to create your Database Instance. Replace the parameters in the following example:
        ```json
          '{
          "project_id": "d8e65f2b-cce9-40b7-80fc-6a2902db6826",
          "name": "myDB",
          "engine": "PostgreSQL-15",
          "tags": ["donnerstag"],
          "is_ha_cluster": true,
          "node_type": "db-pro2-xxs",
          "disable_backup": false,
          "user_name": "my_initial_user",
          "password": "thiZ_is_v0ry_s3cret",
          "volume_type": "bssd",
          "volume_size": "30000000000"
          }'
        ```

        | Parameter        | Description                                                        |
        | :--------------- | :----------------------------------------------------------------- |
        | `project_id`     | The ID of the Project you want to create your Database Instance in. To find your Project ID you can **[list the projects](/api/account#path-projects-list-all-projects-of-an-organization)** or consult the **[Scaleway console](https://console.scaleway.com/project/settings)**. |
        | `engine`         | **REQUIRED** Version ID of the database engine. To check the list of available engines you can use the folowing endpoint: `https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/database-engines`                                           |
        | `name`           | Name of the Database Instance                                          |
        | `node_type`      | **REQUIRED** The node type. To check the list of available node types you can use the folowing endpoint: `https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/node-types`                             |
        | `is_ha_cluster`  | **BOOLEAN** Defines whether High Availability is enabled for the Database Instance   |
        | `disable_backup` | **BOOLEAN** Defines whether automated backups are disabled for the Database Instance                 |
        | `tags`           | The list of tags `["tag1", "tag2", ...]` that will be associated with the Database Instance. Tags can be appended to the query of the [List Database Instances](#path-database-instances-list-database-instances) call to show results for only the Database Instances using a specific tag. You can also combine tags to list Database Instances that posess all the appended tags. |
        | `user_name`      | **REQUIRED** Identifier of the default user, which is created concurrently with the Database Instance |
        | `password`       | **REQUIRED** Password for the default user |
        | `volume_type`    | Type of volume where data is stored. You can specify either local volume (`lssd`) or block volume (`bssd`). The default value is `lssd` |
        | `volume_size`    | Volume size when volume_type is `bssd`. The value should be expressed in bytes. For example 30GB is expressed as 30000000000 |
    3. Create a Database Instance by running the following command. Make sure you include the payload you edited in the previous step.
        ```bash
        curl -X POST \
          -H "X-Auth-Token: $SCW_SECRET_KEY" \
          "Content-Type: application/json" \
          https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/instances \
          -d '{
            "project_id": "d8e65f2b-cce9-40b7-80fc-6a2902db6826",
            "name": "myDB",
            "engine": "PostgreSQL-15",
            "tags": ["donnerstag"],
            "is_ha_cluster": true,
            "node_type": "db-pro2-xxs",
            "disable_backup": false,
            "user_name": "my_initial_user",
            "password": "thiZ_is_v0ry_s3cret",
            "volume_type": "bssd",
            "volume_size": "30000000000"
          }'
        ```
    4. List your Database Instances.
        ```bash
        curl -X GET \
          -H "Content-Type: application/json" \
          -H "X-Auth-Token: $SCW_SECRET_KEY" https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/instances
        ```

        You should get a response like the following:

        <Message type="note">
        This is a response example, the UUIDs and IP address displayed are not real.
        </Message>

        ```json
        {
              "id": "f5122f66-fb50-4cef-aa02-487ef4fc1af0",
              "name": "myDB",
              "organization_id": "895693aa-3915-4896-8761-c2923b008be7",
              "project_id": "d8e65f2b-cce9-40b7-80fc-6a2902db6826",
              "status": "ready",
              "engine": "PostgreSQL-15",
              "endpoint": {
                "ip": "198.51.100.0",
                "port": 22245,
                "name": null
              },
              "tags": [
                "donnerstag"
              ],
              "settings": [],
              "backup_schedule": {
                "frequency": 24,
                "retention": 7,
                "disabled": true
              },
              "is_ha_cluster": true,
              "read_replicas": [],
              "node_type": "db-pro2-xxs",
              "volume": {
                "type": "bssd",
                "size": 30000000000
              }
              "created_at": "2019-04-19T16:24:52.591417Z",
              "region": "fr-par"
        }
        ```
    5. Retrieve your Database Instance IP and port from the response.
        <Message type="note">
        In the example above, the IP and port are `198.51.100.0` and `22245`, respectively.
        </Message>
    6. Connect to your Database Instance with the database client of the engine you selected.
        For MySQL, run the following command:
        ```bash
        mysql -h <ip-address> --port <port> -p -u <user_name>
        ```

        For PostgreSQL, run:
        ```bash
        psql -h <ip-address> -p <port> -U <username> -d rdb
        ```

        For the recurring example, the command would look like:

        ```bash
        psql -h 198.51.100.0 -p 22245 -U my_initial_user -d rdb
        ```
    7. Enter the database password that you defined upon creation.

    You are now connected to your Managed Database.

    (switchcolumn)
    <Message type="requirement">
    To perform the following steps, you must first ensure that:
      - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization)
      - you have created an [API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/) to perform the actions described on this page.
      - you have [installed `curl`](https://curl.se/download.html)
    </Message>
    (switchcolumn)

    ## Technical Information

    ### Regions

    Scaleway's infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/console/my-account/reference-content/products-availability/).

    Managed Database for PostgreSQL and MySQL is available in the Paris, Amsterdam and Warsaw regions, which are represented by the following path parameters:

    - `fr-par`
    - `nl-ams`
    - `pl-waw`

    ### PostgreSQL specifications

    #### Versions

    Scaleway Database for PostgreSQL supports PostgreSQL versions 11, 12, 13, 14 and 15.

    #### System

    Different modules are available for installation, including TimescaleDB and PostGIS. Refer to the [Managed Database for PostgreSQL and MySQL FAQ page](https://www.scaleway.com/en/docs/faq/databases-for-postgresql-and-mysql/#which-postgresql-extensions-are-available) for an extensive list of PostgreSQL extensions.

    #### Database Management

    You can create logical databases through the Scaleway console, the Scaleway APIs or SQL.

    - databases created using the Scaleway console or the API are owned by an internal system user. These are called "managed databases".
    - databases created using SQL will be owned by the creator. These are called "unmanaged databases".

    ### MySQL specifications

    #### Versions

    Scaleway Database for MySQL supports MySQL 8.

    #### System

    - only the [InnoDB engine](https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html) is supported
    - the [Global Transaction Identifier (GTID)](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-concepts.html) is enabled.
    - [`mysql_native_password`](https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html) (default) and [`caching_sha2_password`](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html) authentication are supported.

    #### User Management

    - users with an `admin` role have access to all logical databases and can create new ones.
    - users created via the API are authenticated using the default authentication plugin, which can be changed in the settings.

    ## Technical Limitations

    ### PostgreSQL

    #### User Management

    - users with an `admin` role have `CREATEROLE` and `CREATEDB` privileges.
    - users do NOT have `SUPERUSER` nor `REPLICATION` privileges.
    - permission management through the Scaleway console or API is only possible for the "managed databases".

    #### Backup and restoration

    Databases that have been backed up and then restored retain the user permission settings in use at the time of backup. If you delete users after backup and then restore your backup in the same database, or if you restore a backup to a different database with different or no users, the permissions configured for them continue to exist, but with no associated owner. This error will put a stop to the restoration process.

    To avoid this issue, we recommmend you re-create the users you deleted. In the occasion you restore the backup to a new database, you must create new users with the same names.

    ## Going Further

    For more information about Managed Database for PostgreSQL and MySQL, you can check out the following pages:

    * [Managed Database for PostgreSQL and MySQL Documentation](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/)
    * [Managed Database for PostgreSQL and MySQL FAQ](https://www.scaleway.com/en/docs/faq/databases-for-postgresql-and-mysql/)
    * [Scaleway Slack Community](https://scaleway-community.slack.com/) join the #database channel
    * [Contact our support team](https://console.scaleway.com/support/tickets)

    ### How to migrate a database

    If you wish to migrate existing databases to a Managed Database for PostgreSQL or MySQL, you can refer to the [Migrating existing databases to a Database Instance](https://www.scaleway.com/en/docs/tutorials/migrate-databases-instance/) tutorial page.

    ### Troubleshoooting

    #### Disk full status

    If your Database Instance uses local storage, your local volume might eventually approach full capacity and shift to `disk_full` mode. This mode grants you enough space to either [upgrade your node type](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/how-to/upgrade-a-database/#how-to-change-the-node-type) or [clear out space in your volume](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/troubleshooting/disk-full/).
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Backups
  description: |
    A database backup is a dated export of a Database Instance stored on an offsite backend located in a different region than your database, by default. Once a backup is created, it can be used to restore the database. Each logical database in a Database Instance is backed up and can be restored separately.
- name: Engines
  description: |
    A database engine is the software component that stores and retrieves your data from a database. Currently PostgreSQL 11, 12, 13 and 14 are available. MySQL is available in version 8.
- name: Database Instances
  description: |
    A Database Instance is made up of one or multiple dedicated compute nodes running a single database engine. Two node settings are available: **High-Availability (HA)**, with a main node and one replica, and **standalone** with a main node. The HA standby node is linked to the main node, using synchronous replication. Synchronous replication offers the ability to confirm that all changes intended by a transaction have been transferred and applied to the synchronous replica node, providing durability to the data.

    **Note**: HA standby nodes are not accessible to users unless the main node becomes unavailable and the standby takes over. If you wish to run queries on a read-only node, you can use [Read Replicas](#path-read-replicas-create-a-read-replica)

    Read Replicas can be used for certain read-only workflows such as Business Intelligence, or for a read-only scaling of your application. Read Replicas use asynchronous replication to replicate data from the main node.
- name: Read Replicas
  description: |
    A Read Replica is a live copy of a Database Instance that behaves like an Instance, but that only allows read-only connections.
    The replica mirrors the data of the primary Database node and any changes made are replicated to the replica asynchronously. Read Replicas allow you to scale your Database Instance for read-heavy database workloads. They can also be used for business intelligence workloads.

    A Read Replica can have at most one direct access and one Private Network endpoint. `Loadbalancer` endpoints are not available on Read Replicas even if this resource is displayed in the Read Replica response example.

    If you want to remove a Read Replica endpoint, you can use [delete a Database Instance endpoint](#path-endpoints-delete-a-database-instance-endpoint) API call.

    Instance Access Control Lists (ACL) also apply to Read Replica direct access endpoints.

    **Limitations:**
    There might be replication lags between the primary node and its Read Replica nodes. You can try to reduce this lag with some good practices:
    * All your tables should have a primary key
    * Don't run large transactions that modify, delete or insert lots of rows. Try to split it into several small transactions.
- name: ACLs
  description: |
    Network Access Control Lists allow you to control incoming network traffic by setting up ACL rules.
- name: Instance Settings
  description: |
    Advanced Database Instance settings allow you to tune the behavior of your database engines to better fit your needs.

    Available settings depend on the database engine and its version. Note that some settings can only be defined upon database engine initialization. These are called init settings. You can find a full list of the settings available in the response body of the [list available database engines](#path-databases-list-databases-in-a-database-instance) endpoint.

    Each advanced setting entry has a default value that users can override. The deletion of a setting entry will restore the setting to default value. Some of the defaults values can be different from the engine's defaults, as we optimize them to the Scaleway platform.
- name: Privileges
  description: |
    Privileges are permissions that can be granted to database users. You can manage user permissions either via the console, the Scaleway APIs or SQL. Managed Database for PostgreSQL and MySQL provides a simplified and unified permission model through the API and the console to make things easier to manage and understand.

    Each user has associated permissions that give them access to zero or more logical databases. These include:

    * **None:** No access to the database
    * **Read:** Allow users to read tables and fields in a database
    * **Write:** Allow users to write content in databases.
    * **Admin:** Read and write access to the data, and extended privileges depending on the database engine.
- name: Users
  description: |
    Users are profiles to which you can attribute database-level permissions. They allow you to define permissions specific to each type of database usage. For example, users with an `admin` role can create new databases and users.
- name: Databases
  description: |
    Databases can be used to store and manage sets of structured information, or data. The interaction between the user and a database is done using a Database Engine, which provides a structured query language to add, modify or delete information from the database.
- name: NodeTypes
  description: |
    Two node type ranges are available:

    * **General Purpose:** production-grade nodes designed for scalable database infrastructures.
    * **Development:** sandbox environments and reliable performance for development and testing purposes.
- name: Snapshots
  description: |
    A snapshot is a consistent, instantaneous copy of the Block Storage volume of your Database Instance at a certain point in time. They are designed to recover your data in case of failure or accidental alterations of the data by a user. They allow you to quickly create a new Instance from a previous state of your database, regardless of the size of the volume. Their limitation is that, unlike backups, snapshots can only be stored in the same location as the original data.
- name: Endpoints
  description: |
    A point of connection to a Database Instance. The endpoint is associated with an IPv4 address and a port. It contains the information about whether the endpoint is read-write or not. The endpoints always point to the main node of a Database Instance.

    All endpoints have TLS enabled. You can use TLS to make your data and your passwords unreadable in transit to anyone but you.

    For added security, you can set up ACL rules to restrict access to your endpoint to a set of trusted hosts or networks of your choice.

    Load Balancers are used to forward traffic to the right node based on the node state (active/hot standby). The Load Balancers' configuration is set to cut off inactive connections if no TCP traffic is sent within a 6-hour timeframe. We recommend using connection pooling on the application side to renew database connections regularly.
components:
  schemas:
    google.protobuf.Int32Value:
      type: integer
      format: int32
      nullable: true
    scaleway.rdb.v1.ACLRule:
      type: object
      properties:
        ip:
          type: string
          description: (IP network)
          example: 1.2.3.4/32
        port:
          type: integer
          deprecated: true
          format: uint32
        protocol:
          $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule.Protocol'
        direction:
          $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule.Direction'
        action:
          $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule.Action'
        description:
          type: string
      x-properties-order:
      - ip
      - port
      - protocol
      - direction
      - action
      - description
    scaleway.rdb.v1.ACLRule.Action:
      type: string
      enum:
      - allow
      - deny
      default: allow
    scaleway.rdb.v1.ACLRule.Direction:
      type: string
      enum:
      - inbound
      - outbound
      default: inbound
    scaleway.rdb.v1.ACLRule.Protocol:
      type: string
      enum:
      - tcp
      - udp
      - icmp
      default: tcp
    scaleway.rdb.v1.ACLRuleRequest:
      type: object
      properties:
        ip:
          type: string
          description: (IP network)
          example: 1.2.3.4/32
        description:
          type: string
      x-properties-order:
      - ip
      - description
    scaleway.rdb.v1.AddInstanceACLRulesResponse:
      type: object
      properties:
        rules:
          type: array
          description: ACL Rules enabled for the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule'
      x-properties-order:
      - rules
    scaleway.rdb.v1.AddInstanceSettingsResponse:
      type: object
      properties:
        settings:
          type: array
          description: Settings available on the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
      x-properties-order:
      - settings
    scaleway.rdb.v1.Database:
      type: object
      properties:
        name:
          type: string
          description: Name of the database.
        owner:
          type: string
          description: Name of the database owner.
        managed:
          type: boolean
          description: Defines whether the database is managed or not.
        size:
          type: integer
          description: Size of the database. (in bytes)
          format: uint64
      x-properties-order:
      - name
      - owner
      - managed
      - size
    scaleway.rdb.v1.DatabaseBackup:
      type: object
      properties:
        id:
          type: string
          description: UUID of the database backup.
        instance_id:
          type: string
          description: UUID of the Database Instance.
        database_name:
          type: string
          description: Name of backed up database.
        name:
          type: string
          description: Name of the backup.
        status:
          type: string
          description: Status of the backup.
          enum:
          - unknown
          - creating
          - ready
          - restoring
          - deleting
          - error
          - exporting
          - locked
          default: unknown
        size:
          type: integer
          description: Size of the database backup. (in bytes)
          format: uint64
          nullable: true
        expires_at:
          type: string
          description: Expiration date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        created_at:
          type: string
          description: Creation date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Updated date (must follow the ISO 8601 format). (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        instance_name:
          type: string
          description: Name of the Database Instance of the backup.
        download_url:
          type: string
          description: URL you can download the backup from.
          nullable: true
        download_url_expires_at:
          type: string
          description: Expiration date of the download link. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        region:
          type: string
          description: Region of the database backup.
        same_region:
          type: boolean
          description: Store logical backups in the same region as the source Database
            Instance.
      x-properties-order:
      - id
      - instance_id
      - database_name
      - name
      - status
      - size
      - expires_at
      - created_at
      - updated_at
      - instance_name
      - download_url
      - download_url_expires_at
      - region
      - same_region
    scaleway.rdb.v1.DatabaseEngine:
      type: object
      properties:
        name:
          type: string
          description: Engine name.
        logo_url:
          type: string
          description: Engine logo URL.
        versions:
          type: array
          description: Available versions.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.EngineVersion'
        region:
          type: string
          description: Region of this Database Instance.
      x-properties-order:
      - name
      - logo_url
      - versions
      - region
    scaleway.rdb.v1.DeleteInstanceACLRulesResponse:
      type: object
      properties:
        rules:
          type: array
          description: IP addresses defined in the ACL rules of the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule'
      x-properties-order:
      - rules
    scaleway.rdb.v1.DeleteInstanceSettingsResponse:
      type: object
      properties:
        settings:
          type: array
          description: Settings names to delete from the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
      x-properties-order:
      - settings
    scaleway.rdb.v1.Endpoint:
      type: object
      properties:
        id:
          type: string
          description: UUID of the endpoint. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        ip:
          type: string
          description: IPv4 address of the endpoint. (IP address)
          example: 1.2.3.4
          nullable: true
          x-one-of: address
        port:
          type: integer
          description: TCP port of the endpoint.
          format: uint32
        name:
          type: string
          description: Name of the endpoint.
          nullable: true
        private_network:
          type: object
          description: Private Network details. One maximum per Database Instance
            or Read Replica (a Database Instance and its Read Replica can have different
            Private Networks). Cannot be updated (has to be deleted and recreated).
          properties:
            private_network_id:
              type: string
              description: UUID of the private network. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            service_ip:
              type: string
              description: CIDR notation of the endpoint IPv4 address. (IP network)
              example: 1.2.3.4/32
            zone:
              type: string
              description: Private network zone.
            provisioning_mode:
              type: string
              description: How endpoint ips are provisioned.
              enum:
              - static
              - ipam
              default: static
          nullable: true
          x-properties-order:
          - private_network_id
          - service_ip
          - zone
          - provisioning_mode
          x-one-of: details
        load_balancer:
          type: object
          description: Load balancer details. Public endpoint for Database Instance
            which is systematically present. One per Database Instance.
          nullable: true
          x-one-of: details
        direct_access:
          type: object
          description: Direct access details. Public endpoint reserved for Read Replicas.
            One per Read Replica.
          nullable: true
          x-one-of: details
        hostname:
          type: string
          description: Hostname of the endpoint.
          nullable: true
          x-one-of: address
      x-properties-order:
      - id
      - ip
      - port
      - name
      - private_network
      - load_balancer
      - direct_access
      - hostname
    scaleway.rdb.v1.EndpointSpec:
      type: object
      properties:
        load_balancer:
          type: object
          description: Load balancer endpoint specifications. Public endpoint for
            Database Instance which is systematically present. One per RDB instance.
          nullable: true
          x-one-of: spec
        private_network:
          type: object
          description: Private Network endpoint specifications. One maximum per Database
            Instance or Read Replica (a Database Instance and its Read Replica can
            have different Private Networks). Cannot be updated (has to be deleted
            and recreated).
          properties:
            private_network_id:
              type: string
              description: UUID of the Private Network to be connected to the Database
                Instance. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            service_ip:
              type: string
              description: Endpoint IPv4 address with a CIDR notation. Refer to the
                official Scaleway documentation to learn more about IP and subnet
                limitations. (IP network)
              example: 1.2.3.4/32
              nullable: true
              x-one-of: config
            ipam_config:
              type: object
              description: Automated configuration of your Private Network endpoint
                with Scaleway IPAM service. One at the most per Database Instance
                or Read Replica (a Database Instance and its Read Replica can have
                different Private Networks). Cannot be updated (has to be deleted
                and recreated).
              nullable: true
              x-one-of: config
          nullable: true
          x-properties-order:
          - private_network_id
          - service_ip
          - ipam_config
          x-one-of: spec
      x-properties-order:
      - load_balancer
      - private_network
    scaleway.rdb.v1.EngineSetting:
      type: object
      properties:
        name:
          type: string
          description: Setting name from the database engine.
        default_value:
          type: string
          description: Value set when not specified.
        hot_configurable:
          type: boolean
          description: Setting can be applied without restarting.
        description:
          type: string
          description: Setting description.
        property_type:
          type: string
          description: Setting type.
          enum:
          - BOOLEAN
          - INT
          - STRING
          - FLOAT
          default: BOOLEAN
        unit:
          type: string
          description: Setting base unit.
          nullable: true
        string_constraint:
          type: string
          description: Validation regex for string type settings.
          nullable: true
        int_min:
          type: integer
          description: Minimum value for int types.
          format: int32
          nullable: true
        int_max:
          type: integer
          description: Maximum value for int types.
          format: int32
          nullable: true
        float_min:
          type: object
          description: Minimum value for float types.
          properties:
            value:
              type: number
              format: float
          x-properties-order:
          - value
        float_max:
          type: object
          description: Maximum value for float types.
          properties:
            value:
              type: number
              format: float
          x-properties-order:
          - value
      x-properties-order:
      - name
      - default_value
      - hot_configurable
      - description
      - property_type
      - unit
      - string_constraint
      - int_min
      - int_max
      - float_min
      - float_max
    scaleway.rdb.v1.EngineVersion:
      type: object
      properties:
        version:
          type: string
          description: Database engine version.
        name:
          type: string
          description: Database engine name.
        end_of_life:
          type: string
          description: End of life date. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        available_settings:
          type: array
          description: Engine settings available to be set.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.EngineSetting'
        disabled:
          type: boolean
          description: Disabled versions cannot be created.
        beta:
          type: boolean
          description: Beta status of engine version.
        available_init_settings:
          type: array
          description: Engine settings available to be set at database initialization.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.EngineSetting'
      x-properties-order:
      - version
      - name
      - end_of_life
      - available_settings
      - disabled
      - beta
      - available_init_settings
    scaleway.rdb.v1.Instance:
      type: object
      properties:
        created_at:
          type: string
          description: Creation date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        volume:
          type: object
          description: Volumes of the Database Instance.
          properties:
            type:
              $ref: '#/components/schemas/scaleway.rdb.v1.Volume.Type'
            size:
              type: integer
              description: (in bytes)
              format: uint64
            class:
              $ref: '#/components/schemas/scaleway.rdb.v1.StorageClass'
          x-properties-order:
          - type
          - size
          - class
        region:
          type: string
          description: Region the Database Instance is in.
        id:
          type: string
          description: UUID of the Database Instance. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        name:
          type: string
          description: Name of the Database Instance.
        organization_id:
          type: string
          description: Organization ID the Database Instance belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        project_id:
          type: string
          description: Project ID the Database Instance belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        status:
          type: string
          description: Status of the Database Instance.
          enum:
          - unknown
          - ready
          - provisioning
          - configuring
          - deleting
          - error
          - autohealing
          - locked
          - initializing
          - disk_full
          - backuping
          - snapshotting
          - restarting
          default: unknown
        engine:
          type: string
          description: Database engine of the database (PostgreSQL, MySQL, ...).
        upgradable_version:
          type: array
          description: Available database engine versions for upgrade.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.UpgradableVersion'
        endpoint:
          type: object
          description: Endpoint of the Database Instance.
          deprecated: true
          properties:
            id:
              type: string
              description: UUID of the endpoint. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            ip:
              type: string
              description: IPv4 address of the endpoint. (IP address)
              example: 1.2.3.4
              nullable: true
              x-one-of: address
            port:
              type: integer
              description: TCP port of the endpoint.
              format: uint32
            name:
              type: string
              description: Name of the endpoint.
              nullable: true
            private_network:
              type: object
              description: Private Network details. One maximum per Database Instance
                or Read Replica (a Database Instance and its Read Replica can have
                different Private Networks). Cannot be updated (has to be deleted
                and recreated).
              properties:
                private_network_id:
                  type: string
                  description: UUID of the private network. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                service_ip:
                  type: string
                  description: CIDR notation of the endpoint IPv4 address. (IP network)
                  example: 1.2.3.4/32
                zone:
                  type: string
                  description: Private network zone.
                provisioning_mode:
                  type: string
                  description: How endpoint ips are provisioned.
                  enum:
                  - static
                  - ipam
                  default: static
              nullable: true
              x-properties-order:
              - private_network_id
              - service_ip
              - zone
              - provisioning_mode
              x-one-of: details
            load_balancer:
              type: object
              description: Load balancer details. Public endpoint for Database Instance
                which is systematically present. One per Database Instance.
              nullable: true
              x-one-of: details
            direct_access:
              type: object
              description: Direct access details. Public endpoint reserved for Read
                Replicas. One per Read Replica.
              nullable: true
              x-one-of: details
            hostname:
              type: string
              description: Hostname of the endpoint.
              nullable: true
              x-one-of: address
          x-properties-order:
          - id
          - ip
          - port
          - name
          - private_network
          - load_balancer
          - direct_access
          - hostname
        tags:
          type: array
          description: List of tags applied to the Database Instance.
          items:
            type: string
        settings:
          type: array
          description: Advanced settings of the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
        backup_schedule:
          type: object
          description: Backup schedule of the Database Instance.
          properties:
            frequency:
              type: integer
              description: Frequency of the backup schedule (in hours).
              format: uint32
            retention:
              type: integer
              description: Default retention period of backups (in days).
              format: uint32
            disabled:
              type: boolean
              description: Defines whether the backup schedule feature is disabled.
            next_run_at:
              type: string
              description: Next run of the backup schedule (accurate to 10 minutes).
                (RFC 3339 format)
              format: date-time
              example: "2022-03-22T12:34:56.123456Z"
              nullable: true
          x-properties-order:
          - frequency
          - retention
          - disabled
          - next_run_at
        is_ha_cluster:
          type: boolean
          description: Defines whether or not High-Availability is enabled.
        read_replicas:
          type: array
          description: Read Replicas of the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
        node_type:
          type: string
          description: Node type of the Database Instance.
        init_settings:
          type: array
          description: List of engine settings to be set at database initialization.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
        endpoints:
          type: array
          description: List of Database Instance endpoints.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Endpoint'
        logs_policy:
          type: object
          description: Logs policy of the Database Instance.
          properties:
            max_age_retention:
              type: integer
              description: Max age (in days) of remote logs to keep on the Database
                Instance.
              format: uint32
              nullable: true
            total_disk_retention:
              type: integer
              description: Max disk size of remote logs to keep on the Database Instance.
                (in bytes)
              format: uint64
              nullable: true
          x-properties-order:
          - max_age_retention
          - total_disk_retention
        backup_same_region:
          type: boolean
          description: Store logical backups in the same region as the Database Instance.
        maintenances:
          type: array
          description: List of Database Instance maintenance events.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Maintenance'
        encryption:
          type: object
          description: Encryption at rest settings for your Database Instance.
          properties:
            enabled:
              type: boolean
          x-properties-order:
          - enabled
      x-properties-order:
      - created_at
      - volume
      - region
      - id
      - name
      - organization_id
      - project_id
      - status
      - engine
      - upgradable_version
      - endpoint
      - tags
      - settings
      - backup_schedule
      - is_ha_cluster
      - read_replicas
      - node_type
      - init_settings
      - endpoints
      - logs_policy
      - backup_same_region
      - maintenances
      - encryption
    scaleway.rdb.v1.InstanceLog:
      type: object
      properties:
        download_url:
          type: string
          description: Presigned S3 URL to download your log file.
          nullable: true
        id:
          type: string
          description: UUID of the Database Instance log.
        status:
          type: string
          description: Status of the logs in a Database Instance.
          enum:
          - unknown
          - ready
          - creating
          - error
          default: unknown
        node_name:
          type: string
          description: Name of the underlying node.
        expires_at:
          type: string
          description: Expiration date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        created_at:
          type: string
          description: Creation date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        region:
          type: string
          description: Region the Database Instance is in.
      x-properties-order:
      - download_url
      - id
      - status
      - node_name
      - expires_at
      - created_at
      - region
    scaleway.rdb.v1.InstanceMetrics:
      type: object
      properties:
        timeseries:
          type: array
          description: Time series of metrics of a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.std.TimeSeries'
      x-properties-order:
      - timeseries
    scaleway.rdb.v1.InstanceSetting:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
      x-properties-order:
      - name
      - value
    scaleway.rdb.v1.ListDatabaseBackupsResponse:
      type: object
      properties:
        database_backups:
          type: array
          description: List of database backups.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
        total_count:
          type: integer
          description: Total count of database backups available.
          format: uint32
      x-properties-order:
      - database_backups
      - total_count
    scaleway.rdb.v1.ListDatabaseEnginesResponse:
      type: object
      properties:
        engines:
          type: array
          description: List of the available database engines.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseEngine'
        total_count:
          type: integer
          description: Total count of database engines available.
          format: uint32
      x-properties-order:
      - engines
      - total_count
    scaleway.rdb.v1.ListDatabasesResponse:
      type: object
      properties:
        databases:
          type: array
          description: List of the databases.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Database'
        total_count:
          type: integer
          description: Total count of databases present on a Database Instance.
          format: uint32
      x-properties-order:
      - databases
      - total_count
    scaleway.rdb.v1.ListInstanceACLRulesResponse:
      type: object
      properties:
        rules:
          type: array
          description: List of ACL rules present on a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule'
        total_count:
          type: integer
          description: Total count of ACL rules present on a Database Instance.
          format: uint32
      x-properties-order:
      - rules
      - total_count
    scaleway.rdb.v1.ListInstanceLogsDetailsResponse:
      type: object
      properties:
        details:
          type: array
          description: Remote Database Instance logs details.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ListInstanceLogsDetailsResponse.InstanceLogDetail'
      x-properties-order:
      - details
    scaleway.rdb.v1.ListInstanceLogsDetailsResponse.InstanceLogDetail:
      type: object
      properties:
        log_name:
          type: string
        size:
          type: integer
          format: uint64
      x-properties-order:
      - log_name
      - size
    scaleway.rdb.v1.ListInstanceLogsResponse:
      type: object
      properties:
        instance_logs:
          type: array
          description: Available logs in a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceLog'
      x-properties-order:
      - instance_logs
    scaleway.rdb.v1.ListInstancesResponse:
      type: object
      properties:
        instances:
          type: array
          description: List of all Database Instances available in an Organization
            or Project.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
        total_count:
          type: integer
          description: Total count of Database Instances available in a Organization
            or Project.
          format: uint32
      x-properties-order:
      - instances
      - total_count
    scaleway.rdb.v1.ListNodeTypesResponse:
      type: object
      properties:
        node_types:
          type: array
          description: Types of the node.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.NodeType'
        total_count:
          type: integer
          description: Total count of node-types available.
          format: uint32
      x-properties-order:
      - node_types
      - total_count
    scaleway.rdb.v1.ListPrivilegesResponse:
      type: object
      properties:
        privileges:
          type: array
          description: Privileges of a user in a database in a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Privilege'
        total_count:
          type: integer
          description: Total count of privileges present on a database.
          format: uint32
      x-properties-order:
      - privileges
      - total_count
    scaleway.rdb.v1.ListSnapshotsResponse:
      type: object
      properties:
        snapshots:
          type: array
          description: List of snapshots.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Snapshot'
        total_count:
          type: integer
          description: Total count of snapshots available.
          format: uint32
      x-properties-order:
      - snapshots
      - total_count
    scaleway.rdb.v1.ListUsersResponse:
      type: object
      properties:
        users:
          type: array
          description: List of users in a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.User'
        total_count:
          type: integer
          description: Total count of users present on a Database Instance.
          format: uint32
      x-properties-order:
      - users
      - total_count
    scaleway.rdb.v1.Maintenance:
      type: object
      properties:
        starts_at:
          type: string
          description: Start date of the maintenance window. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        stops_at:
          type: string
          description: End date of the maintenance window. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        closed_at:
          type: string
          description: Closed maintenance date. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        reason:
          type: string
          description: Maintenance information message.
        status:
          type: string
          description: Status of the maintenance.
          enum:
          - unknown
          - pending
          - done
          - canceled
          - ongoing
          default: unknown
        forced_at:
          type: string
          description: Time when Scaleway-side maintenance will be applied. (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
      x-properties-order:
      - starts_at
      - stops_at
      - closed_at
      - reason
      - status
      - forced_at
    scaleway.rdb.v1.NodeType:
      type: object
      properties:
        name:
          type: string
          description: Node Type name identifier.
        stock_status:
          type: string
          description: Current stock status for the Node Type.
          enum:
          - unknown
          - low_stock
          - out_of_stock
          - available
          default: unknown
        description:
          type: string
          description: Current specs of the offer.
        vcpus:
          type: integer
          description: Number of virtual CPUs.
          format: uint32
        memory:
          type: integer
          description: Quantity of RAM. (in bytes)
          format: uint64
        volume_constraint:
          type: object
          description: '[deprecated] Node Type volume constraints.'
          deprecated: true
          properties:
            min_size:
              type: integer
              description: '[deprecated] Mimimum size required for the Volume. (in
                bytes)'
              format: uint64
            max_size:
              type: integer
              description: '[deprecated] Maximum size required for the Volume. (in
                bytes)'
              format: uint64
          x-properties-order:
          - min_size
          - max_size
        is_bssd_compatible:
          type: boolean
          description: The Node Type is compliant with Block Storage.
          deprecated: true
        disabled:
          type: boolean
          description: The Node Type is currently disabled.
        beta:
          type: boolean
          description: The Node Type is currently in beta.
        available_volume_types:
          type: array
          description: Available storage options for the Node Type.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.NodeType.VolumeType'
        is_ha_required:
          type: boolean
          description: The Node Type can be used only with high availability option.
        generation:
          type: string
          description: Generation associated with the NodeType offer.
          enum:
          - unknown_generation
          - generation_v1
          - generation_v2
          default: unknown_generation
        instance_range:
          type: string
          description: Instance range associated with the NodeType offer.
        region:
          type: string
          description: Region the Node Type is in.
      x-properties-order:
      - name
      - stock_status
      - description
      - vcpus
      - memory
      - volume_constraint
      - is_bssd_compatible
      - disabled
      - beta
      - available_volume_types
      - is_ha_required
      - generation
      - instance_range
      - region
    scaleway.rdb.v1.NodeType.VolumeType:
      type: object
      properties:
        type:
          type: string
          description: Volume Type.
          enum:
          - lssd
          - bssd
          - sbs_5k
          - sbs_15k
          default: lssd
        description:
          type: string
          description: The description of the Volume.
        min_size:
          type: integer
          description: Mimimum size required for the Volume. (in bytes)
          format: uint64
        max_size:
          type: integer
          description: Maximum size required for the Volume. (in bytes)
          format: uint64
        chunk_size:
          type: integer
          description: Minimum increment level for a Block Storage volume size. (in
            bytes)
          format: uint64
        class:
          type: string
          description: The storage class of the volume.
          enum:
          - unknown_storage_class
          - lssd
          - bssd
          - sbs
          default: unknown_storage_class
      x-properties-order:
      - type
      - description
      - min_size
      - max_size
      - chunk_size
      - class
    scaleway.rdb.v1.PrepareInstanceLogsResponse:
      type: object
      properties:
        instance_logs:
          type: array
          description: Instance logs for a Database Instance between a start and an
            end date.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceLog'
      x-properties-order:
      - instance_logs
    scaleway.rdb.v1.Privilege:
      type: object
      properties:
        permission:
          type: string
          description: Permission (Read, Read/Write, All, Custom).
          enum:
          - readonly
          - readwrite
          - all
          - custom
          - none
          default: readonly
        database_name:
          type: string
          description: Name of the database.
        user_name:
          type: string
          description: Name of the user.
      x-properties-order:
      - permission
      - database_name
      - user_name
    scaleway.rdb.v1.ReadReplica:
      type: object
      properties:
        id:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        endpoints:
          type: array
          description: Display Read Replica connection information.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.Endpoint'
        status:
          type: string
          description: Read replica status.
          enum:
          - unknown
          - provisioning
          - initializing
          - ready
          - deleting
          - error
          - locked
          - configuring
          - promoting
          default: unknown
        region:
          type: string
          description: Region the Read Replica is in.
        same_zone:
          type: boolean
          description: Whether the replica is in the same availability zone as the
            main instance nodes or not.
        instance_id:
          type: string
          description: UUID of the Database Instance.
      x-properties-order:
      - id
      - endpoints
      - status
      - region
      - same_zone
      - instance_id
    scaleway.rdb.v1.ReadReplicaEndpointSpec:
      type: object
      properties:
        direct_access:
          type: object
          description: Direct access endpoint specifications. Public endpoint reserved
            for Read Replicas. One per Read Replica.
          nullable: true
          x-one-of: spec
        private_network:
          type: object
          description: Private Network endpoint specifications. One at the most per
            Read Replica. Cannot be updated (has to be deleted and recreated).
          properties:
            private_network_id:
              type: string
              description: UUID of the Private Network to be connected to the Read
                Replica. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            service_ip:
              type: string
              description: Endpoint IPv4 address with a CIDR notation. Refer to the
                official Scaleway documentation to learn more about IP and subnet
                limitations. (IP network)
              example: 1.2.3.4/32
              nullable: true
              x-one-of: config
            ipam_config:
              type: object
              description: Automated configuration of your Private Network endpoint
                with Scaleway IPAM service. One at the most per Database Instance
                or Read Replica (a Database Instance and its Read Replica can have
                different private networks). Cannot be updated (has to be deleted
                and recreated).
              nullable: true
              x-one-of: config
          nullable: true
          x-properties-order:
          - private_network_id
          - service_ip
          - ipam_config
          x-one-of: spec
      x-properties-order:
      - direct_access
      - private_network
    scaleway.rdb.v1.SetInstanceACLRulesResponse:
      type: object
      properties:
        rules:
          type: array
          description: ACLs rules configured for a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.ACLRule'
      x-properties-order:
      - rules
    scaleway.rdb.v1.SetInstanceSettingsResponse:
      type: object
      properties:
        settings:
          type: array
          description: Settings configured for a Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
      x-properties-order:
      - settings
    scaleway.rdb.v1.Snapshot:
      type: object
      properties:
        id:
          type: string
          description: UUID of the snapshot.
        instance_id:
          type: string
          description: UUID of the Database Instance.
        name:
          type: string
          description: Name of the snapshot.
        status:
          type: string
          description: Status of the snapshot.
          enum:
          - unknown
          - creating
          - ready
          - restoring
          - deleting
          - error
          - locked
          default: unknown
        size:
          type: integer
          description: Size of the snapshot. (in bytes)
          format: uint64
          nullable: true
        expires_at:
          type: string
          description: Expiration date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        created_at:
          type: string
          description: Creation date (must follow the ISO 8601 format). (RFC 3339
            format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Updated date (must follow the ISO 8601 format). (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        instance_name:
          type: string
          description: Name of the Database Instance of the snapshot.
        node_type:
          type: string
          description: Source node type.
        volume_type:
          type: object
          description: Type of volume where data is stored (lssd, bssd or sbs).
          properties:
            type:
              $ref: '#/components/schemas/scaleway.rdb.v1.Volume.Type'
            class:
              $ref: '#/components/schemas/scaleway.rdb.v1.StorageClass'
          x-properties-order:
          - type
          - class
        region:
          type: string
          description: Region of this snapshot.
      x-properties-order:
      - id
      - instance_id
      - name
      - status
      - size
      - expires_at
      - created_at
      - updated_at
      - instance_name
      - node_type
      - volume_type
      - region
    scaleway.rdb.v1.StorageClass:
      type: string
      enum:
      - unknown_storage_class
      - lssd
      - bssd
      - sbs
      default: unknown_storage_class
    scaleway.rdb.v1.UpgradableVersion:
      type: object
      properties:
        id:
          type: string
          description: (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        name:
          type: string
        version:
          type: string
        minor_version:
          type: string
      x-properties-order:
      - id
      - name
      - version
      - minor_version
    scaleway.rdb.v1.User:
      type: object
      properties:
        name:
          type: string
          description: Name of the user (Length must be between 1 and 63 characters
            for PostgreSQL and between 1 and 32 characters for MySQL. First character
            must be an alphabet character (a-zA-Z). Your username cannot start with
            '_rdb' or in PostgreSQL, 'pg_'. Only a-zA-Z0-9_$- characters are accepted).
        is_admin:
          type: boolean
          description: Defines whether or not a user got administrative privileges
            on the Database Instance.
      x-properties-order:
      - name
      - is_admin
    scaleway.rdb.v1.Volume.Type:
      type: string
      enum:
      - lssd
      - bssd
      - sbs_5k
      - sbs_15k
      default: lssd
    scaleway.std.File:
      type: object
      properties:
        name:
          type: string
        content_type:
          type: string
        content:
          type: string
      x-properties-order:
      - name
      - content_type
      - content
    scaleway.std.TimeSeries:
      type: object
      properties:
        name:
          type: string
        points:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.std.TimeSeries.Point'
        metadata:
          type: object
          properties:
            <metadataKey>:
              type: string
          additionalProperties: true
      x-properties-order:
      - name
      - points
      - metadata
    scaleway.std.TimeSeries.Point:
      type: array
      items:
        oneOf:
        - type: string
          format: date-time
        - type: number
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey
paths:
  /rdb/v1/regions/{region}/backups:
    get:
      tags:
      - Backups
      operationId: ListDatabaseBackups
      summary: List database backups
      description: List all backups in a specified region, for a given Scaleway Organization
        or Scaleway Project. By default, the backups listed are ordered by creation
        date in ascending order. This can be modified via the `order_by` field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: name
        description: Name of the database backups.
        schema:
          type: string
          description: Name of the database backups.
      - in: query
        name: order_by
        description: Criteria to use when ordering database backups listing.
        schema:
          type: string
          description: Criteria to use when ordering database backups listing.
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          - status_asc
          - status_desc
          default: created_at_asc
      - in: query
        name: instance_id
        description: UUID of the Database Instance.
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: organization_id
        description: Organization ID of the Organization the database backups belong
          to.
        schema:
          type: string
          description: Organization ID of the Organization the database backups belong
            to.
      - in: query
        name: project_id
        description: Project ID of the Project the database backups belong to.
        schema:
          type: string
          description: Project ID of the Project the database backups belong to.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListDatabaseBackupsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/backups"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/backups" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Backups
      operationId: CreateDatabaseBackup
      summary: Create a database backup
      description: Create a new backup. You must set the `instance_id`, `database_name`,
        `name` and `expires_at` parameters.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instance_id:
                  type: string
                  description: UUID of the Database Instance.
                database_name:
                  type: string
                  description: Name of the database you want to back up.
                name:
                  type: string
                  description: Name of the backup.
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format).
                    (RFC 3339 format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
              x-properties-order:
              - instance_id
              - database_name
              - name
              - expires_at
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "database_name": "string",
              "instance_id": "string",
              "name": "string"
            }' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/backups"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/backups" \
            X-Auth-Token:$SCW_SECRET_KEY \
            database_name="string" \
            instance_id="string" \
            name="string"
  /rdb/v1/regions/{region}/backups/{database_backup_id}:
    get:
      tags:
      - Backups
      operationId: GetDatabaseBackup
      summary: Get a database backup
      description: Retrieve information about a given backup, specified by its database
        backup ID and region. Full details about the backup, like size, URL and expiration
        date, are returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup.
        required: true
        schema:
          type: string
          description: UUID of the database backup.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Backups
      operationId: UpdateDatabaseBackup
      summary: Update a database backup
      description: Update the parameters of a backup, including name and expiration
        date.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup to update.
        required: true
        schema:
          type: string
          description: UUID of the database backup to update.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the Database Backup.
                  nullable: true
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format).
                    (RFC 3339 format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
              x-properties-order:
              - name
              - expires_at
      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/rdb/v1/regions/fr-par/backups/{database_backup_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Backups
      operationId: DeleteDatabaseBackup
      summary: Delete a database backup
      description: Delete a backup, specified by its database backup ID and region.
        Deleting a backup is permanent, and cannot be undone.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup to delete.
        required: true
        schema:
          type: string
          description: UUID of the database backup to delete.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/backups/{database_backup_id}/export:
    post:
      tags:
      - Backups
      operationId: ExportDatabaseBackup
      summary: Export a database backup
      description: Export a backup, specified by the `database_backup_id` and the
        `region` parameters. The download URL is returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: UUID of the database backup you want to export.
        required: true
        schema:
          type: string
          description: UUID of the database backup you want to export.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      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/rdb/v1/regions/fr-par/backups/{database_backup_id}/export"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}/export" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/backups/{database_backup_id}/restore:
    post:
      tags:
      - Backups
      operationId: RestoreDatabaseBackup
      summary: Restore a database backup
      description: Launch the process of restoring database backup. You must specify
        the `instance_id` of the Database Instance of destination, where the backup
        will be restored. Note that large database backups can take up to several
        hours to restore.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: database_backup_id
        description: Backup of a logical database.
        required: true
        schema:
          type: string
          description: Backup of a logical database.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DatabaseBackup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                database_name:
                  type: string
                  description: Defines the destination database to restore into a
                    specified database (the default destination is set to the origin
                    database of the backup).
                  nullable: true
                instance_id:
                  type: string
                  description: Defines the Database Instance where the backup has
                    to be restored.
              required:
              - instance_id
              x-properties-order:
              - database_name
              - instance_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"instance_id":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}/restore"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/backups/{database_backup_id}/restore" \
            X-Auth-Token:$SCW_SECRET_KEY \
            instance_id="string"
  /rdb/v1/regions/{region}/database-engines:
    get:
      tags:
      - Engines
      operationId: ListDatabaseEngines
      summary: List available database engines
      description: List the PostgreSQL and MySQL database engines available at Scaleway.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: name
        description: Name of the database engine.
        schema:
          type: string
          description: Name of the database engine.
      - in: query
        name: version
        description: Version of the database engine.
        schema:
          type: string
          description: Version of the database engine.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListDatabaseEnginesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/database-engines"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/database-engines" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/endpoints/{endpoint_id}:
    get:
      tags:
      - Endpoints
      operationId: GetEndpoint
      summary: Get a Database Instance endpoint
      description: Retrieve information about a Database Instance endpoint. Full details
        about the endpoint, like `ip`, `port`, `private_network` and `load_balancer`
        specifications are returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: endpoint_id
        description: UUID of the endpoint you want to get.
        required: true
        schema:
          type: string
          description: UUID of the endpoint you want to get.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Endpoint'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Endpoints
      operationId: DeleteEndpoint
      summary: Delete a Database Instance endpoint
      description: Delete the endpoint of a Database Instance. You must specify the
        `region` and `endpoint_id` parameters of the endpoint you want to delete.
        Note that might need to update any environment configurations that point to
        the deleted endpoint.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: endpoint_id
        description: |-
          UUID of the endpoint you want to delete.
          This endpoint can also be used to delete a Read Replica endpoint.
        required: true
        schema:
          type: string
          description: |-
            UUID of the endpoint you want to delete.
            This endpoint can also be used to delete a Read Replica endpoint.
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/endpoints/{endpoint_id}/migrate:
    post:
      tags:
      - Endpoints
      operationId: MigrateEndpoint
      summary: Migrate an existing instance endpoint to another instance
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: endpoint_id
        description: UUID of the endpoint you want to migrate.
        required: true
        schema:
          type: string
          description: UUID of the endpoint you want to migrate.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Endpoint'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instance_id:
                  type: string
                  description: UUID of the instance you want to attach the endpoint
                    to.
              required:
              - instance_id
              x-properties-order:
              - instance_id
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"instance_id":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}/migrate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/endpoints/{endpoint_id}/migrate" \
            X-Auth-Token:$SCW_SECRET_KEY \
            instance_id="string"
  /rdb/v1/regions/{region}/instances:
    get:
      tags:
      - Database Instances
      operationId: ListInstances
      summary: List Database Instances
      description: List all Database Instances in the specified region, for a given
        Scaleway Organization or Scaleway Project. By default, the Database Instances
        returned in the list are ordered by creation date in ascending order, though
        this can be modified via the order_by field. You can define additional parameters
        for your query, such as `tags` and `name`. For the `name` parameter, the value
        you include will be checked against the whole name string to see if it includes
        the string you put in the parameter.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: tags
        description: List Database Instances that have a given tag.
        schema:
          type: array
          description: List Database Instances that have a given tag.
          items:
            type: string
      - in: query
        name: name
        description: Lists Database Instances that match a name pattern.
        schema:
          type: string
          description: Lists Database Instances that match a name pattern.
      - in: query
        name: order_by
        description: Criteria to use when ordering Database Instance listings.
        schema:
          type: string
          description: Criteria to use when ordering Database Instance listings.
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          - region
          - status_asc
          - status_desc
          default: created_at_asc
      - in: query
        name: organization_id
        description: Please use project_id instead.
        schema:
          type: string
          description: Please use project_id instead.
      - in: query
        name: project_id
        description: Project ID to list the Database Instance of.
        schema:
          type: string
          description: Project ID to list the Database Instance of.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListInstancesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Database Instances
      operationId: CreateInstance
      summary: Create a Database Instance
      description: Create a new Database Instance. You must set the `engine`, `user_name`,
        `password` and `node_type` parameters. Optionally, you can specify the volume
        type and size.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                organization_id:
                  type: string
                  description: Please use project_id instead.
                  deprecated: true
                  nullable: true
                  x-one-of: ProjectIdentifier
                project_id:
                  type: string
                  description: The Project ID on which the Database Instance will
                    be created.
                  nullable: true
                  x-one-of: ProjectIdentifier
                name:
                  type: string
                  description: Name of the Database Instance.
                engine:
                  type: string
                  description: Database engine of the Database Instance (PostgreSQL,
                    MySQL, ...).
                user_name:
                  type: string
                  description: Username created when the Database Instance is created.
                password:
                  type: string
                  description: Password of the user.
                node_type:
                  type: string
                  description: Type of node to use for the Database Instance.
                is_ha_cluster:
                  type: boolean
                  description: Defines whether or not High-Availability is enabled.
                disable_backup:
                  type: boolean
                  description: Defines whether or not backups are disabled.
                tags:
                  type: array
                  description: Tags to apply to the Database Instance.
                  items:
                    type: string
                init_settings:
                  type: array
                  description: List of engine settings to be set upon Database Instance
                    initialization.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
                volume_type:
                  type: string
                  description: Type of volume where data is stored (lssd, bssd, ...).
                  enum:
                  - lssd
                  - bssd
                  - sbs_5k
                  - sbs_15k
                  default: lssd
                volume_size:
                  type: integer
                  description: Volume size when volume_type is not lssd. (in bytes)
                  format: uint64
                init_endpoints:
                  type: array
                  description: One or multiple EndpointSpec used to expose your Database
                    Instance. A load_balancer public endpoint is systematically created.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.EndpointSpec'
                backup_same_region:
                  type: boolean
                  description: Defines whether to or not to store logical backups
                    in the same region as the Database Instance.
                encryption:
                  type: object
                  description: Encryption at rest settings for your Database Instance.
                  properties:
                    enabled:
                      type: boolean
                  x-properties-order:
                  - enabled
              required:
              - engine
              - user_name
              - password
              - node_type
              x-properties-order:
              - organization_id
              - project_id
              - name
              - engine
              - user_name
              - password
              - node_type
              - is_ha_cluster
              - disable_backup
              - tags
              - init_settings
              - volume_type
              - volume_size
              - init_endpoints
              - backup_same_region
              - encryption
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "backup_same_region": false,
              "disable_backup": false,
              "engine": "string",
              "is_ha_cluster": false,
              "name": "string",
              "node_type": "string",
              "password": "string",
              "user_name": "string",
              "volume_size": 42
            }' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances" \
            X-Auth-Token:$SCW_SECRET_KEY \
            backup_same_region:=false \
            disable_backup:=false \
            engine="string" \
            is_ha_cluster:=false \
            name="string" \
            node_type="string" \
            password="string" \
            user_name="string" \
            volume_size:=42
  /rdb/v1/regions/{region}/instances/{instance_id}:
    get:
      tags:
      - Database Instances
      operationId: GetInstance
      summary: Get a Database Instance
      description: Retrieve information about a given Database Instance, specified
        by the `region` and `instance_id` parameters. Its full details, including
        name, status, IP address and port, are returned in the response object.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Database Instances
      operationId: UpdateInstance
      summary: Update a Database Instance
      description: Update the parameters of a Database Instance, including name, tags
        and backup schedule details.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance to update.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance to update.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                backup_schedule_frequency:
                  type: integer
                  description: In hours.
                  format: uint32
                  nullable: true
                backup_schedule_retention:
                  type: integer
                  description: In days.
                  format: uint32
                  nullable: true
                is_backup_schedule_disabled:
                  type: boolean
                  description: Defines whether or not the backup schedule is disabled.
                  nullable: true
                name:
                  type: string
                  description: Name of the Database Instance.
                  nullable: true
                tags:
                  type: array
                  description: Tags of a Database Instance.
                  nullable: true
                  items:
                    type: string
                logs_policy:
                  type: object
                  description: Logs policy of the Database Instance.
                  properties:
                    max_age_retention:
                      type: integer
                      description: Max age (in days) of remote logs to keep on the
                        Database Instance.
                      format: uint32
                      nullable: true
                    total_disk_retention:
                      type: integer
                      description: Max disk size of remote logs to keep on the Database
                        Instance. (in bytes)
                      format: uint64
                      nullable: true
                  x-properties-order:
                  - max_age_retention
                  - total_disk_retention
                backup_same_region:
                  type: boolean
                  description: Store logical backups in the same region as the Database
                    Instance.
                  nullable: true
                backup_schedule_start_hour:
                  type: integer
                  description: Defines the start time of the autobackup.
                  format: uint32
                  nullable: true
              x-properties-order:
              - backup_schedule_frequency
              - backup_schedule_retention
              - is_backup_schedule_disabled
              - name
              - tags
              - logs_policy
              - backup_same_region
              - backup_schedule_start_hour
      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/rdb/v1/regions/fr-par/instances/{instance_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Database Instances
      operationId: DeleteInstance
      summary: Delete a Database Instance
      description: Delete a given Database Instance, specified by the `region` and
        `instance_id` parameters. Deleting a Database Instance is permanent, and cannot
        be undone. Note that upon deletion all your data will be lost.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance to delete.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance to delete.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/acls:
    get:
      tags:
      - ACLs
      operationId: ListInstanceACLRules
      summary: List ACL rules of a Database Instance
      description: List the ACL rules for a given Database Instance. The response
        is an array of ACL objects, each one representing an ACL that denies, allows
        or redirects traffic based on certain conditions.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListInstanceACLRulesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - ACLs
      operationId: AddInstanceACLRules
      summary: Add an ACL rule to a Database Instance
      description: Add an additional ACL rule to a Database Instance.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to add ACL rules to.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to add ACL rules to.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.AddInstanceACLRulesResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rules:
                  type: array
                  description: ACL rules to add to the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.ACLRuleRequest'
              required:
              - rules
              x-properties-order:
              - rules
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"rules":[""]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY \
            rules:='[""]'
    put:
      tags:
      - ACLs
      operationId: SetInstanceACLRules
      summary: Set ACL rules for a Database Instance
      description: Replace all the ACL rules of a Database Instance.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance where the ACL rules must be set.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance where the ACL rules must be set.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.SetInstanceACLRulesResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rules:
                  type: array
                  description: ACL rules to define for the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.ACLRuleRequest'
              required:
              - rules
              x-properties-order:
              - rules
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PUT \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"rules":[""]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY \
            rules:='[""]'
    delete:
      tags:
      - ACLs
      operationId: DeleteInstanceACLRules
      summary: Delete ACL rules of a Database Instance
      description: Delete one or more ACL rules of a Database Instance.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to delete an ACL rule
          from.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to delete an ACL rule
            from.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DeleteInstanceACLRulesResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                acl_rule_ips:
                  type: array
                  description: IP addresses defined in the ACL rules of the Database
                    Instance.
                  items:
                    type: string
              required:
              - acl_rule_ips
              x-properties-order:
              - acl_rule_ips
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"acl_rule_ips":["string"]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY \
            acl_rule_ips:='["string"]'
  /rdb/v1/regions/{region}/instances/{instance_id}/apply-maintenance:
    post:
      tags:
      - Database Instances
      operationId: ApplyInstanceMaintenance
      summary: Apply Database Instance maintenance
      description: Apply maintenance tasks to your Database Instance. This will trigger
        pending maintenance tasks to start in your Database Instance and can generate
        service interruption. Maintenance tasks can be applied between `starts_at`
        and `stops_at` times, and are run directly by Scaleway at `forced_at` timestamp.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to apply maintenance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to apply maintenance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Maintenance'
      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/rdb/v1/regions/fr-par/instances/{instance_id}/apply-maintenance"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/apply-maintenance" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/certificate:
    get:
      tags:
      - Database Instances
      operationId: GetInstanceCertificate
      summary: Get the TLS certificate of a Database Instance
      description: Retrieve information about the TLS certificate of a given Database
        Instance. Details like name and content are returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.std.File'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/certificate"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/certificate" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/clone:
    post:
      tags:
      - Database Instances
      operationId: CloneInstance
      summary: Clone a Database Instance
      description: Clone a given Database Instance, specified by the `region` and
        `instance_id` parameters. The clone feature allows you to create a new Database
        Instance from an existing one. The clone includes all existing databases,
        users and permissions. You can create a clone on a Database Instance bigger
        than your current one.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to clone.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to clone.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the Database Instance clone.
                node_type:
                  type: string
                  description: Node type of the clone.
                  nullable: true
              x-properties-order:
              - name
              - node_type
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"name":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/clone"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/clone" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
  /rdb/v1/regions/{region}/instances/{instance_id}/databases:
    get:
      tags:
      - Databases
      operationId: ListDatabases
      summary: List databases in a Database Instance
      description: List all databases of a given Database Instance. By default, the
        databases returned in the list are ordered by creation date in ascending order,
        though this can be modified via the order_by field. You can define additional
        parameters for your query, such as `name`, `managed` and `owner`.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance to list the databases of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance to list the databases of.
      - in: query
        name: name
        description: Name of the database.
        schema:
          type: string
          description: Name of the database.
      - in: query
        name: managed
        description: Defines whether or not the database is managed.
        schema:
          type: boolean
          description: Defines whether or not the database is managed.
      - in: query
        name: owner
        description: User that owns this database.
        schema:
          type: string
          description: User that owns this database.
      - in: query
        name: order_by
        description: Criteria to use when ordering database listing.
        schema:
          type: string
          description: Criteria to use when ordering database listing.
          enum:
          - name_asc
          - name_desc
          - size_asc
          - size_desc
          default: name_asc
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListDatabasesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Databases
      operationId: CreateDatabase
      summary: Create a database in a Database Instance
      description: Create a new database. You must define the `name` parameter in
        the request.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance where to create the database.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance where to create the database.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Database'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the database.
              x-properties-order:
              - name
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"name":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
  /rdb/v1/regions/{region}/instances/{instance_id}/databases/{name}:
    delete:
      tags:
      - Databases
      operationId: DeleteDatabase
      summary: Delete a database in a Database Instance
      description: Delete a given database on a Database Instance. You must specify,
        in the endpoint, the `region`, `instance_id` and `name` parameters of the
        database you want to delete.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance where to delete the database.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance where to delete the database.
      - in: path
        name: name
        description: Name of the database to delete.
        required: true
        schema:
          type: string
          description: Name of the database to delete.
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases/{name}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/databases/{name}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/endpoints:
    post:
      tags:
      - Endpoints
      operationId: CreateEndpoint
      summary: Create a new Database Instance endpoint
      description: Create a new endpoint for a Database Instance. You can add `load_balancer`
        and `private_network` specifications to the body of the request.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you to which you want to add an
          endpoint.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you to which you want to add
            an endpoint.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Endpoint'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                endpoint_spec:
                  type: object
                  description: Specification of the endpoint you want to create.
                  properties:
                    load_balancer:
                      type: object
                      description: Load balancer endpoint specifications. Public endpoint
                        for Database Instance which is systematically present. One
                        per RDB instance.
                      nullable: true
                      x-one-of: spec
                    private_network:
                      type: object
                      description: Private Network endpoint specifications. One maximum
                        per Database Instance or Read Replica (a Database Instance
                        and its Read Replica can have different Private Networks).
                        Cannot be updated (has to be deleted and recreated).
                      properties:
                        private_network_id:
                          type: string
                          description: UUID of the Private Network to be connected
                            to the Database Instance. (UUID format)
                          example: 6170692e-7363-616c-6577-61792e636f6d
                        service_ip:
                          type: string
                          description: Endpoint IPv4 address with a CIDR notation.
                            Refer to the official Scaleway documentation to learn
                            more about IP and subnet limitations. (IP network)
                          example: 1.2.3.4/32
                          nullable: true
                          x-one-of: config
                        ipam_config:
                          type: object
                          description: Automated configuration of your Private Network
                            endpoint with Scaleway IPAM service. One at the most per
                            Database Instance or Read Replica (a Database Instance
                            and its Read Replica can have different Private Networks).
                            Cannot be updated (has to be deleted and recreated).
                          nullable: true
                          x-one-of: config
                      nullable: true
                      x-properties-order:
                      - private_network_id
                      - service_ip
                      - ipam_config
                      x-one-of: spec
                  x-properties-order:
                  - load_balancer
                  - private_network
              x-properties-order:
              - endpoint_spec
      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/rdb/v1/regions/fr-par/instances/{instance_id}/endpoints"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/endpoints" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/logs:
    get:
      tags:
      - Database Instances
      operationId: ListInstanceLogs
      summary: List available logs of a Database Instance
      description: List the available logs of a Database Instance. By default, the
        logs returned in the list are ordered by creation date in ascending order,
        though this can be modified via the order_by field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want logs of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want logs of.
      - in: query
        name: order_by
        description: Criteria to use when ordering Database Instance logs listing.
        schema:
          type: string
          description: Criteria to use when ordering Database Instance logs listing.
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListInstanceLogsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/logs"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/logs" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/logs-details:
    get:
      tags:
      - Database Instances
      operationId: ListInstanceLogsDetails
      summary: List remote Database Instance logs details
      description: List remote log details. By default, the details returned in the
        list are ordered by creation date in ascending order, though this can be modified
        via the order_by field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want logs of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want logs of.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListInstanceLogsDetailsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/logs-details"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/logs-details" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/metrics:
    get:
      tags:
      - Database Instances
      operationId: GetInstanceMetrics
      summary: Get Database Instance metrics
      description: Retrieve the time series metrics of a given Database Instance.
        You can define the period from which to retrieve metrics by specifying the
        `start_date` and `end_date`.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: start_date
        description: Start date to gather metrics from. (RFC 3339 format)
        schema:
          type: string
          description: Start date to gather metrics from. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
      - in: query
        name: end_date
        description: End date to gather metrics from. (RFC 3339 format)
        schema:
          type: string
          description: End date to gather metrics from. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
      - in: query
        name: metric_name
        description: Name of the metric to gather.
        schema:
          type: string
          description: Name of the metric to gather.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.InstanceMetrics'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/metrics"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/metrics" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/prepare-logs:
    post:
      tags:
      - Database Instances
      operationId: PrepareInstanceLogs
      summary: Prepare logs of a Database Instance
      description: Prepare your Database Instance logs. You can define the `start_date`
        and `end_date` parameters for your query. The download URL is returned in
        the response. Logs are recorded from 00h00 to 23h59 and then aggregated in
        a `.log` file once a day. Therefore, even if you specify a timeframe from
        which you want to get the logs, you will receive logs from the full 24 hours.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want logs of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want logs of.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.PrepareInstanceLogsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  description: Start datetime of your log. (RFC 3339 format). (RFC
                    3339 format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
                end_date:
                  type: string
                  description: End datetime of your log. (RFC 3339 format). (RFC 3339
                    format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
              x-properties-order:
              - start_date
              - end_date
      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/rdb/v1/regions/fr-par/instances/{instance_id}/prepare-logs"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/prepare-logs" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/privileges:
    get:
      tags:
      - Privileges
      operationId: ListPrivileges
      summary: List user privileges for a database
      description: List privileges of a user on a database. By default, the details
        returned in the list are ordered by creation date in ascending order, though
        this can be modified via the order_by field. You can define additional parameters
        for your query, such as `database_name` and `user_name`.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: order_by
        description: Criteria to use when ordering privileges listing.
        schema:
          type: string
          description: Criteria to use when ordering privileges listing.
          enum:
          - user_name_asc
          - user_name_desc
          - database_name_asc
          - database_name_desc
          default: user_name_asc
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      - in: query
        name: database_name
        description: Name of the database.
        schema:
          type: string
          description: Name of the database.
      - in: query
        name: user_name
        description: Name of the user.
        schema:
          type: string
          description: Name of the user.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListPrivilegesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/privileges"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/privileges" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      tags:
      - Privileges
      operationId: SetPrivilege
      summary: Set user privileges for a database
      description: Set the privileges of a user on a database. You must define `database_name`,
        `user_name` and `permission` in the request body.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Privilege'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                database_name:
                  type: string
                  description: Name of the database.
                user_name:
                  type: string
                  description: Name of the user.
                permission:
                  type: string
                  description: Permission to set (Read, Read/Write, All, Custom).
                  enum:
                  - readonly
                  - readwrite
                  - all
                  - custom
                  - none
                  default: readonly
              x-properties-order:
              - database_name
              - user_name
              - permission
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PUT \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"database_name":"string","user_name":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/privileges"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/privileges" \
            X-Auth-Token:$SCW_SECRET_KEY \
            database_name="string" \
            user_name="string"
  /rdb/v1/regions/{region}/instances/{instance_id}/purge-logs:
    post:
      tags:
      - Database Instances
      operationId: PurgeInstanceLogs
      summary: Purge remote Database Instance logs
      description: Purge a given remote log from a Database Instance. You can specify
        the `log_name` of the log you wish to clean from your Database Instance.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want logs of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want logs of.
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                log_name:
                  type: string
                  description: Given log name to purge.
                  nullable: true
              x-properties-order:
              - log_name
      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/rdb/v1/regions/fr-par/instances/{instance_id}/purge-logs"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/purge-logs" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/renew-certificate:
    post:
      tags:
      - Database Instances
      operationId: RenewInstanceCertificate
      summary: Renew the TLS certificate of a Database Instance
      description: Renew a TLS for a Database Instance. Renewing a certificate means
        that you will not be able to connect to your Database Instance using the previous
        certificate. You will also need to download and update the new certificate
        for all database clients.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want logs of.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want logs of.
      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/rdb/v1/regions/fr-par/instances/{instance_id}/renew-certificate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/renew-certificate" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/restart:
    post:
      tags:
      - Database Instances
      operationId: RestartInstance
      summary: Restart Database Instance
      description: Restart a given Database Instance, specified by the `region` and
        `instance_id` parameters. The status of the Database Instance returned in
        the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to restart.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to restart.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      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/rdb/v1/regions/fr-par/instances/{instance_id}/restart"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/restart" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/settings:
    post:
      tags:
      - Instance Settings
      operationId: AddInstanceSettings
      summary: Add Database Instance advanced settings
      description: Add an advanced setting to a Database Instance. You must set the
        `name` and the `value` of each setting.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to add settings to.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to add settings to.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.AddInstanceSettingsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                settings:
                  type: array
                  description: Settings to add to the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
              required:
              - settings
              x-properties-order:
              - settings
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"settings":[""]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings" \
            X-Auth-Token:$SCW_SECRET_KEY \
            settings:='[""]'
    put:
      tags:
      - Instance Settings
      operationId: SetInstanceSettings
      summary: Set Database Instance advanced settings
      description: Update an advanced setting for a Database Instance. Settings added
        upon database engine initalization can only be defined once, and cannot, therefore,
        be updated.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance where the settings must be set.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance where the settings must be set.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.SetInstanceSettingsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                settings:
                  type: array
                  description: Settings to define for the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.InstanceSetting'
              required:
              - settings
              x-properties-order:
              - settings
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PUT \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"settings":[""]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings" \
            X-Auth-Token:$SCW_SECRET_KEY \
            settings:='[""]'
    delete:
      tags:
      - Instance Settings
      operationId: DeleteInstanceSettings
      summary: Delete Database Instance advanced settings
      description: Delete an advanced setting in a Database Instance. You must specify
        the names of the settings you want to delete in the request.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance to delete settings from.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance to delete settings from.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.DeleteInstanceSettingsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                setting_names:
                  type: array
                  description: Settings names to delete.
                  items:
                    type: string
              required:
              - setting_names
              x-properties-order:
              - setting_names
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"setting_names":["string"]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/settings" \
            X-Auth-Token:$SCW_SECRET_KEY \
            setting_names:='["string"]'
  /rdb/v1/regions/{region}/instances/{instance_id}/snapshots:
    post:
      tags:
      - Snapshots
      operationId: CreateSnapshot
      summary: Create a Database Instance snapshot
      description: Create a new snapshot of a Database Instance. You must define the
        `name` parameter in the request.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Snapshot'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the snapshot.
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format).
                    (RFC 3339 format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
              required:
              - name
              x-properties-order:
              - name
              - expires_at
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"name":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/snapshots"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/snapshots" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
  /rdb/v1/regions/{region}/instances/{instance_id}/upgrade:
    post:
      tags:
      - Database Instances
      operationId: UpgradeInstance
      summary: Upgrade a Database Instance
      description: Upgrade your current Database Instance specifications like node
        type, high availability, volume, or the database engine version. Note that
        upon upgrade the `enable_ha` parameter can only be set to `true`.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance you want to upgrade.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance you want to upgrade.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                node_type:
                  type: string
                  description: Node type of the Database Instance you want to upgrade
                    to.
                  nullable: true
                  x-one-of: UpgradeTarget
                enable_ha:
                  type: boolean
                  description: Defines whether or not high availability should be
                    enabled on the Database Instance.
                  nullable: true
                  x-one-of: UpgradeTarget
                volume_size:
                  type: integer
                  description: Increase your block storage volume size.
                  format: uint64
                  nullable: true
                  x-one-of: UpgradeTarget
                volume_type:
                  type: string
                  description: Change your Database Instance storage type.
                  enum:
                  - lssd
                  - bssd
                  - sbs_5k
                  - sbs_15k
                  nullable: true
                  default: lssd
                  x-one-of: UpgradeTarget
                upgradable_version_id:
                  type: string
                  description: |-
                    Update your database engine to a newer version.
                    This will create a new Database Instance with same specifications as the current one and perform a Database Engine upgrade. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                  nullable: true
                  x-one-of: UpgradeTarget
                major_upgrade_workflow:
                  type: object
                  description: Upgrade your database engine to a new major version
                    including instance endpoints.
                  properties:
                    upgradable_version_id:
                      type: string
                      description: |-
                        Update your database engine to a newer version.
                        This will create a new Database Instance with same specifications as the current one and perform a Database Engine upgrade. (UUID format)
                      example: 6170692e-7363-616c-6577-61792e636f6d
                    with_endpoints:
                      type: boolean
                      description: |-
                        Include endpoint during the migration.
                        At the end of the migration procedure this option let you migrate all your database endpoint to the upgraded instance. (UUID format)
                      example: 6170692e-7363-616c-6577-61792e636f6d
                  nullable: true
                  x-properties-order:
                  - upgradable_version_id
                  - with_endpoints
                  x-one-of: UpgradeTarget
              x-properties-order:
              - node_type
              - enable_ha
              - volume_size
              - volume_type
              - upgradable_version_id
              - major_upgrade_workflow
      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/rdb/v1/regions/fr-par/instances/{instance_id}/upgrade"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/upgrade" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/instances/{instance_id}/users:
    get:
      tags:
      - Users
      operationId: ListUsers
      summary: List users of a Database Instance
      description: List all users of a given Database Instance. By default, the users
        returned in the list are ordered by creation date in ascending order, though
        this can be modified via the order_by field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: name
        description: Name of the user.
        schema:
          type: string
          description: Name of the user.
      - in: query
        name: order_by
        description: Criteria to use when requesting user listing.
        schema:
          type: string
          description: Criteria to use when requesting user listing.
          enum:
          - name_asc
          - name_desc
          - is_admin_asc
          - is_admin_desc
          default: name_asc
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListUsersResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Users
      operationId: CreateUser
      summary: Create a user for a Database Instance
      description: Create a new user for a Database Instance. You must define the
        `name`, `password` and `is_admin` parameters.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance in which you want to create a user.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance in which you want to create a
            user.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.User'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the user you want to create.
                password:
                  type: string
                  description: Password of the user you want to create.
                is_admin:
                  type: boolean
                  description: Defines whether the user will have administrative privileges.
              x-properties-order:
              - name
              - password
              - is_admin
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "is_admin": false,
              "name": "string",
              "password": "string"
            }' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users" \
            X-Auth-Token:$SCW_SECRET_KEY \
            is_admin:=false \
            name="string" \
            password="string"
  /rdb/v1/regions/{region}/instances/{instance_id}/users/{name}:
    patch:
      tags:
      - Users
      operationId: UpdateUser
      summary: Update a user on a Database Instance
      description: Update the parameters of a user on a Database Instance. You can
        update the `password` and `is_admin` parameters, but you cannot change the
        name of the user.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance the user belongs to.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance the user belongs to.
      - in: path
        name: name
        description: Name of the database user.
        required: true
        schema:
          type: string
          description: Name of the database user.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.User'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: Password of the database user.
                  nullable: true
                is_admin:
                  type: boolean
                  description: Defines whether or not this user got administrative
                    privileges.
                  nullable: true
              x-properties-order:
              - password
              - is_admin
      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/rdb/v1/regions/fr-par/instances/{instance_id}/users/{name}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users/{name}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Users
      operationId: DeleteUser
      summary: Delete a user on a Database Instance
      description: Delete a given user on a Database Instance. You must specify, in
        the endpoint,  the `region`, `instance_id` and `name` parameters of the user
        you want to delete.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_id
        description: UUID of the Database Instance to delete the user from.
        required: true
        schema:
          type: string
          description: UUID of the Database Instance to delete the user from.
      - in: path
        name: name
        description: Name of the user.
        required: true
        schema:
          type: string
          description: Name of the user.
      responses:
        "204":
          description: ""
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users/{name}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/instances/{instance_id}/users/{name}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/logs/{instance_log_id}:
    get:
      tags:
      - Database Instances
      operationId: GetInstanceLog
      summary: Get given logs of a Database Instance
      description: Retrieve information about the logs of a Database Instance. Specify
        the `instance_log_id` and `region` in your request to get information such
        as `download_url`, `status`, `expires_at` and `created_at` about your logs
        in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: instance_log_id
        description: UUID of the instance_log you want.
        required: true
        schema:
          type: string
          description: UUID of the instance_log you want.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.InstanceLog'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/logs/{instance_log_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/logs/{instance_log_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/node-types:
    get:
      tags:
      - NodeTypes
      operationId: ListNodeTypes
      summary: List available node types
      description: List all available node types. By default, the node types returned
        in the list are ordered by creation date in ascending order, though this can
        be modified via the `order_by` field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: include_disabled_types
        description: Defines whether or not to include disabled types.
        required: true
        schema:
          type: boolean
          description: Defines whether or not to include disabled types.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListNodeTypesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/node-types?include_disabled_types=false"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/node-types" \
            X-Auth-Token:$SCW_SECRET_KEY \
            include_disabled_types==false
  /rdb/v1/regions/{region}/read-replicas:
    post:
      tags:
      - Read Replicas
      operationId: CreateReadReplica
      summary: Create a Read Replica
      description: Create a new Read Replica of a Database Instance. You must specify
        the `region` and the `instance_id`. You can only create a maximum of 3 Read
        Replicas per Database Instance.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instance_id:
                  type: string
                  description: UUID of the Database Instance you want to create a
                    Read Replica from. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                endpoint_spec:
                  type: array
                  description: Specification of the endpoint you want to create.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplicaEndpointSpec'
                same_zone:
                  type: boolean
                  description: Defines whether to create the replica in the same availability
                    zone as the main instance nodes or not.
                  nullable: true
              required:
              - instance_id
              x-properties-order:
              - instance_id
              - endpoint_spec
              - same_zone
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"instance_id":"6170692e-7363-616c-6577-61792e636f6d"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas" \
            X-Auth-Token:$SCW_SECRET_KEY \
            instance_id="6170692e-7363-616c-6577-61792e636f6d"
  /rdb/v1/regions/{region}/read-replicas/{read_replica_id}:
    get:
      tags:
      - Read Replicas
      operationId: GetReadReplica
      summary: Get a Read Replica
      description: Retrieve information about a Database Instance Read Replica. Full
        details about the Read Replica, like `endpoints`, `status`  and `region` are
        returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: read_replica_id
        description: UUID of the Read Replica. (UUID format)
        required: true
        schema:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Read Replicas
      operationId: DeleteReadReplica
      summary: Delete a Read Replica
      description: Delete a Read Replica of a Database Instance. You must specify
        the `region` and `read_replica_id` parameters of the Read Replica you want
        to delete.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: read_replica_id
        description: UUID of the Read Replica. (UUID format)
        required: true
        schema:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/read-replicas/{read_replica_id}/endpoints:
    post:
      tags:
      - Read Replicas
      operationId: CreateReadReplicaEndpoint
      summary: Create an endpoint for a Read Replica
      description: Create a new endpoint for a Read Replica. Read Replicas can have
        at most one direct access and one Private Network endpoint.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: read_replica_id
        description: UUID of the Read Replica. (UUID format)
        required: true
        schema:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                endpoint_spec:
                  type: array
                  description: Specification of the endpoint you want to create.
                  items:
                    $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplicaEndpointSpec'
              required:
              - endpoint_spec
              x-properties-order:
              - endpoint_spec
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"endpoint_spec":[""]}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/endpoints"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/endpoints" \
            X-Auth-Token:$SCW_SECRET_KEY \
            endpoint_spec:='[""]'
  /rdb/v1/regions/{region}/read-replicas/{read_replica_id}/promote:
    post:
      tags:
      - Read Replicas
      operationId: PromoteReadReplica
      summary: Promote a Read Replica
      description: Promote a Read Replica to Database Instance automatically.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: read_replica_id
        description: UUID of the Read Replica. (UUID format)
        required: true
        schema:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      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/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/promote"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/promote" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/read-replicas/{read_replica_id}/reset:
    post:
      tags:
      - Read Replicas
      operationId: ResetReadReplica
      summary: Resync a Read Replica
      description: |-
        When you resync a Read Replica, first it is reset, then its data is resynchronized from the primary node. Your Read Replica remains unavailable during the resync process. The duration of this process is proportional to the size of your Database Instance.
        The configured endpoints do not change.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: read_replica_id
        description: UUID of the Read Replica. (UUID format)
        required: true
        schema:
          type: string
          description: UUID of the Read Replica. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ReadReplica'
      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/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/reset"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/read-replicas/{read_replica_id}/reset" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/snapshots:
    get:
      tags:
      - Snapshots
      operationId: ListSnapshots
      summary: List snapshots
      description: List snapshots. You can include the `instance_id` or `project_id`
        in your query to get the list of snapshots for specific Database Instances
        and/or Projects. By default, the details returned in the list are ordered
        by creation date in ascending order, though this can be modified via the `order_by`
        field.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: name
        description: Name of the snapshot.
        schema:
          type: string
          description: Name of the snapshot.
      - in: query
        name: order_by
        description: Criteria to use when ordering snapshot listing.
        schema:
          type: string
          description: Criteria to use when ordering snapshot listing.
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          - expires_at_asc
          - expires_at_desc
          default: created_at_asc
      - in: query
        name: instance_id
        description: UUID of the Database Instance.
        schema:
          type: string
          description: UUID of the Database Instance.
      - in: query
        name: organization_id
        description: Organization ID the snapshots belongs to.
        schema:
          type: string
          description: Organization ID the snapshots belongs to.
      - in: query
        name: project_id
        description: Project ID the snapshots belongs to.
        schema:
          type: string
          description: Project ID the snapshots belongs to.
      - in: query
        name: page
        schema:
          $ref: '#/components/schemas/google.protobuf.Int32Value'
      - in: query
        name: page_size
        schema:
          type: integer
          format: uint32
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.ListSnapshotsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/snapshots/{snapshot_id}:
    get:
      tags:
      - Snapshots
      operationId: GetSnapshot
      summary: Get a Database Instance snapshot
      description: Retrieve information about a given snapshot, specified by its `snapshot_id`
        and `region`. Full details about the snapshot, like size and expiration date,
        are returned in the response.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: snapshot_id
        description: UUID of the snapshot.
        required: true
        schema:
          type: string
          description: UUID of the snapshot.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Snapshot'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Snapshots
      operationId: UpdateSnapshot
      summary: Update a Database Instance snapshot
      description: Update the parameters of a snapshot of a Database Instance. You
        can update the `name` and `expires_at` parameters.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: snapshot_id
        description: UUID of the snapshot to update.
        required: true
        schema:
          type: string
          description: UUID of the snapshot to update.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Snapshot'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the snapshot.
                  nullable: true
                expires_at:
                  type: string
                  description: Expiration date (must follow the ISO 8601 format).
                    (RFC 3339 format)
                  format: date-time
                  example: "2022-03-22T12:34:56.123456Z"
                  nullable: true
              x-properties-order:
              - name
              - expires_at
      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/rdb/v1/regions/fr-par/snapshots/{snapshot_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Snapshots
      operationId: DeleteSnapshot
      summary: Delete a Database Instance snapshot
      description: Delete a given snapshot of a Database Instance. You must specify,
        in the endpoint,  the `region` and `snapshot_id` parameters of the snapshot
        you want to delete.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: snapshot_id
        description: UUID of the snapshot to delete.
        required: true
        schema:
          type: string
          description: UUID of the snapshot to delete.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Snapshot'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /rdb/v1/regions/{region}/snapshots/{snapshot_id}/create-instance:
    post:
      tags:
      - Snapshots
      operationId: CreateInstanceFromSnapshot
      summary: Create a new Database Instance from a snapshot
      description: Restore a snapshot. When you restore a snapshot, a new Instance
        is created and billed to your account. Note that is possible to select a larger
        node type for your new Database Instance. However, the Block volume size will
        be the same as the size of the restored snapshot. All Instance settings will
        be restored if you chose a node type with the same or more memory size than
        the initial Instance. Settings will be reset to the default if your node type
        has less memory.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          description: The region you want to target
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: snapshot_id
        description: Block snapshot of the Database Instance.
        required: true
        schema:
          type: string
          description: Block snapshot of the Database Instance.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.rdb.v1.Instance'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instance_name:
                  type: string
                  description: Name of the Database Instance created with the snapshot.
                is_ha_cluster:
                  type: boolean
                  description: Defines whether or not High-Availability is enabled
                    on the new Database Instance.
                  nullable: true
                node_type:
                  type: string
                  description: The node type used to restore the snapshot.
                  nullable: true
              x-properties-order:
              - instance_name
              - is_ha_cluster
              - node_type
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"instance_name":"string"}' \
            "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}/create-instance"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/rdb/v1/regions/fr-par/snapshots/{snapshot_id}/create-instance" \
            X-Auth-Token:$SCW_SECRET_KEY \
            instance_name="string"
