openapi: 3.1.0
info:
  title: Managed Database for Redis™ API
  description: |-
    Managed Database for Redis™ is a low-latency caching solution. It allows you to easily set up a secure cache and lighten the load on your main database. Based on the in-memory data storage, Managed Database for Redis™ improves your application response time and helps you provide a better experience to your users.

    Using Managed Database for Redis™ as a cache optimizes the speed of your requests as copies of the most frequently used data are stored in memory, making them accessible in milliseconds.




    ## Concepts

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




    ## 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 ACCESS_KEY="<access-key>"
        export SECRET_KEY="<secret-key>"
        export SCW_ZONE="<zone>"
        ```
    2. Edit the POST request payload you will use to create your Redis™ Database Instance cluster. Replace the parameters in the following example:
        ```json
        {
        "project_id":"50e8d5d3-c623-4df8-a5ef-1972a5432001",
        "name":"cluster1",
        "version":"7.0.5",
        "tags":[
            "tag1"
        ],
        "node_type":"RED1-micro",
        "user_name":"redis-user",
        "password":"lxbemloZiPT1l37*",
        "cluster_size": 3,
        "tls_enabled": true
        }
        ```

        | Parameter        | Description                                                        |
        | :--------------- | :----------------------------------------------------------------- |
        | `project_id`     | **REQUIRED** 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/project-api/#path-projects-list-all-projects-of-an-organization)** or consult the **[Scaleway console](https://console.scaleway.com/project/settings)**. |
        | `name`           | Name of the Redis™ Database Instance                                          |
        | `version`        | **REQUIRED** Version of the Redis™ engine. To check the list of available versions you can use the following endpoint: `https://api.scaleway.com/redis/v1/zones/$SCW_ZONE/cluster-versions`                                           |
        | `tags`           | The list of tags `["tag1", "tag2", ...]` that will be associated with the Redis™ Database Instance. Tags can be appended to the query of the **[List Database Instances](#path-redistm-database-instance-list-redistm-database-instances)** call to show a list of the Database Instances using a specific tag. You can also combine tags to list Database Instances that possess **all** of the appended tags. |
        | `node_type`      | **REQUIRED** The node type. To check the list of available node types you can use the following endpoint: `https://api.scaleway.com/redis/v1/zones/$SCW_ZONE/node-types` |
        | `user_name`      | **REQUIRED** Identifier of the default user, which is created concurrently with the Redis™ Database Instance |
        | `password`       | **REQUIRED** Password for the default user |
        | `cluster_size`   | **INTEGER** The number of nodes in the Redis™ Database Instance cluster. You can either set it to 1 for a standalone Database Instance, 2 for High Availability, or from 3 to 6, for cluster mode |
        | `tls_enabled`    | **BOOLEAN** Whether or not to enable TLS certificates |
    3. Create a Redis™ Database Instance by running the following command. Make sure you include the payload you edited in the previous step.
        ```bash
        curl -X POST \
          -H "Content-Type: application/json" \
          -H "X-Auth-Token: $SCW_SECRET_KEY" https://api.scaleway.com/redis/v1/zones/$SCW_ZONE/clusters \
          -d  '{
            "project_id":"50e8d5d3-c623-4df8-a5ef-1972a5432001",
            "name":"cluster1",
            "version":"7.0.5",
            "tags":[
                "tag1"
            ],
            "node_type":"RED1-micro",
            "user_name":"redis-user",
            "password":"lxbemloZiPT1l37*",
            "cluster_size": 2,
            "tls_enabled": true
          }'
        ```
    4. List your Redis™ Database Instances.
        ```bash
        curl -X GET
          -H "Content-Type: application/json" \
          -H "X-Auth-Token: $SCW_SECRET_KEY" https://api.scaleway.com/redis/v1/zones/$SCW_ZONE/clusters
        ```
    5. Retrieve your Redis™ Database Instance IP and port from the response.
        <Message type="note">
        In this tutorial, we will use `192.0.2.0` and `6379` as the IP and port, respectively
        </Message>
    6. Connect to your Database Instance with the Redis™ client.
        <Message type="note">
        You can use only one of your node IP addresses at a time to connect to your Redis™ Database Instance, as the Redis™ CLI does not support cluster mode.
        </Message>

        ```bash
        redis-cli -h 192.0.2.0 -p 6379 --user redis-user --askpass --tls --cacert SSL_redis-cluster1.pem
        ```

        <Message type="note">
        The command above uses TLS to add an extra layer of security to your connection. The TLS certificate is generated automatically if you set tls_enabled to true. The certificates take on the following name structure: `SSL_redis-<name-of-your-redis-database-instance>.pem`. When using connectors other than redis-cli, you might need to specify the path to your certificate.
        </Message>

        <Message type="important">
        Scaleway supports TLS1.2 and TLS1.3. If you use older versions of `libssl`, you might encounter connexion issues when using `redis-cli`. If this is the case, we recommend you check the libssl versions installed on your local machine and update if necessary.
        </Message>
    7. Enter the database password that you defined upon creation.

    You are now connected to your Managed Database for Redis™.


    <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/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page.
      - you have [installed `curl`](https://curl.se/download.html)
    </Message>


    ## Going Further

    For more information about Managed Database for Redis™, you can check out the following pages:

    * [Managed Database for Redis™ Documentation](https://www.scaleway.com/en/docs/managed-databases-for-redis/quickstart/)
    * [Managed Database for Redis™ FAQ](https://www.scaleway.com/en/docs/managed-databases-for-redis/faq/)
    * [Scaleway Slack Community](https://scaleway-community.slack.com/) join the #database channel
    * [Contact our support team](https://console.scaleway.com/support/tickets/).
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Redis™ Database Instance
  description: |
    A Redis™ Database Instance, also known as a Redis™ cluster, consists of either one standalone node or a cluster composed of three to six nodes. The cluster uses partitioning to split the keyspace. Each partition is replicated and can be reassigned or elected as the primary when necessary. Standalone mode creates a standalone database provisioned on a single node.
- name: Nodes Types
  description: |
    Nodes are the compute units that make up your Redis™ Database Instance. Different node types are available with varying amounts of RAM and vCPU.
- name: Redis™ engine versions
  description: The Redis™ database engine versions available at Scaleway for your
    clusters.
- name: TLS Certificates
  description: |
    Transport Layer Security (TLS) is an Internet security protocol that enables data to be securely exchanged over a network using in transit encryption. If you set the `tls_enabled` parameter to `true` when creating or updating a cluster, a TLS certificate will be automatically generated for your Redis™ Database Instance to ensure secure connections.
- name: Advanced Settings
  description: |
    Advanced settings allow you to tune the behavior of your Redis™ database engine to better fit your needs. Available settings depend on the version of the Redis™ engine. Note that some settings can only be defined upon the Redis™ 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 Redis™ versions](#path-redistm-engine-versions-list-available-redistm-versions) 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: ACL Rules
  description: |
    Network Access Control Lists (ACLs) allow you to manage network inbound traffic by setting up ACL rules.
- name: Endpoints
  description: |
    Manage endpoint access to your Redis™ Database Instance through Public or Private Networks
components:
  schemas:
    google.protobuf.Int32Value:
      type: integer
      format: int32
      nullable: true
    scaleway.redis.v1.ACLRule:
      type: object
      properties:
        id:
          type: string
          description: ID of the rule. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        ip_cidr:
          type: string
          description: IPv4 network address of the rule. (IP network)
          example: 1.2.3.4/32
          nullable: true
        description:
          type: string
          description: Description of the rule.
          nullable: true
      x-properties-order:
      - id
      - ip_cidr
      - description
    scaleway.redis.v1.ACLRuleSpec:
      type: object
      properties:
        ip_cidr:
          type: string
          description: IPv4 network address of the rule. (IP network)
          example: 1.2.3.4/32
        description:
          type: string
          description: Description of the rule.
      x-properties-order:
      - ip_cidr
      - description
    scaleway.redis.v1.AddAclRulesResponse:
      type: object
      properties:
        acl_rules:
          type: array
          description: ACL Rules enabled for the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ACLRule'
        total_count:
          type: integer
          description: Total count of ACL rules of the Database Instance.
          format: uint32
      x-properties-order:
      - acl_rules
      - total_count
    scaleway.redis.v1.AddEndpointsResponse:
      type: object
      properties:
        endpoints:
          type: array
          description: Endpoints defined on the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.Endpoint'
        total_count:
          type: integer
          description: Total count of endpoints of the Database Instance.
          format: uint32
      x-properties-order:
      - endpoints
      - total_count
    scaleway.redis.v1.AvailableClusterSetting:
      type: object
      properties:
        name:
          type: string
          description: Name of the setting.
        default_value:
          type: string
          description: Default value of the setting.
          nullable: true
        type:
          type: string
          description: Type of setting.
          enum:
          - UNKNOWN
          - BOOLEAN
          - INT
          - STRING
          default: UNKNOWN
        description:
          type: string
          description: Description of the setting.
        max_value:
          type: integer
          description: Optional maximum value of the setting.
          format: int64
          nullable: true
        min_value:
          type: integer
          description: Optional minimum value of the setting.
          format: int64
          nullable: true
        regex:
          type: string
          description: Optional validation rule of the setting.
          nullable: true
        deprecated:
          type: boolean
          description: Defines whether or not the setting is deprecated.
      x-properties-order:
      - name
      - default_value
      - type
      - description
      - max_value
      - min_value
      - regex
      - deprecated
    scaleway.redis.v1.Cluster:
      type: object
      properties:
        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.
        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
          - suspended
          - initializing
          default: unknown
        version:
          type: string
          description: Redis™ engine version of the Database Instance.
        endpoints:
          type: array
          description: List of Database Instance endpoints.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.Endpoint'
        tags:
          type: array
          description: List of tags applied to the Database Instance.
          items:
            type: string
        node_type:
          type: string
          description: Node type of the Database Instance.
        created_at:
          type: string
          description: Creation date (Format ISO 8601). (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        updated_at:
          type: string
          description: Update date (Format ISO 8601). (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        tls_enabled:
          type: boolean
          description: Defines whether or not TLS is enabled.
        cluster_settings:
          type: array
          description: List of Database Instance settings.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ClusterSetting'
        acl_rules:
          type: array
          description: List of ACL rules.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ACLRule'
        cluster_size:
          type: integer
          description: Number of nodes of the Database Instance cluster.
          format: uint32
        zone:
          type: string
          description: Zone of the Database Instance.
        user_name:
          type: string
          description: Name of the user associated to the cluster.
        upgradable_versions:
          type: array
          description: List of engine versions the Database Instance can upgrade to.
          items:
            type: string
      x-properties-order:
      - id
      - name
      - project_id
      - status
      - version
      - endpoints
      - tags
      - node_type
      - created_at
      - updated_at
      - tls_enabled
      - cluster_settings
      - acl_rules
      - cluster_size
      - zone
      - user_name
      - upgradable_versions
    scaleway.redis.v1.ClusterMetricsResponse:
      type: object
      properties:
        timeseries:
          type: array
          description: Time series of metrics of a given cluster.
          items:
            $ref: '#/components/schemas/scaleway.std.TimeSeries'
      x-properties-order:
      - timeseries
    scaleway.redis.v1.ClusterSetting:
      type: object
      properties:
        value:
          type: string
          description: Value of the setting.
        name:
          type: string
          description: Name of the setting.
      x-properties-order:
      - value
      - name
    scaleway.redis.v1.ClusterSettingsResponse:
      type: object
      properties:
        settings:
          type: array
          description: Settings configured for a given Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ClusterSetting'
      x-properties-order:
      - settings
    scaleway.redis.v1.ClusterVersion:
      type: object
      properties:
        version:
          type: string
          description: Redis™ engine version.
        end_of_life_at:
          type: string
          description: Date of End of Life. (RFC 3339 format)
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
          nullable: true
        available_settings:
          type: array
          description: Cluster settings available to be updated.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.AvailableClusterSetting'
        logo_url:
          type: string
          description: Redis™ logo url.
        zone:
          type: string
          description: Zone of the Redis™ Database Instance.
      x-properties-order:
      - version
      - end_of_life_at
      - available_settings
      - logo_url
      - zone
    scaleway.redis.v1.Endpoint:
      type: object
      properties:
        port:
          type: integer
          description: TCP port of the endpoint.
          format: uint32
        private_network:
          type: object
          description: Private Network details.
          properties:
            id:
              type: string
              description: UUID of the Private Network. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            service_ips:
              type: array
              description: List of IPv4 CIDR notation addresses of the endpoint. (IP
                network)
              example:
              - 1.2.3.4/32
              items:
                type: string
            zone:
              type: string
              description: Zone of the Private Network.
            provisioning_mode:
              type: string
              description: How your endpoint ips are provisioned.
              enum:
              - static
              - ipam
              default: static
          nullable: true
          x-properties-order:
          - id
          - service_ips
          - zone
          - provisioning_mode
          x-one-of: details
        public_network:
          type: object
          description: Public network details.
          nullable: true
          x-one-of: details
        ips:
          type: array
          description: List of IPv4 addresses of the endpoint. (IP address)
          example:
          - 1.2.3.4
          items:
            type: string
        id:
          type: string
          description: UUID of the endpoint. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
      x-properties-order:
      - port
      - private_network
      - public_network
      - ips
      - id
    scaleway.redis.v1.EndpointSpec:
      type: object
      properties:
        private_network:
          type: object
          description: Private Network specification details.
          properties:
            id:
              type: string
              description: UUID of the Private Network to connect to the Database
                Instance. (UUID format)
              example: 6170692e-7363-616c-6577-61792e636f6d
            service_ips:
              type: array
              description: Endpoint IPv4 address with a CIDR notation. You must provide
                at least one IPv4 per node. (IP network)
              example:
              - 1.2.3.4/32
              items:
                type: string
            ipam_config:
              type: object
              description: Automated configuration of your Private Network endpoint
                with Scaleway IPAM service.
          nullable: true
          x-properties-order:
          - id
          - service_ips
          - ipam_config
          x-one-of: endpoint_type
        public_network:
          type: object
          description: Public network specification details.
          nullable: true
          x-one-of: endpoint_type
      x-properties-order:
      - private_network
      - public_network
    scaleway.redis.v1.ListClusterVersionsResponse:
      type: object
      properties:
        versions:
          type: array
          description: List of available Redis™ engine versions.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ClusterVersion'
        total_count:
          type: integer
          description: Total count of available Redis™ engine versions.
          format: uint32
      x-properties-order:
      - versions
      - total_count
    scaleway.redis.v1.ListClustersResponse:
      type: object
      properties:
        clusters:
          type: array
          description: List all Database Instances.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
        total_count:
          type: integer
          description: Total count of Database Instances.
          format: uint32
      x-properties-order:
      - clusters
      - total_count
    scaleway.redis.v1.ListNodeTypesResponse:
      type: object
      properties:
        node_types:
          type: array
          description: Types of node.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.NodeType'
        total_count:
          type: integer
          description: Total count of node types available.
          format: uint32
      x-properties-order:
      - node_types
      - total_count
    scaleway.redis.v1.NodeType:
      type: object
      properties:
        name:
          type: string
          description: Node type name.
        stock_status:
          type: string
          description: Current stock status of the node type.
          enum:
          - unknown
          - low_stock
          - out_of_stock
          - available
          default: unknown
        description:
          type: string
          description: Current specifications of the offer.
        vcpus:
          type: integer
          description: Number of virtual CPUs.
          format: uint32
        memory:
          type: integer
          description: Quantity of RAM. (in bytes)
          format: uint64
        disabled:
          type: boolean
          description: Defines whether node type is currently disabled or not.
        beta:
          type: boolean
          description: Defines whether node type is currently in beta.
        zone:
          type: string
          description: Zone of the node type.
      x-properties-order:
      - name
      - stock_status
      - description
      - vcpus
      - memory
      - disabled
      - beta
      - zone
    scaleway.redis.v1.SetAclRulesResponse:
      type: object
      properties:
        acl_rules:
          type: array
          description: ACL Rules enabled for the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.ACLRule'
      x-properties-order:
      - acl_rules
    scaleway.redis.v1.SetEndpointsResponse:
      type: object
      properties:
        endpoints:
          type: array
          description: Endpoints defined on the Database Instance.
          items:
            $ref: '#/components/schemas/scaleway.redis.v1.Endpoint'
      x-properties-order:
      - endpoints
    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:
  /redis/v1/zones/{zone}/acls/{acl_id}:
    get:
      tags:
      - ACL Rules
      operationId: GetAclRule
      summary: Get an ACL rule
      description: Retrieve information about an ACL rule of a Redis™ Database Instance
        (Redis™ cluster). You must specify the `acl_id` of the rule in your request.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: acl_id
        description: UUID of the ACL rule you want to get. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.ACLRule'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/acls/{acl_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/acls/{acl_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - ACL Rules
      operationId: DeleteAclRule
      summary: Delete an ACL rule for a cluster
      description: Delete an ACL rule of a Redis™ Database Instance (Redis™ cluster).
        You must specify the `acl_id` of the rule you want to delete in your request.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: acl_id
        description: UUID of the ACL rule you want to delete. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/acls/{acl_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/redis/v1/zones/{zone}/acls/{acl_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/cluster-versions:
    get:
      tags:
      - Redis™ engine versions
      operationId: ListClusterVersions
      summary: List available Redis™ versions
      description: List the Redis™ database engine versions available. You can define
        additional parameters for your query, such as `include_disabled`, `include_beta`,
        `include_deprecated` and `version`.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: query
        name: include_disabled
        description: Defines whether or not to include disabled Redis™ engine versions.
        required: true
        schema:
          type: boolean
      - in: query
        name: include_beta
        description: Defines whether or not to include beta Redis™ engine versions.
        required: true
        schema:
          type: boolean
      - in: query
        name: include_deprecated
        description: Defines whether or not to include deprecated Redis™ engine versions.
        required: true
        schema:
          type: boolean
      - in: query
        name: version
        description: List Redis™ engine versions that match a given name pattern.
        schema:
          type: string
      - 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.redis.v1.ListClusterVersionsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/cluster-versions?include_beta=false&include_deprecated=false&include_disabled=false"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/cluster-versions" \
            X-Auth-Token:$SCW_SECRET_KEY \
            include_beta==false \
            include_deprecated==false \
            include_disabled==false
  /redis/v1/zones/{zone}/clusters:
    get:
      tags:
      - Redis™ Database Instance
      operationId: ListClusters
      summary: List Redis™ Database Instances
      description: List all Redis™ Database Instances (Redis™ cluster) in the specified
        zone. 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`,
        `name`, `organization_id` and `version`.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: query
        name: tags
        description: Filter by Database Instance tags.
        schema:
          type: array
          items:
            type: string
      - in: query
        name: name
        description: Filter by Database Instance names.
        schema:
          type: string
      - in: query
        name: order_by
        description: Criteria to use when ordering the list.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          default: created_at_asc
      - in: query
        name: project_id
        description: Filter by Project ID. (UUID format)
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: organization_id
        description: Filter by Organization ID. (UUID format)
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: version
        description: Filter by Redis™ engine version.
        schema:
          type: string
      - 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.redis.v1.ListClustersResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/clusters" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      tags:
      - Redis™ Database Instance
      operationId: CreateCluster
      summary: Create a Redis™ Database Instance
      description: Create a new Redis™ Database Instance (Redis™ cluster). You must
        set the `zone`, `project_id`, `version`, `node_type`, `user_name` and `password`
        parameters. Optionally you can define `acl_rules`, `endpoints`, `tls_enabled`
        and `cluster_settings`.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: Project ID in which to create the Database Instance.
                    (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                name:
                  type: string
                  description: Name of the Database Instance.
                version:
                  type: string
                  description: Redis™ engine version of the Database Instance.
                tags:
                  type: array
                  description: Tags to apply to the Database Instance.
                  items:
                    type: string
                node_type:
                  type: string
                  description: Type of node to use for the Database Instance.
                user_name:
                  type: string
                  description: Name of the user created upon Database Instance creation.
                password:
                  type: string
                  description: Password of the user.
                cluster_size:
                  type: integer
                  description: Number of nodes in the Redis™ cluster.
                  format: int32
                  nullable: true
                acl_rules:
                  type: array
                  description: List of ACLRuleSpec used to secure your publicly exposed
                    cluster.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.ACLRuleSpec'
                endpoints:
                  type: array
                  description: |-
                    Zero or multiple EndpointSpec used to expose your cluster publicly and inside Private Networks.
                    Zero or multiple EndpointSpec used to expose your cluster publicly and inside private networks. If no EndpoindSpec is given the cluster will be publicly exposed by default.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.EndpointSpec'
                tls_enabled:
                  type: boolean
                  description: Defines whether or not TLS is enabled.
                cluster_settings:
                  type: array
                  description: List of advanced settings to be set upon Database Instance
                    initialization.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.ClusterSetting'
              required:
              - project_id
              - version
              - node_type
              - user_name
              - password
              x-properties-order:
              - project_id
              - name
              - version
              - tags
              - node_type
              - user_name
              - password
              - cluster_size
              - acl_rules
              - endpoints
              - tls_enabled
              - cluster_settings
      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",
              "node_type": "string",
              "password": "string",
              "project_id": "6170692e-7363-616c-6577-61792e636f6d",
              "tls_enabled": false,
              "user_name": "string",
              "version": "string"
            }' \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string" \
            node_type="string" \
            password="string" \
            project_id="6170692e-7363-616c-6577-61792e636f6d" \
            tls_enabled:=false \
            user_name="string" \
            version="string"
  /redis/v1/zones/{zone}/clusters/{cluster_id}:
    get:
      tags:
      - Redis™ Database Instance
      operationId: GetCluster
      summary: Get a Redis™ Database Instance
      description: Retrieve information about a Redis™ Database Instance (Redis™ cluster).
        Specify the `cluster_id` and `region` in your request to get information such
        as `id`, `status`, `version`, `tls_enabled`, `cluster_settings`, `upgradable_versions`
        and `endpoints` about your cluster in the response.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the cluster. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Redis™ Database Instance
      operationId: UpdateCluster
      summary: Update a Redis™ Database Instance
      description: Update the parameters of a Redis™ Database Instance (Redis™ cluster),
        including `name`, `tags`, `user_name` and `password`.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance to update. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the Database Instance.
                  nullable: true
                tags:
                  type: array
                  description: Database Instance tags.
                  nullable: true
                  items:
                    type: string
                user_name:
                  type: string
                  description: Name of the Database Instance user.
                  nullable: true
                password:
                  type: string
                  description: Password of the Database Instance user.
                  nullable: true
              x-properties-order:
              - name
              - tags
              - user_name
              - password
      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/redis/v1/zones/{zone}/clusters/{cluster_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Redis™ Database Instance
      operationId: DeleteCluster
      summary: Delete a Redis™ Database Instance
      description: Delete a Redis™ Database Instance (Redis™ cluster), specified by
        the `region` and `cluster_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: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance to delete. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/clusters/{cluster_id}/acls:
    post:
      tags:
      - ACL Rules
      operationId: AddAclRules
      summary: Add ACL rules for a cluster
      description: Add an additional ACL rule to a Redis™ Database Instance (Redis™
        cluster).
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance you want to add ACL rules to. (UUID
          format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.AddAclRulesResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                acl_rules:
                  type: array
                  description: ACLs rules to add to the cluster.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.ACLRuleSpec'
              required:
              - acl_rules
              x-properties-order:
              - acl_rules
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"acl_rules":[""]}' \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/acls"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY \
            acl_rules:='[""]'
    put:
      tags:
      - ACL Rules
      operationId: SetAclRules
      summary: Set ACL rules for a cluster
      description: Replace all the ACL rules of a Redis™ Database Instance (Redis™
        cluster).
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance where the ACL rules have to be
          set. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.SetAclRulesResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                acl_rules:
                  type: array
                  description: ACLs rules to define for the cluster.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.ACLRuleSpec'
              required:
              - acl_rules
              x-properties-order:
              - acl_rules
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PUT \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"acl_rules":[""]}' \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/acls"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY \
            acl_rules:='[""]'
  /redis/v1/zones/{zone}/clusters/{cluster_id}/certificate:
    get:
      tags:
      - TLS Certificates
      operationId: GetClusterCertificate
      summary: Get the TLS certificate of a cluster
      description: Retrieve information about the TLS certificate of a Redis™ Database
        Instance (Redis™ cluster). Details like name and content are returned in the
        response.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the cluster. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      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/redis/v1/zones/{zone}/clusters/{cluster_id}/certificate"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/certificate" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/clusters/{cluster_id}/endpoints:
    post:
      tags:
      - Endpoints
      operationId: AddEndpoints
      summary: Add endpoints for a cluster
      description: Add a new endpoint for a Redis™ Database Instance (Redis™ cluster).
        You can add `private_network` or `public_network` specifications to the body
        of the request.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance you want to add endpoints to. (UUID
          format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.AddEndpointsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                endpoints:
                  type: array
                  description: Endpoints to add to the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.EndpointSpec'
              required:
              - endpoints
              x-properties-order:
              - endpoints
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"endpoints":[""]}' \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/endpoints"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/endpoints" \
            X-Auth-Token:$SCW_SECRET_KEY \
            endpoints:='[""]'
    put:
      tags:
      - Endpoints
      operationId: SetEndpoints
      summary: Set endpoints for a cluster
      description: Update an endpoint for a Redis™ Database Instance (Redis™ cluster).
        You must specify the `cluster_id` and the `endpoints` parameters in your request.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance where the endpoints have to be
          set. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.SetEndpointsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                endpoints:
                  type: array
                  description: Endpoints to define for the Database Instance.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.EndpointSpec'
              required:
              - endpoints
              x-properties-order:
              - endpoints
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X PUT \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{"endpoints":[""]}' \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/endpoints"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/endpoints" \
            X-Auth-Token:$SCW_SECRET_KEY \
            endpoints:='[""]'
  /redis/v1/zones/{zone}/clusters/{cluster_id}/metrics:
    get:
      tags:
      - Redis™ Database Instance
      operationId: GetClusterMetrics
      summary: Get metrics of a Redis™ Database Instance
      description: Retrieve the metrics of a Redis™ Database Instance (Redis™ cluster).
        You can define the period from which to retrieve metrics by specifying the
        `start_date` and `end_date`.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the cluster. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: start_at
        description: Start date. (RFC 3339 format)
        schema:
          type: string
          format: date-time
          example: "2022-03-22T12:34:56.123456Z"
      - in: query
        name: end_at
        description: End date. (RFC 3339 format)
        schema:
          type: string
          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
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.ClusterMetricsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/metrics"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/metrics" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/clusters/{cluster_id}/migrate:
    post:
      tags:
      - Redis™ Database Instance
      operationId: MigrateCluster
      summary: Scale up a Redis™ Database Instance
      description: Upgrade your Redis™ Database Instance, either by upgrading to a
        bigger node type (vertical scaling) or by adding more nodes to your Database
        Instance to increase your number of endpoints and distribute cache (horizontal
        scaling, available for clusters only). Note that scaling horizontally your
        Redis™ Database Instance will not renew its TLS certificate. In order to refresh
        the TLS certificate, you must use the Renew TLS certificate endpoint.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance to update. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                  description: Redis™ engine version of the Database Instance.
                  nullable: true
                  x-one-of: action
                node_type:
                  type: string
                  description: Type of node to use for the Database Instance.
                  nullable: true
                  x-one-of: action
                cluster_size:
                  type: integer
                  description: Number of nodes for the Database Instance.
                  format: uint32
                  nullable: true
                  x-one-of: action
              x-properties-order:
              - version
              - node_type
              - cluster_size
      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/redis/v1/zones/{zone}/clusters/{cluster_id}/migrate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/migrate" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/clusters/{cluster_id}/renew-certificate:
    post:
      tags:
      - TLS Certificates
      operationId: RenewClusterCertificate
      summary: Renew the TLS certificate of a cluster
      description: Renew a TLS certificate for a Redis™ Database Instance (Redis™
        cluster). 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: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the cluster. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      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/redis/v1/zones/{zone}/clusters/{cluster_id}/renew-certificate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/renew-certificate" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/clusters/{cluster_id}/settings:
    post:
      tags:
      - Advanced Settings
      operationId: AddClusterSettings
      summary: Add advanced settings
      description: Add an advanced setting to a Redis™ Database Instance (Redis™ cluster).
        You must set the `name` and the `value` of each setting.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance you want to add settings to. (UUID
          format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.ClusterSettingsResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                settings:
                  type: array
                  description: Settings to add to the cluster.
                  items:
                    $ref: '#/components/schemas/scaleway.redis.v1.ClusterSetting'
              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/redis/v1/zones/{zone}/clusters/{cluster_id}/settings"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/settings" \
            X-Auth-Token:$SCW_SECRET_KEY \
            settings:='[""]'
    put:
      tags:
      - Advanced Settings
      operationId: SetClusterSettings
      summary: Set advanced settings
      description: Update an advanced setting for a Redis™ Database Instance (Redis™
        cluster). Settings added upon database engine initialization can only be defined
        once, and cannot, therefore, be updated.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance where the settings must be set.
          (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.ClusterSettingsResponse'
      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.redis.v1.ClusterSetting'
              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/redis/v1/zones/{zone}/clusters/{cluster_id}/settings"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/settings" \
            X-Auth-Token:$SCW_SECRET_KEY \
            settings:='[""]'
  /redis/v1/zones/{zone}/clusters/{cluster_id}/settings/{setting_name}:
    delete:
      tags:
      - Advanced Settings
      operationId: DeleteClusterSetting
      summary: Delete advanced setting
      description: Delete an advanced setting in a Redis™ Database Instance (Redis™
        cluster). You must specify the names of the settings you want to delete in
        the request body.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: cluster_id
        description: UUID of the Database Instance where the settings must be set.
          (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: path
        name: setting_name
        description: Setting name to delete.
        required: true
        schema:
          type: string
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/settings/{setting_name}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/redis/v1/zones/{zone}/clusters/{cluster_id}/settings/{setting_name}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/endpoints/{endpoint_id}:
    get:
      tags:
      - Endpoints
      operationId: GetEndpoint
      summary: Get an endpoint
      description: Retrieve information about a Redis™ Database Instance (Redis™ cluster)
        endpoint. Full details about the endpoint, like `ips`, `port`, `private_network`
        and `public_network` specifications are returned in the response.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: endpoint_id
        description: UUID of the endpoint you want to get. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Endpoint'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/endpoints/{endpoint_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/endpoints/{endpoint_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      tags:
      - Endpoints
      operationId: UpdateEndpoint
      summary: Update an endpoint
      description: Update information about a Redis™ Database Instance (Redis™ cluster)
        endpoint. Full details about the endpoint, like `ips`, `port`, `private_network`
        and `public_network` specifications are returned in the response.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: endpoint_id
        description: UUID of the endpoint you want to get. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Endpoint'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                private_network:
                  type: object
                  description: Private Network details.
                  properties:
                    id:
                      type: string
                      description: UUID of the Private Network to connect to the Database
                        Instance. (UUID format)
                      example: 6170692e-7363-616c-6577-61792e636f6d
                    service_ips:
                      type: array
                      description: Endpoint IPv4 address with a CIDR notation. You
                        must provide at least one IPv4 per node. (IP network)
                      example:
                      - 1.2.3.4/32
                      items:
                        type: string
                    ipam_config:
                      type: object
                      description: Automated configuration of your Private Network
                        endpoint with Scaleway IPAM service.
                  nullable: true
                  x-properties-order:
                  - id
                  - service_ips
                  - ipam_config
                  x-one-of: endpoint_type
                public_network:
                  type: object
                  description: Public network details.
                  nullable: true
                  x-one-of: endpoint_type
              x-properties-order:
              - private_network
              - public_network
      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/redis/v1/zones/{zone}/endpoints/{endpoint_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/redis/v1/zones/{zone}/endpoints/{endpoint_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      tags:
      - Endpoints
      operationId: DeleteEndpoint
      summary: Delete an endpoint for a cluster
      description: Delete the endpoint of a Redis™ Database Instance (Redis™ cluster).
        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: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: path
        name: endpoint_id
        description: UUID of the endpoint you want to delete. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.redis.v1.Cluster'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X DELETE \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/endpoints/{endpoint_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/redis/v1/zones/{zone}/endpoints/{endpoint_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /redis/v1/zones/{zone}/node-types:
    get:
      tags:
      - Nodes Types
      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: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - pl-waw-1
          - pl-waw-2
      - in: query
        name: include_disabled_types
        description: Defines whether or not to include disabled types.
        required: true
        schema:
          type: boolean
      - 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.redis.v1.ListNodeTypesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X GET \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            "https://api.scaleway.com/redis/v1/zones/{zone}/node-types?include_disabled_types=false"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/redis/v1/zones/{zone}/node-types" \
            X-Auth-Token:$SCW_SECRET_KEY \
            include_disabled_types==false
