openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS Protection, Object Storage, Streaming, and FastEdge services.
  version: 811c04993481
servers:
- url: https://api.gcore.com
paths:
  /cloud/v2/baremetal/{project_id}/{region_id}/{server_id}/action:
    post:
      operationId: BMInstancesActionHandler.post
      summary: Execute bare metal server action
      description: 'The action can be one of: start, stop, reboot or `reboot_hard`.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BareMetalActionSerializer'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.baremetal.servers.action(
              server_id="024a29e-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
              action="start",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Baremetal.Servers.Action(
          		context.TODO(),
          		"024a29e-b4b7-4c91-9a46-505be123d9f8",
          		cloud.BaremetalServerActionParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/baremetal/{project_id}/{region_id}/{server_id}/get_console:
    get:
      operationId: BMInstanceConsoleHandler.get
      summary: Get bare metal server console URL
      description: Returns a URL to access the remote console for a bare metal server.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      - in: query
        name: console_type
        required: false
        description: Console type you expect the server to give. The server hardware sets the available types. A value that the hardware does not give causes an error. Omit this parameter to accept the type of the server.
        schema:
          $ref: '#/components/schemas/BareMetalConsoleType'
          description: Console type you expect the server to give. The server hardware sets the available types. A value that the hardware does not give causes an error. Omit this parameter to accept the type of the server.
          examples:
          - vnc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteConsoleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
  /cloud/v1/bmcapacity/{project_id}/{region_id}:
    get:
      operationId: BmCapacityHandler.get
      summary: Get bare metal capacity
      description: |-
        Get the number of available bare metal nodes per flavor
        in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BmCapacityResponse'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
  /cloud/v2/bmcapacity/{region_id}:
    get:
      operationId: ClientBmCapacityHandler.get
      summary: Get bare metal capacity from default project
      description: |-
        Get the number of available bare metal nodes without
        client's reservations in the default project.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BmCapacityResponse'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
  /cloud/v1/bmflavors/{project_id}/{region_id}:
    get:
      operationId: BmFlavorsViewSet.get
      summary: List bare metal flavors
      description: |-
        List all available bare metal flavors in the specified project and region.
        When `include_prices` is specified, the list includes pricing information.
        A client in trial mode gets all price values as 0. If you get Pricing Error contact the support.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: disabled
        required: false
        description: Flag for filtering disabled flavors in the region
        schema:
          default: true
          description: Flag for filtering disabled flavors in the region
          title: Disabled
          type: boolean
      - in: query
        name: exclude_linux
        required: false
        description: Set to true to exclude flavors dedicated to linux images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to linux images
          title: Exclude Linux
          type: boolean
      - in: query
        name: exclude_windows
        required: false
        description: Set to true to exclude flavors dedicated to windows images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to windows images
          title: Exclude Windows
          type: boolean
      - in: query
        name: include_capacity
        required: false
        description: Set to true if the response should include flavor capacity
        schema:
          default: false
          description: Set to true if the response should include flavor capacity
          title: Include Capacity
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to true if the response should include flavor prices
        schema:
          default: false
          deprecated: true
          description: Set to true if the response should include flavor prices
          title: Include Prices
          type: boolean
      - in: query
        name: include_reservation_stock
        required: false
        description: Optional. Set to true if flavor listing should include count of reserved resources in stock.
        schema:
          default: false
          description: Optional. Set to true if flavor listing should include count of reserved resources in stock.
          title: Include Reservation Stock
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalFlavorExtendedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.baremetal.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.flavor_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Baremetal.Flavors.List(context.TODO(), cloud.BaremetalFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/bmflavors/{region_id}:
    get:
      operationId: DefaultBmFlavorsViewSet.get
      summary: List bare metal flavors from default project
      description: |-
        List all available bare metal flavors in the default project.
        When `include_prices` is specified, the list includes pricing information.
        A client in trial mode gets all price values as 0. If you get Pricing Error contact the support.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: client_id
        required: false
        description: Client identifier. Must be used for users w/o `client_id` in jwt
        schema:
          description: Client identifier. Must be used for users w/o `client_id` in jwt
          title: Client Id
          type: integer
      - in: query
        name: disabled
        required: false
        description: Flag for filtering disabled flavors in the region
        schema:
          default: true
          description: Flag for filtering disabled flavors in the region
          title: Disabled
          type: boolean
      - in: query
        name: exclude_linux
        required: false
        description: Set to true to exclude flavors dedicated to linux images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to linux images
          title: Exclude Linux
          type: boolean
      - in: query
        name: exclude_windows
        required: false
        description: Set to true to exclude flavors dedicated to windows images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to windows images
          title: Exclude Windows
          type: boolean
      - in: query
        name: include_capacity
        required: false
        description: Set to true if the response should include flavor capacity
        schema:
          default: false
          description: Set to true if the response should include flavor capacity
          title: Include Capacity
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to true if the response should include flavor prices
        schema:
          default: false
          deprecated: true
          description: Set to true if the response should include flavor prices
          title: Include Prices
          type: boolean
      - in: query
        name: include_reservation_stock
        required: false
        description: Optional. Set to true if flavor listing should include count of reserved resources in stock.
        schema:
          default: false
          description: Optional. Set to true if flavor listing should include count of reserved resources in stock.
          title: Include Reservation Stock
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalFlavorExtendedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
  /cloud/v1/bminstances/{project_id}/{region_id}:
    post:
      operationId: BmInstanceCreateSet.post
      summary: Create bare metal server
      description: |-
        Create a new bare metal server with the specified configuration.

        How to get access:

        For Linux,

          - Use the `user_data` field to provide a
          [cloud-init script](https://cloudinit.readthedocs.io/en/latest/reference/examples.html)
          in base64 to apply configurations to the instance.
          - Specify the `username` and `password` to create a new user.
          - When only `password` is provided, it is set as the password for the default user of the image.
          - The `user_data` is ignored when the `password` is specified.


        For Windows,

          - Use the `user_data` field to provide a
          [cloudbase-init script](https://cloudbase-init.readthedocs.io/en/latest/userdata.html#cloud-config)
          in base64 to create new users on Windows.
          - Use the `password` field to set the password for the 'Admin' user on Windows.
          - The password of the Admin user cannot be updated via `user_data`.
          - The `username` cannot be specified in the request.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBareMetalServerSerializer'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.baremetal.servers.create(
              project_id=1,
              region_id=1,
              flavor="bm2-hf-medium",
              interfaces=[{
                  "type": "external"
              }],
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Baremetal.Servers.New(context.TODO(), cloud.BaremetalServerNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Flavor:    "bm2-hf-medium",
          		Interfaces: []cloud.BaremetalServerNewParamsInterfaceUnion{{
          			OfExternal: &cloud.BaremetalServerNewParamsInterfaceExternal{},
          		}},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: BmInstanceCreateSet.get
      summary: List bare metal servers
      description: |-
        List all bare metal servers in the specified project and region.
        Results can be filtered by various parameters like name, status, and IP address.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: changes-before
        required: false
        description: Filters the instances by a date and time stamp when the instances last changed.
        schema:
          description: Filters the instances by a date and time stamp when the instances last changed.
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changes-Before
          type: string
      - in: query
        name: changes-since
        required: false
        description: Filters the instances by a date and time stamp when the instances last changed status.
        schema:
          description: Filters the instances by a date and time stamp when the instances last changed status.
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changes-Since
          type: string
      - in: query
        name: flavor_id
        required: false
        description: Filter out instances by `flavor_id`. Flavor id must match exactly.
        schema:
          description: Filter out instances by `flavor_id`. Flavor id must match exactly.
          example: bm2-hf-small
          examples:
          - bm2-hf-small
          title: Flavor Id
          type: string
      - in: query
        name: flavor_prefix
        required: false
        description: Filter out instances by `flavor_prefix`.
        schema:
          description: Filter out instances by `flavor_prefix`.
          example: bm2-
          examples:
          - bm2-
          - bm2-hf
          title: Flavor Prefix
          type: string
      - in: query
        name: include_k8s
        required: false
        description: Include managed k8s worker nodes
        schema:
          default: true
          description: Include managed k8s worker nodes
          title: Include K8S
          type: boolean
      - in: query
        name: ip
        required: false
        description: 'An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.'
        schema:
          description: 'An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.'
          example: 192.168.0.1
          examples:
          - 192.168.0.1
          title: Ip
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.
        schema:
          description: Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: only_isolated
        required: false
        description: Include only isolated instances
        schema:
          default: false
          description: Include only isolated instances
          title: Only Isolated
          type: boolean
      - in: query
        name: only_with_fixed_external_ip
        required: false
        description: Return bare metals only with external fixed IP addresses.
        schema:
          description: Return bare metals only with external fixed IP addresses.
          example: true
          examples:
          - true
          title: Only With Fixed External Ip
          type: boolean
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/BareMetalOrderByChoices'
          default: created.desc
          description: Order by field and direction.
          examples:
          - name.asc
      - in: query
        name: profile_name
        required: false
        description: Filter result by ddos protection profile name. Effective only with `with_ddos` set to true.
        schema:
          description: Filter result by ddos protection profile name. Effective only with `with_ddos` set to true.
          example: profile_name
          examples:
          - profile_name
          title: Profile Name
          type: string
      - in: query
        name: protection_status
        required: false
        description: Filter result by DDoS `protection_status`. Effective only with `with_ddos` set to true. (Active, Queued or Error)
        schema:
          description: Filter result by DDoS `protection_status`. Effective only with `with_ddos` set to true. (Active, Queued or Error)
          enum:
          - Active
          - Queued
          - Error
          example: Active
          examples:
          - Active
          title: Protection Status
          type: string
      - in: query
        name: status
        required: false
        description: Filters instances by a server status, as a string.
        schema:
          $ref: '#/components/schemas/BareMetalStatusQueryChoices'
          description: Filters instances by a server status, as a string.
          examples:
          - ACTIVE
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id001
            key: value
          examples:
          - *id001
          title: Tag Key Value
          type: string
      - in: query
        name: tag_value
        required: false
        description: Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2
        schema:
          description: Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2
          example: &id002
          - value1
          - value2
          examples:
          - *id002
          items:
            description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag-value
            examples:
            - my-tag-value
            maxLength: 255
            minLength: 1
            pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
            type: string
          title: Tag Value
          type: array
      - in: query
        name: type_ddos_profile
        required: false
        description: Return bare metals either only with advanced or only basic DDoS protection. Effective only with `with_ddos` set to true. (advanced or basic)
        schema:
          description: Return bare metals either only with advanced or only basic DDoS protection. Effective only with `with_ddos` set to true. (advanced or basic)
          enum:
          - basic
          - advanced
          example: advanced
          examples:
          - advanced
          title: Type Ddos Profile
          type: string
      - in: query
        name: uuid
        required: false
        description: Filter the server list result by the UUID of the server. Allowed UUID part
        schema:
          description: Filter the server list result by the UUID of the server. Allowed UUID part
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          maxLength: 36
          title: Uuid
          type: string
      - in: query
        name: with_ddos
        required: false
        description: Include DDoS profile information for bare-metal servers in the response when set to `true`. Otherwise, the `ddos_profile` field in the response is `null` by default.
        schema:
          default: false
          description: Include DDoS profile information for bare-metal servers in the response when set to `true`. Otherwise, the `ddos_profile` field in the response is `null` by default.
          example: true
          examples:
          - true
          title: With Ddos
          type: boolean
      - in: query
        name: with_interfaces_name
        required: false
        description: Include `interface_name` in the addresses
        schema:
          default: false
          description: Include `interface_name` in the addresses
          example: true
          examples:
          - true
          title: With Interfaces Name
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalServerCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.baremetal.servers.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Baremetal.Servers.List(context.TODO(), cloud.BaremetalServerListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/bminstances/{project_id}/{region_id}/{server_id}:
    get:
      operationId: BMInstancesViewSet.get
      summary: Get bare metal server
      description: |-
        Retrieve detailed information about a specific baremetal instance.
        This endpoint always returns `ddos_profile` (if present) and therefore always requires `DDOS_READ`.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalServerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          baremetal_server = client.cloud.baremetal.servers.get(
              server_id="024a29e-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(baremetal_server.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	baremetalServer, err := client.Cloud.Baremetal.Servers.Get(
          		context.TODO(),
          		"024a29e-b4b7-4c91-9a46-505be123d9f8",
          		cloud.BaremetalServerGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", baremetalServer.ID)
          }
    patch:
      operationId: BMInstancesViewSet.patch
      summary: Update bare metal server
      description: Rename bare metal server or update tags
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalServerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBareMetalServerSerializer'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          baremetal_server = client.cloud.baremetal.servers.update(
              server_id="024a29e-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(baremetal_server.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	baremetalServer, err := client.Cloud.Baremetal.Servers.Update(
          		context.TODO(),
          		"024a29e-b4b7-4c91-9a46-505be123d9f8",
          		cloud.BaremetalServerUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", baremetalServer.ID)
          }
    delete:
      operationId: BMInstancesViewSet.delete
      summary: Delete bare metal server
      description: Delete a bare metal server and it's associated resources
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      - in: query
        name: all_floating_ips
        required: false
        description: True if it is required to delete floating IPs assigned to the instance. Can't be used with `floating_ip_ids`.
        schema:
          default: false
          description: True if it is required to delete floating IPs assigned to the instance. Can't be used with `floating_ip_ids`.
          title: All Floating Ips
          type: boolean
      - in: query
        name: all_reserved_fixed_ips
        required: false
        description: True if it is required to delete reserved fixed IPs assigned to the instance. Can't be used with `reserved_fixed_ip_ids`.
        schema:
          default: false
          description: True if it is required to delete reserved fixed IPs assigned to the instance. Can't be used with `reserved_fixed_ip_ids`.
          title: All Reserved Fixed Ips
          type: boolean
      - in: query
        name: floating_ip_ids
        required: false
        description: Comma separated list of floating ids that should be deleted. Can't be used with `all_floating_ips`.
        schema:
          description: Comma separated list of floating ids that should be deleted. Can't be used with `all_floating_ips`.
          title: Floating Ip Ids
          type: string
      - in: query
        name: reserved_fixed_ip_ids
        required: false
        description: Comma separated list of port IDs to be deleted with the instance
        schema:
          description: Comma separated list of port IDs to be deleted with the instance
          title: Reserved Fixed Ip Ids
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.baremetal.servers.delete(
              server_id="024a29e-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Baremetal.Servers.Delete(
          		context.TODO(),
          		"024a29e-b4b7-4c91-9a46-505be123d9f8",
          		cloud.BaremetalServerDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/bminstances/{project_id}/{region_id}/{server_id}/rebuild:
    post:
      operationId: BmInstanceRebuildHandler.post
      summary: Rebuild bare metal server
      description: Rebuild a bare metal server with a new image while preserving its configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server ID
        schema:
          description: Server ID
          example: 024a29e-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RebuildBaremetalSerializer'
      tags:
      - Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.baremetal.servers.rebuild(
              server_id="024a29e-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Baremetal.Servers.Rebuild(
          		context.TODO(),
          		"024a29e-b4b7-4c91-9a46-505be123d9f8",
          		cloud.BaremetalServerRebuildParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/bminstances/{project_id}/{region_id}/available_flavors:
    post:
      operationId: BMInstanceAvailableFlavorsHandler.post
      summary: List flavors matching image requirements
      description: List all flavors that are suitable for creating a bare metal server with the specified image.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: include_prices
        required: false
        description: Set to true if flavor listing should include flavor prices.
        schema:
          description: Set to true if flavor listing should include flavor prices.
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalFlavorExtendedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AvailableBaremetalFlavorsBodySerializer'
      tags:
      - Bare Metal
  /cloud/v1/bminstances/{project_id}/{region_id}/check_limits:
    post:
      operationId: BMInstanceCheckLimitsHandler.post
      summary: Check bare metal quota
      description: |-
        Check if the regional quota is exceeded for bare metal server creation.
        If exceeded, calculate additional quotas needed.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionRequestedQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeBMCreationSerializer'
      tags:
      - Bare Metal
  /cloud/v1/caas/{project_id}/{region_id}/check_limits:
    post:
      operationId: ContainerCheckLimitsHandler.post
      summary: Check container quota
      description: |-
        Check if regional quota is exceeded, if yes the number of additional
        quotas needed to create the specified cluster will be calculated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerQuotaCheckSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeContainerCreation'
      tags:
      - Container as a Service
  /cloud/v1/caas/{project_id}/{region_id}/containers:
    post:
      operationId: ContainersHandler.post
      summary: Create container
      description: Create a new container with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerCreateSerializer'
      tags:
      - Container as a Service
    get:
      operationId: ContainersHandler.get
      summary: List containers
      description: List all containers in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/{project_id}/{region_id}/containers/{container_name}:
    get:
      operationId: ContainerHandler.get
      summary: Get container
      description: Get detailed information about a specific container.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: container_name
        required: true
        description: Container name
        schema:
          description: Container name
          example: my-container
          examples:
          - my-container
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Container Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
    patch:
      operationId: ContainerHandler.patch
      summary: Update container
      description: Update the configuration of an existing container.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: container_name
        required: true
        description: Container name
        schema:
          description: Container name
          example: my-container
          examples:
          - my-container
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Container Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerPatchSerializer'
      tags:
      - Container as a Service
    delete:
      operationId: ContainerHandler.delete
      summary: Delete container
      description: Delete a container and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: container_name
        required: true
        description: Container name
        schema:
          description: Container name
          example: my-container
          examples:
          - my-container
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Container Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/{project_id}/{region_id}/containers/{container_name}/logs:
    get:
      operationId: LogsContainerHandler.get
      summary: Get container logs
      description: Get the logs for a specific container.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: container_name
        required: true
        description: Container name
        schema:
          description: Container name
          example: my-container
          examples:
          - my-container
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Container Name
          type: string
      - in: query
        name: limit
        required: false
        description: Limit the number of logs lines
        schema:
          default: 1000
          description: Limit the number of logs lines
          example: 10
          examples:
          - 10
          maximum: 100000
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasLogsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/flavors/{project_id}/{region_id}:
    get:
      operationId: CaaSFlavorsHandler.get
      summary: List container flavors
      description: List all available container flavors in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: name
        required: false
        description: Flavor name
        schema:
          anyOf:
          - pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}M[i]?B$
            type: string
          - type: 'null'
          default: null
          description: Flavor name
          examples:
          - 128mCPU-128MiB
          title: Name
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasFlavorListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/keys/{project_id}/{region_id}:
    post:
      operationId: CaaSAuthKeysHandler.post
      summary: Create API key
      description: Create a new API key for container authentication.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasApiKeyCreateResultSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaasApiKeyCreateSerializer'
      tags:
      - Container as a Service
    get:
      operationId: CaaSAuthKeysHandler.get
      summary: List API keys
      description: List all API keys in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasApiKeyListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/keys/{project_id}/{region_id}/{key_name}:
    get:
      operationId: CaaSAuthKeyHandler.get
      summary: Get API key
      description: Get detailed information about a specific API key.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasApiKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
    patch:
      operationId: CaaSAuthKeyHandler.patch
      summary: Update API key
      description: Update the configuration of an existing API key.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaasApiKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaasApiKeyUpdateSerializer'
      tags:
      - Container as a Service
    delete:
      operationId: CaaSAuthKeyHandler.delete
      summary: Delete API key
      description: Delete an API key and revoke its access.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Key Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/secrets/{project_id}/{region_id}:
    post:
      operationId: CaaSPullSecretsHandler.post
      summary: Create pull secret
      description: Create a new pull secret for container image registry authentication.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullSecretSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PullSecretCreateSerializer'
      tags:
      - Container as a Service
    get:
      operationId: CaaSPullSecretsHandler.get
      summary: List pull secrets
      description: List all pull secrets in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullSecretListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/caas/secrets/{project_id}/{region_id}/{secret_name}:
    get:
      operationId: PullSecretHandler.get
      summary: Get pull secret
      description: Get detailed information about a specific pull secret.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Pull secret name
        schema:
          description: Pull secret name
          example: secret-name
          examples:
          - secret-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Secret Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullSecretSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
    patch:
      operationId: PullSecretHandler.patch
      summary: Update pull secret
      description: Update the configuration of an existing pull secret.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Pull secret name
        schema:
          description: Pull secret name
          example: secret-name
          examples:
          - secret-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Secret Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullSecretSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PullSecretUpdateSerializer'
      tags:
      - Container as a Service
    delete:
      operationId: PullSecretHandler.delete
      summary: Delete pull secret
      description: Delete a pull secret.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project id
        schema:
          description: Project id
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region id
        schema:
          description: Region id
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Pull secret name
        schema:
          description: Pull secret name
          example: secret-name
          examples:
          - secret-name
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Secret Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Container as a Service
  /cloud/v1/pricing/{project_id}/{region_id}/caas:
    post:
      operationId: CaasPricingHandler.post
      summary: Preview container price
      description: Preview the billing price for a container based on the provided specifications.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerPriceRequestSerializer'
      tags:
      - Container as a Service
  /cloud/v2/cost_report/breakdown:
    post:
      operationId: CostReportBreakdownHandler.post
      summary: Get daily cost breakdown (pay-as-you-go only)
      description: |-
        Get daily costs for a given period, summed down to one dimension: region (default),
        project, resource type or flavor. Requested period should not exceed 31 days.
        Costs and usages are returned at full precision.

        The response can have more than one row for one day and one `group_by` value (for example, one region
        on one day). Usage with a different unit (`usage.unit`, for example `minutes` or `bytes`) is in a
        different row. Usage without a price (`error` is not null) is also in a different row.

        Note: This report assumes there are no active commit features in the billing plan.
        If there are active commit features (pre-paid resources) in your plan, use /v1/`reservation_cost_report`/totals,
        as the results from this report will not be accurate.

        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: Daily cost breakdown
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostReportBreakdownResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostReportBreakdownRequestSerializer'
      tags:
      - Cost Reports
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from datetime import datetime
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          cost_report_breakdown = client.cloud.cost_reports.get_breakdown(
              time_from=datetime.fromisoformat("2023-01-01T00:00:00"),
              time_to=datetime.fromisoformat("2023-02-01T00:00:00"),
          )
          print(cost_report_breakdown.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"
          	"time"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	costReportBreakdown, err := client.Cloud.CostReports.GetBreakdown(context.TODO(), cloud.CostReportGetBreakdownParams{
          		TimeFrom: time.Now(),
          		TimeTo:   time.Now(),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", costReportBreakdown.Count)
          }
  /cloud/v2/cost_report/resources:
    post:
      operationId: CostReportResourcesV2Handler.post
      summary: Get cost report resources sorted by cost (pay-as-you-go only)
      description: |-
        Get a detailed cost report for a given period and specific resources, sorted by cost by default.
        Requested period should not exceed 31 days. Costs and usages are always returned at full precision.

        Note: This report assumes there are no active commit features in the billing plan.
        If there are active commit features (pre-paid resources) in your plan, use /v1/`reservation_cost_report`/totals,
        as the results from this report will not be accurate.

        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: Cost report resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostReportResourcesV2ResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostReportResourcesV2RequestSerializer'
      tags:
      - Cost Reports
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from datetime import datetime
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          cost_report_detailed = client.cloud.cost_reports.get_detailed(
              time_from=datetime.fromisoformat("2023-01-01T00:00:00"),
              time_to=datetime.fromisoformat("2023-02-01T00:00:00"),
          )
          print(cost_report_detailed.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"
          	"time"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	costReportDetailed, err := client.Cloud.CostReports.GetDetailed(context.TODO(), cloud.CostReportGetDetailedParams{
          		TimeFrom: time.Now(),
          		TimeTo:   time.Now(),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", costReportDetailed.Count)
          }
  /cloud/v1/reservation_cost_report/totals:
    post:
      operationId: ReservationCostReportTotalsHandler.post
      summary: Get monthly cost report totals (commits and pay-as-you-go)
      description: |-
        Retrieve a detailed cost report totals for a specified month, which includes
        both commit and pay-as-you-go (overcommit) prices.
        Additionally, it provides the spent billing units (e.g., hours or GB) for resources.
        The "time_to" parameter represents all days in the specified month.

        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationCostReportTotalsResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationCostReportTotalsRequestSerializer'
      tags:
      - Cost Reports
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          cost_report_aggregated_monthly = client.cloud.cost_reports.get_aggregated_monthly()
          print(cost_report_aggregated_monthly.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	costReportAggregatedMonthly, err := client.Cloud.CostReports.GetAggregatedMonthly(context.TODO(), cloud.CostReportGetAggregatedMonthlyParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", costReportAggregatedMonthly.Count)
          }
  /cloud/v1/usage_report:
    post:
      operationId: UsageReportHandler.post
      summary: Get usage statistics report
      description: |-
        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageReportResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UsageReportRequestSerializer'
      tags:
      - Cost Reports
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from datetime import datetime
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          usage_report = client.cloud.usage_reports.get(
              time_from=datetime.fromisoformat("2023-01-01T00:00:00"),
              time_to=datetime.fromisoformat("2023-02-01T00:00:00"),
          )
          print(usage_report.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"
          	"time"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	usageReport, err := client.Cloud.UsageReports.Get(context.TODO(), cloud.UsageReportGetParams{
          		TimeFrom: time.Now(),
          		TimeTo:   time.Now(),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", usageReport.Count)
          }
  /cloud/v1/cost_report/resources:
    post:
      operationId: CostReportResourcesHandler.post
      summary: Get cost report resources (pay-as-you-go only)
      description: |-
        **Deprecated** Use `/v2/cost_report/resources` instead.

        Get a detailed cost report for a given period and specific resources.
        Requested period should not exceed 31 days.

        Note: This report assumes there are no active commit features in the billing plan.
        If there are active commit features (pre-paid resources) in your plan, use /v1/`reservation_cost_report`/totals,
        as the results from this report will not be accurate.

        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostReportResourcesResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostReportResourcesRequestSerializer'
      tags:
      - Cost Reports
  /cloud/v1/cost_report/totals:
    post:
      operationId: CostReportTotalsHandler.post
      summary: Get cost report totals (pay-as-you-go only)
      description: |-
        **Deprecated** Use `/v2/cost_report/breakdown` instead.

        The v2 report is different from this report:

        - This report returns one row for each billing metric and region for the full period. The v2 report
        returns one row for each day and one `group_by` value.
        - The v2 report moves `billing_value`, `billing_value_unit`, `cost` and `currency` to `usage.value`,
        `usage.unit`, `usage.cost` and `usage.currency`. The `err` field is `error`.
        - The v2 `flavor` field also contains the `volume_type`, `file_share_type` and `instance_type` values.
        - The v2 report has no `billing_metric_name` and `billing_feature_name` fields.
        - The v2 request uses `region_ids` and `project_ids`. It has no `schema_filter` and `rounding` fields.

        Get cost report totals (aggregated costs) for a given period. Requested period should not exceed 31 days.

        Note: This report assumes there are no active commit features in the billing plan.
        If there are active commit features (pre-paid resources) in your plan, use /v1/`reservation_cost_report`/totals,
        as the results from this report will not be accurate.

        Data from the past hour may not reflect the full set of statistics.
        For the most complete and accurate results, we recommend accessing the data at least one hour after the
        relevant time period. Updates are generally available within a 24-hour window, though timing can vary.
        Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostReportTotalsResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostReportTotalsRequestSerializer'
      tags:
      - Cost Reports
  /cloud/v1/ddos/accessibility/{region_id}:
    get:
      operationId: AccessibilityHandler.get
      summary: Get DDoS protection access status
      description: Check DDoS protection service accessibility and operational status for a specific region.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: DDoS access status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v1/ddos/profile-templates/{region_id}:
    get:
      operationId: ProfileTemplatesHandler.get
      summary: List DDoS protection profile templates
      description: |-
        This endpoint returns a comprehensive list of pre-configured DDoS protection
        templates that can be used to create protection profiles. Each template contains
        predefined security rules, field configurations, and protection parameters
        optimized for different types of applications and attack vectors.

        Templates include metadata such as name, description, and configurable fields
        with validation schemas. These templates serve as blueprints for creating
        customized DDoS protection profiles tailored to specific security requirements.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: DDoS profile templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientProfileTemplateSerializerList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v1/ddos/profiles/{project_id}/{region_id}:
    post:
      operationId: ProfilesHandler.post
      summary: Create DDoS protection profile
      description: |-
        Creates DDoS protection profile to safeguard a specific resource (instance, bare metal, or load balancer)
        against DDoS attacks. Resource type is automatically identified based on the IP address.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Unique identifier of the cloud project that owns the DDoS protection resources
        schema:
          description: Unique identifier of the cloud project that owns the DDoS protection resources
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MutateClientProfileSerializer'
      tags:
      - DDoS Protection
    get:
      operationId: ProfilesHandler.get
      summary: List DDoS protection profiles
      description: |-
        This endpoint returns a comprehensive list of all DDoS protection profiles
        associated with the specified project and region. Each profile contains
        detailed information about the protection configuration including IP addresses,
        profile templates, field values, activation status, and current operational state.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Unique identifier of the cloud project that owns the DDoS protection resources
        schema:
          description: Unique identifier of the cloud project that owns the DDoS protection resources
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: ip_address
        required: false
        description: Filter DDoS profiles by this IP address
        schema:
          anyOf:
          - format: ipv4
            type: string
          - format: ipv6
            type: string
          - format: ipv4network
            type: string
          - format: ipv6network
            type: string
          description: Filter DDoS profiles by this IP address
          examples:
          - 203.0.113.1
          - 203.0.113.0/24
          title: Ip Address
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 1000
          description: Limit of items on a single page
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: managed_by
        required: false
        description: |-
          Specifies the entity responsible for managing the resource.
          - `user`: The profile is created and maintained directly by the user.
          - `system`: The profile is created and maintained automatically by the system.
        schema:
          description: |-
            Specifies the entity responsible for managing the resource.
            - `user`: The profile is created and maintained directly by the user.
            - `system`: The profile is created and maintained automatically by the system.
          example: user
          examples:
          - user
          items:
            $ref: '#/components/schemas/DdosManagedBy'
          title: Managed By
          type: array
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Sort results by field and direction
        schema:
          $ref: '#/components/schemas/DdosProfileOrderByChoices'
          default: id.asc
          description: Sort results by field and direction
          examples:
          - id.asc
      responses:
        '200':
          description: DDoS profiles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientProfileSerializerList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}:
    patch:
      operationId: ProfileHandler.patch
      summary: Update DDoS protection profile
      description: |-
        Updates various aspects of DDoS protection profile including profile template,
        field values, and activation status. The update process includes comprehensive
        validation to ensure changes are compatible with the existing configuration
        and security requirements.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Unique identifier of the cloud project that owns the DDoS protection resources
        schema:
          description: Unique identifier of the cloud project that owns the DDoS protection resources
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: profile_id
        required: true
        description: Unique identifier of the specific DDoS protection profile to be operated on
        schema:
          description: Unique identifier of the specific DDoS protection profile to be operated on
          example: 1
          examples:
          - 1
          title: Profile Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MutateClientProfileSerializer'
      tags:
      - DDoS Protection
    delete:
      operationId: ProfileHandler.delete
      summary: Delete DDoS protection profile
      description: Deletes DDoS protection profile and removes all associated protection rules and configurations.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Unique identifier of the cloud project that owns the DDoS protection resources
        schema:
          description: Unique identifier of the cloud project that owns the DDoS protection resources
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: profile_id
        required: true
        description: Unique identifier of the specific DDoS protection profile to be operated on
        schema:
          description: Unique identifier of the specific DDoS protection profile to be operated on
          example: 1
          examples:
          - 1
          title: Profile Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v1/ddos/profiles/{project_id}/{region_id}/{profile_id}/action:
    post:
      operationId: ProfileActivationHandler.post
      summary: Activate or deactivate DDoS protection profile
      description: |-
        Activates or deactivates DDoS protection profile, controlling its protection status.
        This operation allows enabling or disabling DDoS protection for a specific IP address
        or network range.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Unique identifier of the cloud project that owns the DDoS protection resources
        schema:
          description: Unique identifier of the cloud project that owns the DDoS protection resources
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: profile_id
        required: true
        description: Unique identifier of the specific DDoS protection profile to be operated on
        schema:
          description: Unique identifier of the specific DDoS protection profile to be operated on
          example: 1
          examples:
          - 1
          title: Profile Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivateDeactivateProfileSerializer'
      tags:
      - DDoS Protection
  /cloud/v1/ddos/region_coverage/{region_id}:
    get:
      operationId: RegionCoverageHandler.get
      summary: Get DDoS protection region coverage information
      description: Check if the current region is covered by the Advanced DDoS protection features.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Unique identifier of the cloud region where DDoS protection operations will be performed
        schema:
          description: Unique identifier of the cloud region where DDoS protection operations will be performed
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: DDoS region coverage
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionCoverageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v1/pricing/{region_id}/ddos:
    get:
      operationId: DdosPricingHandler.get
      summary: Get DDoS protection price
      description: Get the DDoS protection price based on mitigation capacity.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: DDoS price preview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DDosPricingPreviewResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - DDoS Protection
  /cloud/v3/inference/{project_id}/api_keys:
    post:
      operationId: InferenceApiKeysHandler.post
      summary: Create inference API key
      description: |-
        This endpoint creates a new API key for everywhere inference. It returs api key's actual secret only once
        after creation.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateApiKeyResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCreateRequestSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_api_key_created = client.cloud.inference.api_keys.create(
              project_id=1,
              name="my-api-key",
          )
          print(inference_api_key_created.created_at)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceAPIKeyCreated, err := client.Cloud.Inference.APIKeys.New(context.TODO(), cloud.InferenceAPIKeyNewParams{
          		ProjectID: gcore.Int(1),
          		Name:      "my-api-key",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceAPIKeyCreated.CreatedAt)
          }
    get:
      operationId: InferenceApiKeysHandler.get
      summary: List inference API keys
      description: This endpoint retrieves a list of API keys for everywhere inference.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 100
          description: Optional. Limit the number of returned items
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyListResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.api_keys.list(
              project_id=1,
          )
          page = page.results[0]
          print(page.created_at)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.APIKeys.List(context.TODO(), cloud.InferenceAPIKeyListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/{project_id}/api_keys/{api_key_name}:
    get:
      operationId: InferenceApiKeyHandler.get
      summary: Get inference API key
      description: This endpoint retrieves a specific API key for everywhere inference.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: api_key_name
        required: true
        description: Api key name.
        schema:
          description: Api key name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Api Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiKeyResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_api_key = client.cloud.inference.api_keys.get(
              api_key_name="aws-dev",
              project_id=1,
          )
          print(inference_api_key.created_at)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceAPIKey, err := client.Cloud.Inference.APIKeys.Get(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceAPIKeyGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceAPIKey.CreatedAt)
          }
    patch:
      operationId: InferenceApiKeyHandler.patch
      summary: Update inference API key
      description: This endpoint updates a specific API key for everywhere inference.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: api_key_name
        required: true
        description: Api key name.
        schema:
          description: Api key name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Api Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiKeyResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyUpdateRequestSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_api_key = client.cloud.inference.api_keys.update(
              api_key_name="aws-dev",
              project_id=1,
          )
          print(inference_api_key.created_at)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceAPIKey, err := client.Cloud.Inference.APIKeys.Update(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceAPIKeyUpdateParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceAPIKey.CreatedAt)
          }
    delete:
      operationId: InferenceApiKeyHandler.delete
      summary: Delete inference API key
      description: |-
        This endpoint deletes a specific API key for everywhere inference.
        If the API key is attached to any inference deployments, it will not be removed. ConflictError will be raised
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: api_key_name
        required: true
        description: Api key name.
        schema:
          description: Api key name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Api Key Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.inference.api_keys.delete(
              api_key_name="aws-dev",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Inference.APIKeys.Delete(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceAPIKeyDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v3/inference/{project_id}/deployments:
    post:
      operationId: InferenceInstancesHandlerV3.post
      summary: Create inference deployment
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceInstanceInSerializerV3'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.deployments.create(
              project_id=1,
              containers=[{
                  "region_id": 1,
                  "scale": {
                      "max": 3,
                      "min": 1,
                  },
              }],
              flavor_name="inference-16vcpu-232gib-1xh100-80gb",
              image="nginx:latest",
              listening_port=80,
              name="my-instance",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Deployments.New(context.TODO(), cloud.InferenceDeploymentNewParams{
          		ProjectID: gcore.Int(1),
          		Containers: []cloud.InferenceDeploymentNewParamsContainer{{
          			RegionID: 1,
          			Scale: cloud.InferenceDeploymentNewParamsContainerScale{
          				Max: 3,
          				Min: 1,
          			},
          		}},
          		FlavorName:    "inference-16vcpu-232gib-1xh100-80gb",
          		Image:         "nginx:latest",
          		ListeningPort: 80,
          		Name:          "my-instance",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: InferenceInstancesHandlerV3.get
      summary: List inference deployments
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceInstanceOutSerializerV3List'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.deployments.list(
              project_id=1,
          )
          page = page.results[0]
          print(page.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.Deployments.List(context.TODO(), cloud.InferenceDeploymentListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/{project_id}/deployments/{deployment_name}:
    get:
      operationId: InferenceInstanceHandlerV3.get
      summary: Get inference deployment
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceInstanceOutSerializerV3'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_deployment = client.cloud.inference.deployments.get(
              deployment_name="my-instance",
              project_id=1,
          )
          print(inference_deployment.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceDeployment, err := client.Cloud.Inference.Deployments.Get(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceDeployment.ProjectID)
          }
    patch:
      operationId: InferenceInstanceHandlerV3.patch
      summary: Update inference deployment
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceInstanceInUpdateSerializerV3'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.deployments.update(
              deployment_name="my-instance",
              project_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Deployments.Update(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentUpdateParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: InferenceInstanceHandlerV3.delete
      summary: Delete inference deployment
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.deployments.delete(
              deployment_name="my-instance",
              project_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Deployments.Delete(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/inference/{project_id}/deployments/{deployment_name}/logs:
    get:
      operationId: InferenceInstanceLogsHandlerV3.get
      summary: Get inference deployment logs
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order by field
        schema:
          $ref: '#/components/schemas/InferenceLogsOrderByChoices'
          default: time.desc
          description: Order by field
          examples:
          - time.asc
      - in: query
        name: region_id
        required: false
        description: Region ID
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Region ID
          examples:
          - 1
          title: Region Id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceInstanceLogSerializerV3List'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.deployments.logs.list(
              deployment_name="my-instance",
              project_id=1,
          )
          page = page.results[0]
          print(page.region_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.Deployments.Logs.List(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentLogListParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/{project_id}/deployments/{deployment_name}/start:
    post:
      operationId: InferenceInstanceStartHandlerV3.post
      summary: Start inference deployment
      description: |-
        This operation initializes an inference deployment after it was stopped, making it available to handle inference
        requests again.
        The instance will launch with the **minimum** number of replicas defined in the scaling settings.

        - If the minimum replicas are set to **0**, the instance will initially start with **0** replicas.
        - It will automatically scale up when it receives requests or SQS messages,
        according to the configured scaling rules.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.inference.deployments.start(
              deployment_name="my-instance",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Inference.Deployments.Start(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentStartParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v3/inference/{project_id}/deployments/{deployment_name}/stop:
    post:
      operationId: InferenceInstanceStopHandlerV3.post
      summary: Stop inference deployment
      description: |-
        This operation shuts down an inference deployment, making it unavailable for handling requests.
        The deployment will scale down to **0** replicas, overriding any minimum replica settings.

        - Once stopped, the deployment will **not** process any inference requests or SQS messages.
        - It will **not** restart automatically and must be started manually.
        - While stopped, the deployment will **not** incur any charges.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Inference instance name.
        schema:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Deployment Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.inference.deployments.stop(
              deployment_name="my-instance",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Inference.Deployments.Stop(
          		context.TODO(),
          		"my-instance",
          		cloud.InferenceDeploymentStopParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v3/inference/{project_id}/deployments/check_limits:
    post:
      operationId: InferenceCheckLimitsHandlerV3.post
      summary: Check inference deployment quota
      description: |-
        Check if global quota is exceeded, if yes the number of additional
        quotas needed to create the specified inference deployment will be calculated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceRequiredQuotaSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeInferenceCreationSerializer'
      tags:
      - Everywhere Inference
  /cloud/v3/inference/{project_id}/registry_credentials:
    post:
      operationId: InferenceRegistryCredentialsHandler.post
      summary: Create inference registry credential
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceRegistryCredentialOutSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceRegistryCredentialInSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_registry_credentials = client.cloud.inference.registry_credentials.create(
              project_id=1,
              name="docker-io",
              password="password",
              registry_url="registry.example.com",
              username="username",
          )
          print(inference_registry_credentials.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceRegistryCredentials, err := client.Cloud.Inference.RegistryCredentials.New(context.TODO(), cloud.InferenceRegistryCredentialNewParams{
          		ProjectID:   gcore.Int(1),
          		Name:        "docker-io",
          		Password:    "password",
          		RegistryURL: "registry.example.com",
          		Username:    "username",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceRegistryCredentials.ProjectID)
          }
    get:
      operationId: InferenceRegistryCredentialsHandler.get
      summary: List inference registry credentials
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceRegistryCredentialOutSerializerList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.registry_credentials.list(
              project_id=1,
          )
          page = page.results[0]
          print(page.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.RegistryCredentials.List(context.TODO(), cloud.InferenceRegistryCredentialListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/{project_id}/registry_credentials/{credential_name}:
    get:
      operationId: InferenceRegistryCredentialHandler.get
      summary: Get inference registry credential
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: credential_name
        required: true
        description: Registry credential name.
        schema:
          description: Registry credential name.
          example: docker-io
          examples:
          - docker-io
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Credential Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceRegistryCredentialOutSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_registry_credentials = client.cloud.inference.registry_credentials.get(
              credential_name="docker-io",
              project_id=1,
          )
          print(inference_registry_credentials.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceRegistryCredentials, err := client.Cloud.Inference.RegistryCredentials.Get(
          		context.TODO(),
          		"docker-io",
          		cloud.InferenceRegistryCredentialGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceRegistryCredentials.ProjectID)
          }
    put:
      operationId: InferenceRegistryCredentialHandler.put
      summary: Replace inference registry credential
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: credential_name
        required: true
        description: Registry credential name.
        schema:
          description: Registry credential name.
          example: docker-io
          examples:
          - docker-io
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Credential Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceRegistryCredentialOutSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceRegistryCredentialInUpdateSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_registry_credentials = client.cloud.inference.registry_credentials.replace(
              credential_name="docker-io",
              project_id=1,
              password="password",
              registry_url="registry.example.com",
              username="username",
          )
          print(inference_registry_credentials.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceRegistryCredentials, err := client.Cloud.Inference.RegistryCredentials.Replace(
          		context.TODO(),
          		"docker-io",
          		cloud.InferenceRegistryCredentialReplaceParams{
          			ProjectID:   gcore.Int(1),
          			Password:    "password",
          			RegistryURL: "registry.example.com",
          			Username:    "username",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceRegistryCredentials.ProjectID)
          }
    delete:
      operationId: InferenceRegistryCredentialHandler.delete
      summary: Delete inference registry credential
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: credential_name
        required: true
        description: Registry credential name.
        schema:
          description: Registry credential name.
          example: docker-io
          examples:
          - docker-io
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Credential Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.inference.registry_credentials.delete(
              credential_name="docker-io",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Inference.RegistryCredentials.Delete(
          		context.TODO(),
          		"docker-io",
          		cloud.InferenceRegistryCredentialDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v3/inference/{project_id}/secrets:
    post:
      operationId: InferenceSecretsHandler.post
      summary: Create inference secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceBoxSecretsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceBoxSecretsInSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_secret = client.cloud.inference.secrets.create(
              project_id=1,
              data={
                  "aws_access_key_id": "fake-key-id",
                  "aws_secret_access_key": "fake-secret",
              },
              name="aws-dev",
              type="aws-iam",
          )
          print(inference_secret.data)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceSecret, err := client.Cloud.Inference.Secrets.New(context.TODO(), cloud.InferenceSecretNewParams{
          		ProjectID: gcore.Int(1),
          		Data: cloud.InferenceSecretNewParamsData{
          			AwsAccessKeyID:     "fake-key-id",
          			AwsSecretAccessKey: "fake-secret",
          		},
          		Name: "aws-dev",
          		Type: "aws-iam",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceSecret.Data)
          }
    get:
      operationId: InferenceSecretsHandler.get
      summary: List inference secrets
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceBoxSecretsSerializerList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.secrets.list(
              project_id=1,
          )
          page = page.results[0]
          print(page.data)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.Secrets.List(context.TODO(), cloud.InferenceSecretListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/{project_id}/secrets/{secret_name}:
    get:
      operationId: InferenceSecretHandler.get
      summary: Get inference secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Inference secret name.
        schema:
          description: Inference secret name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Secret Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceBoxSecretsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_secret = client.cloud.inference.secrets.get(
              secret_name="aws-dev",
              project_id=1,
          )
          print(inference_secret.data)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceSecret, err := client.Cloud.Inference.Secrets.Get(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceSecretGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceSecret.Data)
          }
    put:
      operationId: InferenceSecretHandler.put
      summary: Replace inference secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Inference secret name.
        schema:
          description: Inference secret name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Secret Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceBoxSecretsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceSecretInUpdateSerializer'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_secret = client.cloud.inference.secrets.replace(
              secret_name="aws-dev",
              project_id=1,
              data={
                  "aws_access_key_id": "fake-key-id",
                  "aws_secret_access_key": "fake-secret",
              },
              type="aws-iam",
          )
          print(inference_secret.data)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceSecret, err := client.Cloud.Inference.Secrets.Replace(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceSecretReplaceParams{
          			ProjectID: gcore.Int(1),
          			Data: cloud.InferenceSecretReplaceParamsData{
          				AwsAccessKeyID:     "fake-key-id",
          				AwsSecretAccessKey: "fake-secret",
          			},
          			Type: "aws-iam",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceSecret.Data)
          }
    delete:
      operationId: InferenceSecretHandler.delete
      summary: Delete Inference Secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: secret_name
        required: true
        description: Inference secret name.
        schema:
          description: Inference secret name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Secret Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.inference.secrets.delete(
              secret_name="aws-dev",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Inference.Secrets.Delete(
          		context.TODO(),
          		"aws-dev",
          		cloud.InferenceSecretDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v3/inference/capacity:
    get:
      operationId: InferenceCapacityHandlerV3.get
      summary: Get inference capacity by region
      description: ''
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionCapacityOutSerializerV3List'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_region_capacity_list = client.cloud.inference.get_capacity_by_region()
          print(inference_region_capacity_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceRegionCapacityList, err := client.Cloud.Inference.GetCapacityByRegion(context.TODO())
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceRegionCapacityList.Count)
          }
  /cloud/v3/inference/flavors:
    get:
      operationId: InferenceFlavorsHandlerV3.get
      summary: List inference flavors
      description: ''
      parameters:
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceFlavorOutSerializerV3List'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.inference.flavors.list()
          page = page.results[0]
          print(page.cpu)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Inference.Flavors.List(context.TODO(), cloud.InferenceFlavorListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/inference/flavors/{flavor_name}:
    get:
      operationId: InferenceFlavorHandlerV3.get
      summary: Get inference flavor
      description: ''
      parameters:
      - in: path
        name: flavor_name
        required: true
        description: Inference flavor name.
        schema:
          description: Inference flavor name.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Flavor Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InferenceFlavorOutSerializerV3'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_flavor = client.cloud.inference.flavors.get(
              "inference-16vcpu-232gib-1xh100-80gb",
          )
          print(inference_flavor.cpu)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceFlavor, err := client.Cloud.Inference.Flavors.Get(context.TODO(), "inference-16vcpu-232gib-1xh100-80gb")
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceFlavor.CPU)
          }
  /cloud/v2/pricing/inference/deployments:
    post:
      operationId: InferenceDeploymentPricingHandlerV2.post
      summary: Preview inference deployment price
      description: Preview the billing price for an inference deployment
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceDeploymentPriceRequestV2Serializer'
      tags:
      - Everywhere Inference
  /cloud/v3/inference/applications/{project_id}/deployments:
    post:
      operationId: InferenceApplicationDeploymentsCollection.post
      summary: Create inference application deployment
      description: |-
        Creates a new application deployment based on a selected catalog application.
        Specify the desired deployment name, target regions, and configuration for each component.
        The platform will provision the necessary resources and initialize the application accordingly.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppDeploymentCreateRequest'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.applications.deployments.create(
              project_id=1,
              application_name="demo-app",
              components_configuration={
                  "model": {
                      "exposed": True,
                      "flavor": "inference-16vcpu-232gib-1xh100-80gb",
                      "scale": {
                          "max": 1,
                          "min": 1,
                      },
                  }
              },
              name="name",
              regions=[1, 2],
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Applications.Deployments.New(context.TODO(), cloud.InferenceApplicationDeploymentNewParams{
          		ProjectID:       gcore.Int(1),
          		ApplicationName: "demo-app",
          		ComponentsConfiguration: map[string]cloud.InferenceApplicationDeploymentNewParamsComponentsConfiguration{
          			"model": {
          				Exposed: true,
          				Flavor:  "inference-16vcpu-232gib-1xh100-80gb",
          				Scale: cloud.InferenceApplicationDeploymentNewParamsComponentsConfigurationScale{
          					Max: 1,
          					Min: 1,
          				},
          			},
          		},
          		Name:    "name",
          		Regions: []int64{1, 2},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: InferenceApplicationDeploymentsCollection.get
      summary: List inference application deployments
      description: |-
        Returns a list of your application deployments, including deployment names,
        associated catalog applications, regions, component configurations, and current status.
        Useful for monitoring and managing all active AI application instances.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDeploymentList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_application_deployment_list = client.cloud.inference.applications.deployments.list(
              project_id=1,
          )
          print(inference_application_deployment_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceApplicationDeploymentList, err := client.Cloud.Inference.Applications.Deployments.List(context.TODO(), cloud.InferenceApplicationDeploymentListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceApplicationDeploymentList.Count)
          }
  /cloud/v3/inference/applications/{project_id}/deployments/{deployment_name}:
    get:
      operationId: InferenceApplicationDeployment.get
      summary: Get inference application deployment
      description: |-
        Retrieves detailed information about a specific application deployment.
        The response includes the catalog application it was created from, deployment name,
        active regions, configuration of each component, and the current status of the deployment.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Name of deployment
        schema:
          description: Name of deployment
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDeployment'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_application_deployment = client.cloud.inference.applications.deployments.get(
              deployment_name="deployment_name",
              project_id=1,
          )
          print(inference_application_deployment.api_keys)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceApplicationDeployment, err := client.Cloud.Inference.Applications.Deployments.Get(
          		context.TODO(),
          		"deployment_name",
          		cloud.InferenceApplicationDeploymentGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceApplicationDeployment.APIKeys)
          }
    patch:
      operationId: InferenceApplicationDeployment.patch
      summary: Update inference application deployment
      description: |-
        Updates an existing application deployment.
        You can modify the target regions and update configurations for individual components.
        To disable a component, set its value to null. Only the provided fields will be updated;
        all others remain unchanged.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Name of deployment
        schema:
          description: Name of deployment
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppDeploymentPatchRequest'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.applications.deployments.update(
              deployment_name="deployment_name",
              project_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Applications.Deployments.Update(
          		context.TODO(),
          		"deployment_name",
          		cloud.InferenceApplicationDeploymentUpdateParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: InferenceApplicationDeployment.delete
      summary: Delete inference application deployment
      description: |-
        Deletes an existing application deployment along with all associated resources.
        This action will permanently remove the deployment and **terminate
        all related inference instances** that are part of the application.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: deployment_name
        required: true
        description: Name of deployment
        schema:
          description: Name of deployment
          title: Deployment Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.inference.applications.deployments.delete(
              deployment_name="deployment_name",
              project_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Inference.Applications.Deployments.Delete(
          		context.TODO(),
          		"deployment_name",
          		cloud.InferenceApplicationDeploymentDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/inference/applications/catalog:
    get:
      operationId: InferenceApplicationTemplatesCollection.get
      summary: List inference application templates
      description: |-
        Returns a list of available machine learning application templates from the catalog.
        Each template includes metadata such as name, description, cover image, documentation, tags,
        and a set of configurable components (e.g., `model`, `ui`).
        Components define parameters, supported deployment flavors,
        and other attributes required to create a fully functional application deployment.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAppCatalogList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_application_template_list = client.cloud.inference.applications.templates.list()
          print(inference_application_template_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceApplicationTemplateList, err := client.Cloud.Inference.Applications.Templates.List(context.TODO())
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceApplicationTemplateList.Count)
          }
  /cloud/v3/inference/applications/catalog/{application_name}:
    get:
      operationId: InferenceApplicationTemplate.get
      summary: Get inference application template
      description: |-
        Retrieves detailed information about a specific machine learning application template from the catalog.
        The response includes the application's metadata, documentation, tags,
        and a complete set of components with configuration options, compatible flavors,
        and deployment capabilities — all necessary for building and customizing an AI application.
      parameters:
      - in: path
        name: application_name
        required: true
        description: Name of application in catalog
        schema:
          description: Name of application in catalog
          pattern: ^[a-z0-9-.]{1,63}$
          title: Application Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAppCatalog'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Everywhere Inference Apps
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          inference_application_template = client.cloud.inference.applications.templates.get(
              "26f1kl-.n.71",
          )
          print(inference_application_template.components)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	inferenceApplicationTemplate, err := client.Cloud.Inference.Applications.Templates.Get(context.TODO(), "26f1kl-.n.71")
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", inferenceApplicationTemplate.Components)
          }
  /cloud/v2/pricing/inference/applications:
    post:
      operationId: InferenceApplicationPricingHandlerV2.post
      summary: Preview inference application deployment price
      description: |-
        Preview billing price for an entire ML application deployment.
        This endpoint calculates the total cost for all components across all regions,
        providing a comprehensive pricing estimate for the complete application.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InferenceApplicationPricingRequestSerializer'
      tags:
      - Everywhere Inference Apps
  /cloud/v1/file_shares/{project_id}/{region_id}:
    post:
      operationId: SfsViewSet.post
      summary: Create file share
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFileShareSerializer'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.file_shares.create(
              project_id=1,
              region_id=1,
              name="test-share-file-system",
              network={
                  "network_id": "024a29e9-b4b7-4c91-9a46-505be123d9f8"
              },
              protocol="NFS",
              size=5,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FileShares.New(context.TODO(), cloud.FileShareNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: SfsViewSet.get
      summary: List file shares
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: File share name. Uses partial match.
        schema:
          description: File share name. Uses partial match.
          example: test-sfs
          examples:
          - test-sfs
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: type_name
        required: false
        description: File share type name
        schema:
          $ref: '#/components/schemas/FileShareTypeName'
          description: File share type name
          examples:
          - standard
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileShareCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.file_shares.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.FileShares.List(context.TODO(), cloud.FileShareListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/file_shares/{project_id}/{region_id}/{file_share_id}:
    patch:
      operationId: SfsShareViewSet.patch
      summary: Update file share
      description: Rename file share, update tags or set share specific properties
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFileShareSerializer'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.file_shares.update(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FileShares.Update(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}:
    get:
      operationId: SfsInstanceViewSet.get
      summary: Get file share
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileShareSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          file_share = client.cloud.file_shares.get(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
          )
          print(file_share.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	fileShare, err := client.Cloud.FileShares.Get(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", fileShare.ID)
          }
    delete:
      operationId: SfsInstanceViewSet.delete
      summary: Delete file share
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.file_shares.delete(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FileShares.Delete(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: SfsInstanceViewSet.patch
      summary: Update file share
      description: |-
        Rename file share, update tags or change VAST settings.

        **Deprecated**: Use PATCH /v3/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileShareSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeprecatedUpdateFileShareSerializer'
      tags:
      - File Shares
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}/access_rule:
    post:
      operationId: SfsAccessRuleViewSet.post
      summary: Create file share access rule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRuleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccessRuleSerializer'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          access_rule = client.cloud.file_shares.access_rules.create(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
              access_mode="ro",
              ip_address="192.168.1.1",
          )
          print(access_rule.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	accessRule, err := client.Cloud.FileShares.AccessRules.New(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareAccessRuleNewParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			AccessMode: cloud.FileShareAccessRuleNewParamsAccessModeRo,
          			IPAddress:  "192.168.1.1",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", accessRule.ID)
          }
    get:
      operationId: SfsAccessRuleViewSet.get
      summary: List file share access rules
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRuleCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.file_shares.access_rules.list(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.FileShares.AccessRules.List(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareAccessRuleListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}/access_rule/{access_rule_id}:
    delete:
      operationId: SfsAccessRuleDeleteHandler.delete
      summary: Delete file share access rule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      - in: path
        name: access_rule_id
        required: true
        description: Access Rule ID
        schema:
          description: Access Rule ID
          example: 4f09d7dd-f1f8-4352-b015-741b2192db47
          examples:
          - 4f09d7dd-f1f8-4352-b015-741b2192db47
          format: uuid4
          title: Access Rule Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.file_shares.access_rules.delete(
              access_rule_id="4f09d7dd-f1f8-4352-b015-741b2192db47",
              project_id=1,
              region_id=1,
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.FileShares.AccessRules.Delete(
          		context.TODO(),
          		"4f09d7dd-f1f8-4352-b015-741b2192db47",
          		cloud.FileShareAccessRuleDeleteParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(1),
          			FileShareID: "bd8c47ee-e565-4e26-8840-b537e6827b08",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}/extend:
    post:
      operationId: SfsExtendHandler.post
      summary: Resize file share
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResizeSfsSerializer'
      tags:
      - File Shares
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.file_shares.resize(
              file_share_id="bd8c47ee-e565-4e26-8840-b537e6827b08",
              project_id=1,
              region_id=1,
              size=5,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FileShares.Resize(
          		context.TODO(),
          		"bd8c47ee-e565-4e26-8840-b537e6827b08",
          		cloud.FileShareResizeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Size:      5,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/file_shares/{project_id}/{region_id}/check_limits:
    post:
      operationId: SfsCheckLimitsHandler.post
      summary: Check file share quota
      description: |-
        Check if regional quota is exceeded, if yes the number of additional
        quotas needed to create the specified File Share will be calculated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileShareRequiredQuotaSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeSfsCreationSerializer'
      tags:
      - File Shares
  /cloud/v1/pricing/{project_id}/{region_id}/file_shares:
    post:
      operationId: FileSharePricingHandler.post
      summary: Preview file share price
      description: Preview the billing price for a file share of the given type and size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileSharePricingRequestSerializer'
      tags:
      - File Shares
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}/metadata:
    post:
      operationId: SfsMetadataHandler.post
      summary: Update file share tags
      description: |-
        Create or update one or more tag for a file share.
        If an item does not exist, it gets created.
        If an item already exists, it's value is overwritten

        Use PATCH /v1/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - File Shares
    get:
      operationId: SfsMetadataHandler.get
      summary: List file share tags
      description: Use GET /v1/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - File Shares
    put:
      operationId: SfsMetadataHandler.put
      summary: Replace file share tags
      description: |-
        All existing metadata is deleted and replaced with the metadata from the request

        Use PATCH /v1/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - File Shares
  /cloud/v1/file_shares/{project_id}/{region_id}/{file_share_id}/metadata_item:
    get:
      operationId: SfsMetadataItemHandler.get
      summary: Get file share tag
      description: Use GET /v1/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: tag-key
          examples:
          - tag-key
          title: Key
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - File Shares
    delete:
      operationId: SfsMetadataItemHandler.delete
      summary: Delete file share tag
      description: Use PATCH /v1/`file_shares`/{`project_id`}/{`region_id`}/{`file_share_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: file_share_id
        required: true
        description: File Share ID
        schema:
          description: File Share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: File Share Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: tag-key
          examples:
          - tag-key
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - File Shares
  /cloud/v1/floatingips/{project_id}/{region_id}:
    post:
      operationId: FloatingIPViewSet.post
      summary: Create floating IP
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFloatingIPSerializer'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.floating_ips.create(
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FloatingIPs.New(context.TODO(), cloud.FloatingIPNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: FloatingIPViewSet.get
      summary: List floating IPs
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: port_ids
        required: false
        description: Optional. Filter by the port ID the floating IP is attached to. Repeat the parameter to filter by multiple ports (`?port_ids=id1&port_ids=id2`).
        schema:
          description: Optional. Filter by the port ID the floating IP is attached to. Repeat the parameter to filter by multiple ports (`?port_ids=id1&port_ids=id2`).
          example: &id003
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          examples:
          - *id003
          items:
            format: uuid4
            type: string
          title: Port Ids
          type: array
      - in: query
        name: status
        required: false
        description: Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.
        schema:
          $ref: '#/components/schemas/FloatingIPStatus'
          description: Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.
          examples:
          - DOWN
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id004
          - key1
          - key2
          examples:
          - *id004
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id005
            key: value
          examples:
          - *id005
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: Floating IPs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPDetailedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.floating_ips.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.FloatingIPs.List(context.TODO(), cloud.FloatingIPListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/floatingips/{project_id}/{region_id}/{floating_ip_id}:
    patch:
      operationId: FloatingIPInstanceViewSetV2.patch
      summary: Update floating IP
      description: |-
        This endpoint updates the association and tags of an existing Floating IP. The behavior depends on
        the current association state and the provided fields:

        Parameters:

        `port_id`: The unique identifier of the network interface (port) to which the Floating IP should be assigned.
        This ID can be retrieved from the "Get instance" or "List network interfaces" endpoints.

        `fixed_ip_address`: The private IP address assigned to the network interface.
        This must be one of the IP addresses currently assigned to the specified port.
        You can retrieve available fixed IP addresses from the "Get instance" or
        "List network interfaces" endpoints.

        When the Floating IP has no port associated (`port_id` is null):
        - Patch with both `port_id` and `fixed_ip_address`:
          Assign the Floating IP to the specified port and the provided `fixed_ip_address`, if that
          `fixed_ip_address` exists on the port and is not yet used by another Floating IP.
        - Patch with `port_id` only (`fixed_ip_address` omitted):
          Assign the Floating IP to the specified port using the first available IPv4 fixed IP of that port.

        When the Floating IP is already associated with a port:
        - Patch with both `port_id` and `fixed_ip_address`:
          Re-assign the Floating IP to the specified port and address if all validations pass.
        - Patch with `port_id` only (`fixed_ip_address` omitted):
          Re-assign the Floating IP to the specified port using the first available IPv4 fixed IP of that port.
        - Patch with `port_id` = null:
          Unassign the Floating IP from its current port.

        Tags:
        - You can update tags alongside association changes. Tags are provided as a list of key-value pairs.

        Idempotency and task creation:
        - No worker task is created if the requested state is already actual, i.e., the requested `port_id`
          equals the current `port_id` and/or the requested `fixed_ip_address` equals the current `fixed_ip_address`,
          and the tags already match the current tags. In such cases, the endpoint returns an empty tasks list.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchFloatingIPV2Serializer'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.floating_ips.update(
              floating_ip_id="c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FloatingIPs.Update(
          		context.TODO(),
          		"c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
          		cloud.FloatingIPUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}:
    get:
      operationId: FloatingIPInstanceViewSet.get
      summary: Get floating IP
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Floating IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          floating_ip = client.cloud.floating_ips.get(
              floating_ip_id="c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
              project_id=1,
              region_id=1,
          )
          print(floating_ip.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	floatingIP, err := client.Cloud.FloatingIPs.Get(
          		context.TODO(),
          		"c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
          		cloud.FloatingIPGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", floatingIP.ID)
          }
    delete:
      operationId: FloatingIPInstanceViewSet.delete
      summary: Delete floating IP
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.floating_ips.delete(
              floating_ip_id="c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.FloatingIPs.Delete(
          		context.TODO(),
          		"c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
          		cloud.FloatingIPDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: FloatingIPInstanceViewSet.patch
      summary: Update floating IP
      description: '**Deprecated**: Use `PATCH /v2/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Floating IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchFloatingIPSerializer'
      tags:
      - Floating IPs
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/convert:
    post:
      operationId: FloatingIPConvertHandler.post
      summary: Convert floating IP
      description: |-
        Convert an unassigned floating IP to another resource type.
        The floating IP must not be assigned to any port (`port_id` must be None).

        Note: In rare cases, if the conversion fails due to concurrent network operations,
        the original IP address may be lost and a new one will need to be created.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertFloatingIPSerializer'
      tags:
      - Floating IPs
  /cloud/v1/pricing/{project_id}/{region_id}/floating_ips:
    post:
      operationId: FloatingIpPricingHandler.post
      summary: Preview floating IP price
      description: Preview the billing price for the floating IP addresses.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: Item price
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FloatingIpPricingRequestSerializer'
      tags:
      - Floating IPs
  /cloud/v1/availablefloatingips/{project_id}/{region_id}:
    get:
      operationId: AvailableFloatingIPViewSet.get
      summary: List available floating IPs
      description: '**Deprecated**: Use `GET /v1/floatingips/{project_id}/{region_id}?status=DOWN` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Available floating IPs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Floating IPs
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/assign:
    post:
      operationId: FloatingIPAssignHandler.post
      summary: Assign floating IP
      description: |-
        Assign floating IP to instance or loadbalancer.

        **Deprecated**: Use `PATCH /v2/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Floating IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignFloatingIPSerializer'
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          floating_ip = client.cloud.floating_ips.assign(
              floating_ip_id="c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
              project_id=1,
              region_id=1,
              port_id="ee2402d0-f0cd-4503-9b75-69be1d11c5f1",
          )
          print(floating_ip.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	floatingIP, err := client.Cloud.FloatingIPs.Assign(
          		context.TODO(),
          		"c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
          		cloud.FloatingIPAssignParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			PortID:    "ee2402d0-f0cd-4503-9b75-69be1d11c5f1",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", floatingIP.ID)
          }
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/metadata:
    post:
      operationId: FloatingIPMetadataHandler.post
      summary: Create or update floating IP tags
      description: |-
        Create or update one or more tags for a floating IP.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        **Deprecated**: Use `PATCH /v1/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Floating IPs
    get:
      operationId: FloatingIPMetadataHandler.get
      summary: List floating IP tags
      description: |-
        Lists all tags for a floating IP.

        **Deprecated**: Use `GET /v1/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Floating IPs
    put:
      operationId: FloatingIPMetadataHandler.put
      summary: Replace floating IP tags
      description: |-
        All existing tags are deleted and replaced with the tags from the request.

        **Deprecated**: Use `PATCH /v1/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Floating IPs
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/metadata_item:
    get:
      operationId: FloatingIPMetadataItemHandler.get
      summary: Get floating IP tag
      description: |-
        Get floating IP tag by key.

        **Deprecated**: Use `GET /v1/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '200':
          description: Floating IP tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Floating IPs
    delete:
      operationId: FloatingIPMetadataItemHandler.delete
      summary: Delete floating IP tag
      description: |-
        Delete a tag from a floating IP.

        **Deprecated**: Use `PATCH /v1/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Floating IPs
  /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/unassign:
    post:
      operationId: FloatingIPUnassignHandler.post
      summary: Unassign floating IP
      description: '**Deprecated**: Use `PATCH /v2/floatingips/{project_id}/{region_id}/{floating_ip_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: floating_ip_id
        required: true
        description: Floating IP ID
        schema:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Floating Ip Id
          type: string
      responses:
        '200':
          description: Floating IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FloatingIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Floating IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          floating_ip = client.cloud.floating_ips.unassign(
              floating_ip_id="c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
              project_id=1,
              region_id=1,
          )
          print(floating_ip.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	floatingIP, err := client.Cloud.FloatingIPs.Unassign(
          		context.TODO(),
          		"c64e5db1-5f1f-43ec-a8d9-5090df85b82d",
          		cloud.FloatingIPUnassignParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", floatingIP.ID)
          }
  /cloud/v1/faas/flavors/{project_id}/{region_id}:
    get:
      operationId: FaaSFlavorsHandler.get
      summary: List flavors
      description: |-
        Retrieve a list of available compute flavors for functions.
        Flavors define CPU and memory resources for function execution.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: name
        required: false
        description: Function name
        schema:
          anyOf:
          - pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}MB$
            type: string
          - type: 'null'
          default: null
          description: Function name
          examples:
          - function-name
          title: Name
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaasFlavorsListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/keys/{project_id}/{region_id}:
    post:
      operationId: FaaSAuthKeysHandler.post
      summary: Create API key
      description: |-
        Create a new API key for function authentication.
        The key can be configured with an expiration time and permissions.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedApiKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FaasCreateApiKeySerializer'
      tags:
      - Function as a Service
    get:
      operationId: FaaSAuthKeysHandler.get
      summary: List API keys
      description: |-
        Retrieve a list of API keys for function authentication.
        Keys can be filtered by name and expiration status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: expire_in
        required: false
        description: Days to expire
        schema:
          description: Days to expire
          example: 5
          examples:
          - 5
          minimum: 1
          title: Expire In
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering fields and directions.
        schema:
          $ref: '#/components/schemas/ApiKeysOrderByChoices'
          default: created_at.desc
          description: Ordering fields and directions.
          examples:
          - created_at.desc
      - in: query
        name: search
        required: false
        description: Search through which value
        schema:
          description: Search through which value
          example: search-value
          examples:
          - search-value
          pattern: ^[-a-z0-9]{0,25}[-a-z0-9]$
          title: Search
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaasApiKeyListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/keys/{project_id}/{region_id}/{key_name}:
    get:
      operationId: FaaSAuthKeyHandler.get
      summary: Get API key
      description: |-
        Retrieve detailed information about a specific API key.
        Includes key permissions and expiration status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaasApiKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
    patch:
      operationId: FaaSAuthKeyHandler.patch
      summary: Update API key
      description: |-
        Update the configuration of an existing API key.
        Only specified fields will be modified.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Key Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaasApiKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FaasApiKeyPatchSerializer'
      tags:
      - Function as a Service
    delete:
      operationId: FaaSAuthKeyHandler.delete
      summary: Delete API key
      description: |-
        Delete a specific API key.
        The key will be immediately invalidated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: key_name
        required: true
        description: Key name
        schema:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Key Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/namespaces/{project_id}/{region_id}:
    post:
      operationId: NamespacesHandler.post
      summary: Create namespace
      description: |-
        Create a new namespace for serverless functions.
        The namespace will be created in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNamespaceSerializer'
      tags:
      - Function as a Service
    get:
      operationId: NamespacesHandler.get
      summary: List namespaces
      description: |-
        Retrieve a list of namespaces in the project and region.
        Each namespace includes its associated functions and their deployment status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering fields and directions.
        schema:
          $ref: '#/components/schemas/FunctionsOrderByChoices'
          default: created_at.desc
          description: Ordering fields and directions.
          examples:
          - created_at.desc
      - in: query
        name: search
        required: false
        description: Search through which value
        schema:
          description: Search through which value
          example: search-value
          examples:
          - search-value
          pattern: ^[-a-z0-9]{0,25}[-a-z0-9]$
          title: Search
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NamespaceListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/namespaces/{project_id}/{region_id}/{namespace_name}:
    get:
      operationId: NamespaceHandler.get
      summary: Get namespace
      description: |-
        Retrieve detailed information about a specific namespace.
        Includes all functions associated with the namespace.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NamespaceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
    patch:
      operationId: NamespaceHandler.patch
      summary: Update namespace
      description: |-
        Update the configuration of an existing namespace.
        Only specified fields will be modified.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeNamespaceSerializer'
      tags:
      - Function as a Service
    delete:
      operationId: NamespaceHandler.delete
      summary: Delete namespace
      description: |-
        Delete a namespace and all its associated functions.
        The namespace must be empty before it can be deleted.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/namespaces/{project_id}/{region_id}/{namespace_name}/functions:
    post:
      operationId: FunctionsHandler.post
      summary: Create function
      description: |-
        Create a new serverless function in the specified namespace.
        The function can be configured with code, dependencies, and runtime settings.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFunctionSerializer'
      tags:
      - Function as a Service
    get:
      operationId: FunctionsHandler.get
      summary: List functions
      description: |-
        Retrieve a list of functions in the specified namespace.
        Includes function configuration and deployment status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering fields and directions.
        schema:
          $ref: '#/components/schemas/FunctionsOrderByChoices'
          default: created_at.desc
          description: Ordering fields and directions.
          examples:
          - created_at.desc
      - in: query
        name: search
        required: false
        description: Search through which value
        schema:
          description: Search through which value
          example: search-value
          examples:
          - search-value
          pattern: ^[-a-z0-9]{0,25}[-a-z0-9]$
          title: Search
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FunctionListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/namespaces/{project_id}/{region_id}/{namespace_name}/functions/{function_name}:
    get:
      operationId: FunctionHandler.get
      summary: Get function
      description: |-
        Retrieve detailed information about a specific function.
        Includes function code, configuration, and deployment status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      - in: path
        name: function_name
        required: true
        description: Function name
        schema:
          description: Function name
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Function Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FunctionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
    patch:
      operationId: FunctionHandler.patch
      summary: Update function
      description: |-
        Update the configuration of an existing function.
        Only specified fields will be modified.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      - in: path
        name: function_name
        required: true
        description: Function name
        schema:
          description: Function name
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Function Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeFunctionSerializer'
      tags:
      - Function as a Service
    delete:
      operationId: FunctionHandler.delete
      summary: Delete function
      description: |-
        Delete a specific function from its namespace.
        The function must be in a state that allows deletion.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      - in: path
        name: function_name
        required: true
        description: Function name
        schema:
          description: Function name
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Function Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/namespaces/{project_id}/{region_id}/{namespace_name}/functions/{function_name}/logs:
    get:
      operationId: LogsFunctionHandler.get
      summary: Get function logs
      description: |-
        Retrieve execution logs for a specific function.
        Logs can be filtered by time range and limit.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Namespace name
        schema:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace Name
          type: string
      - in: path
        name: function_name
        required: true
        description: Function name
        schema:
          description: Function name
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Function Name
          type: string
      - in: query
        name: limit
        required: false
        description: Limit the number of logs lines
        schema:
          default: 1000
          description: Limit the number of logs lines
          example: 10
          examples:
          - 10
          maximum: 100000
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/faas/runtimes/{project_id}/{region_id}:
    get:
      operationId: RuntimesHandler.get
      summary: List runtimes
      description: |-
        Retrieve a list of available runtime environments for functions.
        Each runtime includes its version and supported features.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimesSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Function as a Service
  /cloud/v1/pricing/{project_id}/{region_id}/faas/functions:
    post:
      operationId: FaasFunctionPricingHandler.post
      summary: Preview function price
      description: Preview the billing price for the FaaS function.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FunctionPriceRequestSerializer'
      tags:
      - Function as a Service
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/interfaces:
    get:
      operationId: AIClusterPoplarInterfacesHandler.get
      summary: List bare metal GPU cluster interfaces
      description: Retrieve a list of network interfaces attached to the GPU cluster servers.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 1000
          description: Limit of items on a single page
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceInterfaceMixedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_baremetal.clusters.interfaces.list(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUBaremetal.Clusters.Interfaces.List(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterInterfaceListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{cluster_id}/ports:
    get:
      operationId: AIClusterPoplarPortsHandler.get
      summary: List bare metal GPU cluster ports
      description: Retrieve a list of network ports attached to the GPU cluster servers.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: Ports with security groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortWithSecurityGroupsCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/attach_interface:
    post:
      operationId: AIClusterAttachInterfaceHandler.post
      summary: Attach interface
      description: Attach interface to bare metal GPU cluster server.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachInterfaceBodySerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.interfaces.attach(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Interfaces.Attach(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterInterfaceAttachParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			OfExternal: &cloud.GPUBaremetalClusterInterfaceAttachParamsBodyExternal{
          				Type: "external",
          			},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/detach_interface:
    post:
      operationId: AIClusterDetachInterfaceHandler.post
      summary: Detach interface
      description: Detach interface from bare metal GPU cluster server.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DetachInterfaceBodySerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.interfaces.detach(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
              ip_address="ip_address",
              port_id="port_id",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Interfaces.Detach(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterInterfaceDetachParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			IPAddress: "ip_address",
          			PortID:    "port_id",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/get_console:
    get:
      operationId: AIPoplarServerConsoleHandler.get
      summary: Get bare metal GPU cluster server console URL
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: console_type
        required: false
        description: Console type
        schema:
          $ref: '#/components/schemas/ConsoleType'
          description: Console type
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteConsoleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          console = client.cloud.gpu_baremetal.clusters.servers.get_console(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(console.remote_console)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	console, err := client.Cloud.GPUBaremetal.Clusters.Servers.GetConsole(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterServerGetConsoleParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", console.RemoteConsole)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/powercycle:
    post:
      operationId: AIPoplarServerPowercycleHandler.post
      summary: Powercycle one bare metal GPU cluster server
      description: Stops and then starts the server, performing a hard reboot.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPUClusterServerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster_server_v1 = client.cloud.gpu_baremetal.clusters.servers.powercycle(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(gpu_baremetal_cluster_server_v1.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalClusterServerV1, err := client.Cloud.GPUBaremetal.Clusters.Servers.Powercycle(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterServerPowercycleParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalClusterServerV1.ID)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/{instance_id}/reboot:
    post:
      operationId: AIPoplarServerRebootHandler.post
      summary: Reboot one bare metal GPU cluster server
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPUClusterServerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster_server_v1 = client.cloud.gpu_baremetal.clusters.servers.reboot(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(gpu_baremetal_cluster_server_v1.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalClusterServerV1, err := client.Cloud.GPUBaremetal.Clusters.Servers.Reboot(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterServerRebootParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalClusterServerV1.ID)
          }
  /cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/node/{instance_id}:
    delete:
      operationId: AIClustersNodeDelete.delete
      summary: Delete bare metal GPU cluster server
      description: |-
        Delete a specific node from a GPU cluster.
        The node must be in a state that allows deletion.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: delete_floatings
        required: false
        description: Set False if you do not want to delete assigned floating IPs
        schema:
          default: true
          description: Set False if you do not want to delete assigned floating IPs
          title: Delete Floatings
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.servers.delete(
              instance_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
              cluster_id="faab46fd-26fd-4321-9876-abcdef012345",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Servers.Delete(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterServerDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			ClusterID: "faab46fd-26fd-4321-9876-abcdef012345",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/rebuild:
    post:
      operationId: AIClustersRebuild.post
      summary: Rebuild bare metal GPU cluster servers
      description: |-
        Rebuild one or more nodes in a GPU cluster.
        All cluster nodes must be specified to update the cluster image.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RebuildClusterSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v1/ai/clusters/gpu/{project_id}/{region_id}/{cluster_id}/resize:
    post:
      operationId: AIClustersGPUResizeHandler.post
      summary: Resize bare metal GPU cluster
      description: |-
        Change the number of nodes in a GPU cluster.
        The cluster can be scaled up or down.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResizeAIClusterGPUSerializerV1'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.resize(
              cluster_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
              instances_count=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Resize(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterResizeParams{
          			ProjectID:      gcore.Int(1),
          			RegionID:       gcore.Int(1),
          			InstancesCount: 1,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/ai/regions:
    get:
      operationId: AIRegionsHandler.get
      summary: List regions with GPU cluster support
      description: |-
        Retrieve a list of regions that support GPU clusters.
        For resellers, returns all AI regions.
        For regular clients, returns only active AI regions.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionSerializerAiCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/check_limits:
    post:
      operationId: CheckBaremetalGpuLimits.post
      summary: Check bare metal GPU cluster quota
      description: |-
        Check if regional quota is exceeded for bare metal GPU cluster creation.
        If exceeded, calculate additional quotas needed.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuClusterRequiredQuotaSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeBaremetalGpuClusterCreationSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters:
    post:
      operationId: BMClusterCollection.post
      summary: Create bare metal GPU cluster
      description: Create a new bare metal GPU cluster with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalClusterCreateSerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.create(
              project_id=1,
              region_id=7,
              flavor="g3-ai-32-192-1500-l40s-48-1",
              image_id="3793c250-0b3b-4678-bab3-e11afbc29657",
              name="gpu-cluster-1",
              servers_count=3,
              servers_settings={
                  "interfaces": [{
                      "type": "external"
                  }]
              },
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.New(context.TODO(), cloud.GPUBaremetalClusterNewParams{
          		ProjectID:    gcore.Int(1),
          		RegionID:     gcore.Int(7),
          		Flavor:       "g3-ai-32-192-1500-l40s-48-1",
          		ImageID:      "3793c250-0b3b-4678-bab3-e11afbc29657",
          		Name:         "gpu-cluster-1",
          		ServersCount: 3,
          		ServersSettings: cloud.GPUBaremetalClusterNewParamsServersSettings{
          			Interfaces: []cloud.GPUBaremetalClusterNewParamsServersSettingsInterfaceUnion{{
          				OfExternal: &cloud.GPUBaremetalClusterNewParamsServersSettingsInterfaceExternal{},
          			}},
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: BMClusterCollection.get
      summary: List bare metal GPU clusters
      description: List all bare metal GPU clusters in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: created_at
        required: false
        description: Filter by creation time (UTC), e.g. `created_at[gte]=2026-01-01T00:00:00Z`.
        schema:
          $ref: '#/components/schemas/DateTimeRangeFilter'
          description: Filter by creation time (UTC), e.g. `created_at[gte]=2026-01-01T00:00:00Z`.
        style: deepObject
        explode: true
      - in: query
        name: flavor
        required: false
        description: Filter by flavor (case-insensitive), e.g. `flavor[prefix]=bm3-`, `flavor[exact]=bm3-ai-1xlarge-h100-80-8`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by flavor (case-insensitive), e.g. `flavor[prefix]=bm3-`, `flavor[exact]=bm3-ai-1xlarge-h100-80-8`.
        style: deepObject
        explode: true
      - in: query
        name: ids
        required: false
        description: Return only clusters with these IDs, e.g. `ids=<id1>&ids=<id2>`.
        schema:
          description: Return only clusters with these IDs, e.g. `ids=<id1>&ids=<id2>`.
          example: &id006
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - *id006
          items:
            format: uuid4
            type: string
          title: Ids
          type: array
      - in: query
        name: image_ids
        required: false
        description: Return only clusters built from these source image IDs, e.g. `image_ids=<id1>&image_ids=<id2>`.
        schema:
          description: Return only clusters built from these source image IDs, e.g. `image_ids=<id1>&image_ids=<id2>`.
          example: &id007
          - 8363acee-eb5d-475a-89b5-bd011d1e3c28
          examples:
          - *id007
          items:
            format: uuid4
            type: string
          title: Image Ids
          type: array
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 10
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: managed_by
        required: false
        description: 'Filter by who manages the cluster: `user` (default) or `k8s` (Managed Kubernetes). Pass both to include all, e.g. `managed_by=user&managed_by=k8s`.'
        schema:
          default:
          - user
          description: 'Filter by who manages the cluster: `user` (default) or `k8s` (Managed Kubernetes). Pass both to include all, e.g. `managed_by=user&managed_by=k8s`.'
          example: &id008
          - user
          examples:
          - *id008
          items:
            $ref: '#/components/schemas/ClusterManagedBy'
          title: Managed By
          type: array
      - in: query
        name: name
        required: false
        description: Filter by name (case-insensitive), e.g. `name[contains]=gpu`, `name[prefix]=prod-`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by name (case-insensitive), e.g. `name[contains]=gpu`, `name[prefix]=prod-`.
        style: deepObject
        explode: true
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: servers_count
        required: false
        description: Filter by node count, e.g. `servers_count[gte]=2`, `servers_count[gte]=2&servers_count[lt]=8`.
        schema:
          $ref: '#/components/schemas/IntRangeFilter'
          description: Filter by node count, e.g. `servers_count[gte]=2`, `servers_count[gte]=2&servers_count[lt]=8`.
        style: deepObject
        explode: true
      - in: query
        name: tag_key
        required: false
        description: Filter by tag key regardless of value, e.g. `tag_key[contains]=team`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by tag key regardless of value, e.g. `tag_key[contains]=team`.
        style: deepObject
        explode: true
      - in: query
        name: tag_value
        required: false
        description: Filter by tag value regardless of key, e.g. `tag_value[prefix]=prod`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by tag value regardless of key, e.g. `tag_value[prefix]=prod`.
        style: deepObject
        explode: true
      - in: query
        name: tags
        required: false
        description: Filter by exact tag key-value pairs, e.g. `tags[env]=prod&tags[team]=core`. Repeat a key to match any of several values for it, e.g. `tags[env]=prod&tags[env]=dev`. Values for one key are ORed, different keys are ANDed; values match case-insensitively.
        schema:
          $ref: '#/components/schemas/TagFilter'
          description: Filter by exact tag key-value pairs, e.g. `tags[env]=prod&tags[team]=core`. Repeat a key to match any of several values for it, e.g. `tags[env]=prod&tags[env]=dev`. Values for one key are ORed, different keys are ANDed; values match case-insensitively.
          examples:
          - env:
            - prod
        style: deepObject
        explode: true
      - in: query
        name: updated_at
        required: false
        description: Filter by last-change time (UTC), e.g. `updated_at[gte]=2026-06-01T00:00:00Z`.
        schema:
          $ref: '#/components/schemas/DateTimeRangeFilter'
          description: Filter by last-change time (UTC), e.g. `updated_at[gte]=2026-06-01T00:00:00Z`.
        style: deepObject
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalClusterListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_baremetal.clusters.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUBaremetal.Clusters.List(context.TODO(), cloud.GPUBaremetalClusterListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}:
    get:
      operationId: BMClusterInstance.get
      summary: Get bare metal GPU cluster
      description: Get detailed information about a specific bare metal GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster = client.cloud.gpu_baremetal.clusters.get(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(gpu_baremetal_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalCluster, err := client.Cloud.GPUBaremetal.Clusters.Get(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalCluster.ID)
          }
    patch:
      operationId: BMClusterInstance.patch
      summary: Update bare metal GPU cluster
      description: |-
        Update the name, tags, and/or server settings of an existing bare metal GPU cluster.

        Update tags using JSON Merge Patch semantics (RFC 7396).
        To add or update tags, provide key-value pairs.
        To remove a tag, set its value to null.

        Updating server settings (`servers_settings`, `image_id`) only modifies the cluster template.
        **It does NOT modify or rebuild any existing servers in the cluster.**
        Tags and name will be applied immediately. To apply the rest changes to running servers, use the
        `/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/apply_settings` endpoint.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBareMetalClusterSerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster = client.cloud.gpu_baremetal.clusters.update(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(gpu_baremetal_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalCluster, err := client.Cloud.GPUBaremetal.Clusters.Update(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalCluster.ID)
          }
    delete:
      operationId: BMClusterInstance.delete
      summary: Delete bare metal GPU cluster
      description: Delete a bare metal GPU cluster and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: all_floating_ips
        required: false
        description: Flag indicating whether the floating ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the floating ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Floating Ips
          type: boolean
      - in: query
        name: all_reserved_fixed_ips
        required: false
        description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Reserved Fixed Ips
          type: boolean
      - in: query
        name: floating_ip_ids
        required: false
        description: Optional list of floating ips to be deleted
        schema:
          description: Optional list of floating ips to be deleted
          example: &id009
          - e4a01208-d6ac-4304-bf86-3028154b070a
          examples:
          - *id009
          items:
            format: uuid4
            type: string
          title: Floating Ip Ids
          type: array
      - in: query
        name: reserved_fixed_ip_ids
        required: false
        description: Optional list of reserved fixed ips to be deleted
        schema:
          description: Optional list of reserved fixed ips to be deleted
          example: &id010
          - a29b8e1e-08d3-4cec-91fb-06e81e5f46d5
          examples:
          - *id010
          items:
            format: uuid4
            type: string
          title: Reserved Fixed Ip Ids
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.delete(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Delete(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/action:
    post:
      operationId: BaremetalClusterInstanceActions.post
      summary: Execute baremetal GPU cluster action
      description: |-
        Immediately perform a specific action on all instances in baremetal GPU cluster.
        Available actions: start, stop, soft reboot, hard reboot.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalGPUClusterActionSerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.action(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
              action="start",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Action(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterActionParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			OfStart:   &cloud.GPUBaremetalClusterActionParamsBodyStart{},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/apply_settings:
    post:
      operationId: BaremetalClusterApplySettingsAction.post
      summary: Apply settings to bare metal GPU cluster
      description: |-
        Apply updated server settings to all servers in a bare metal GPU cluster.
        During this process, the servers receive a new image, SSH key, and user data.
        Important:
        Before applying settings, the cluster must have updated server settings.
        These cluster settings must be patched using the following endpoint:
        PATCH '/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplySettingsBody'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.apply_settings(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.ApplySettings(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterApplySettingsParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers:
    get:
      operationId: BaremetalClusterInstanceServers.get
      summary: List bare metal GPU cluster servers
      description: |-
        List all servers in a bare metal GPU cluster.
        Results can be filtered and paginated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: changed_before
        required: false
        description: 'Filters the results to include only servers whose last change timestamp is less than the specified datetime. Format: ISO 8601.'
        schema:
          description: 'Filters the results to include only servers whose last change timestamp is less than the specified datetime. Format: ISO 8601.'
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changed Before
          type: string
      - in: query
        name: changed_since
        required: false
        description: 'Filters the results to include only servers whose last change timestamp is greater than or equal to the specified datetime. Format: ISO 8601.'
        schema:
          description: 'Filters the results to include only servers whose last change timestamp is greater than or equal to the specified datetime. Format: ISO 8601.'
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changed Since
          type: string
      - in: query
        name: ip_address
        required: false
        description: Filter servers by ip address.
        schema:
          description: Filter servers by ip address.
          example: 237.84.2.178
          examples:
          - 237.84.2.178
          title: Ip Address
          type: string
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 10
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter servers by name. You can provide a full or partial name, servers with matching names will be returned. For example, entering 'test' will return all servers that contain 'test' in their name.
        schema:
          description: Filter servers by name. You can provide a full or partial name, servers with matching names will be returned. For example, entering 'test' will return all servers that contain 'test' in their name.
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order field
        schema:
          $ref: '#/components/schemas/GroupOrdering'
          default: created_at.desc
          description: Order field
      - in: query
        name: status
        required: false
        description: Filters servers by status.
        schema:
          $ref: '#/components/schemas/InstanceStatusQuery'
          description: Filters servers by status.
          examples:
          - ACTIVE
      - in: query
        name: uuids
        required: false
        description: Filter servers by uuid.
        schema:
          description: Filter servers by uuid.
          example: d74c2bb9-cea7-4b23-a009-2f13518ae66d
          examples:
          - d74c2bb9-cea7-4b23-a009-2f13518ae66d
          items:
            type: string
          title: Uuids
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalClusterInstanceServersList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_baremetal.clusters.servers.list(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUBaremetal.Clusters.Servers.List(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterServerListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/apply_settings:
    post:
      operationId: BaremetalClusterInstanceApplySettingsAction.post
      summary: Apply settings to bare metal GPU cluster server
      description: |-
        Apply updated server settings to a specific server in a bare metal GPU cluster.
        During this process, the server receives a new image, SSH key, and user data.
        Important:
        Before applying settings, the cluster must have updated server settings.
        These cluster settings must be patched using the following endpoint:
        PATCH '/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplySettingsBody'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.servers.apply_settings(
              server_id="f1c1eeb6-1834-48c9-a7b0-daafce64872b",
              project_id=1,
              region_id=7,
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Servers.ApplySettings(
          		context.TODO(),
          		"f1c1eeb6-1834-48c9-a7b0-daafce64872b",
          		cloud.GPUBaremetalClusterServerApplySettingsParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			ClusterID: "1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v4/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/rebuild:
    post:
      operationId: BaremetalClusterServerRebuild.post
      summary: Rebuild bare metal GPU cluster server
      description: |-
        Rebuild a single server in a bare metal GPU cluster with a chosen image, user data, and SSH key.
        Any parameter that is omitted falls back to the cluster's current settings.

        The server is marked with pending changes (`has_pending_changes=true`) until the cluster settings
        are reapplied via `POST /v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/apply_settings`.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalServerRebuildBodySerializer'
      tags:
      - GPU Bare Metal
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/replace:
    post:
      operationId: BaremetalClusterServerReplaceAction.post
      summary: Replace bare metal GPU cluster server
      description: |-
        Delete a server from the cluster and provision a new one in its place,
        maintaining the cluster size. Uses the current cluster configuration
        (image, SSH key, network settings) for the new server.

        By default the replacement keeps the original Public/Private IPs (ethernet only).
        Set `keep_ip_addresses=false` for fresh IPs.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalClusterServerReplaceBodySerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.servers.replace(
              server_id="f1c1eeb6-1834-48c9-a7b0-daafce64872b",
              project_id=1,
              region_id=7,
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Servers.Replace(
          		context.TODO(),
          		"f1c1eeb6-1834-48c9-a7b0-daafce64872b",
          		cloud.GPUBaremetalClusterServerReplaceParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			ClusterID: "1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/flavors:
    get:
      operationId: BaremetalGpuFlavorListViewSet.get
      summary: List bare metal GPU flavors
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: hide_disabled
        required: false
        description: Set to `true` to remove the disabled flavors from the response.
        schema:
          default: false
          description: Set to `true` to remove the disabled flavors from the response.
          example: true
          examples:
          - true
          title: Hide Disabled
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to `true` if the response should include flavor prices.
        schema:
          default: false
          description: Set to `true` if the response should include flavor prices.
          example: true
          examples:
          - true
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGpuBaremetalFlavorSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_baremetal.clusters.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUBaremetal.Clusters.Flavors.List(context.TODO(), cloud.GPUBaremetalClusterFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/images:
    post:
      operationId: BaremetalGpuImageListViewSet.post
      summary: Upload new bare metal GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadBaremetalGpuImageSerializer'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.images.upload(
              project_id=1,
              region_id=7,
              name="ubuntu-23.10-x64",
              url="http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Images.Upload(context.TODO(), cloud.GPUBaremetalClusterImageUploadParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Name:      "ubuntu-23.10-x64",
          		URL:       "http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: BaremetalGpuImageListViewSet.get
      summary: List bare metal GPU images
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_baremetal.clusters.images.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUBaremetal.Clusters.Images.List(context.TODO(), cloud.GPUBaremetalClusterImageListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/images/{image_id}:
    get:
      operationId: BaremetalGpuImageViewSet.get
      summary: Get bare metal GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_image = client.cloud.gpu_baremetal.clusters.images.get(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(gpu_image.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuImage, err := client.Cloud.GPUBaremetal.Clusters.Images.Get(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.GPUBaremetalClusterImageGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuImage.ID)
          }
    patch:
      operationId: BaremetalGpuImageViewSet.patch
      summary: Update bare metal GPU image
      description: Update GPU image name, `min_disk`, `min_ram`, or tags.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGpuImageSerializer'
      tags:
      - GPU Bare Metal
    delete:
      operationId: BaremetalGpuImageViewSet.delete
      summary: Delete bare metal GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.images.delete(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Images.Delete(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.GPUBaremetalClusterImageDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/baremetal/clusters:
    post:
      operationId: BmGpuClusterPricingPreviewHandlerV2.post
      summary: Preview bare metal GPU cluster price
      description: Preview the billing price for a bare metal GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalGPUClusterPricingPreviewResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalGPUClusterPricingPreviewRequestSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/baremetal/clusters/{cluster_id}:
    get:
      operationId: BmGpuClusterPricingHandlerV2.get
      summary: Get bare metal GPU cluster price
      description: Get the billing rate of an existing bare metal GPU cluster based on the current configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/baremetal/clusters/{cluster_id}/servers/{server_id}:
    get:
      operationId: BmGpuClusterServerPricingHandlerV2.get
      summary: Get bare metal GPU cluster server price
      description: Get the billing rate for an individual server within a bare metal GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Bare Metal
  /cloud/v2/ai/clusters/{project_id}/{region_id}:
    get:
      operationId: AIClustersHandlerV2.get
      summary: List bare metal GPU clusters
      description: Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIClusterCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
  /cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}:
    get:
      operationId: AIClusterHandlerV2.get
      summary: Get bare metal GPU cluster
      description: Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
    delete:
      operationId: AIClusterHandlerV2.delete
      summary: Delete bare metal GPU cluster
      description: |-
        Deletes given bare metal GPU cluster.
        Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: delete_floatings
        required: false
        description: True if it is required to delete floating IPs assigned to the servers
        schema:
          default: false
          description: True if it is required to delete floating IPs assigned to the servers
          title: Delete Floatings
          type: boolean
      - in: query
        name: floatings
        required: false
        description: Comma-separated list of floating IDs to delete
        schema:
          description: Comma-separated list of floating IDs to delete
          title: Floatings
          type: string
      - in: query
        name: reserved_fixed_ips
        required: false
        description: Comma-separated list of port IDs to be deleted with the servers
        schema:
          description: Comma-separated list of port IDs to be deleted with the servers
          title: Reserved Fixed Ips
          type: string
      - in: query
        name: volumes
        required: false
        description: Comma-separated list of volume IDs to delete with the cluster
        schema:
          description: Comma-separated list of volume IDs to delete with the cluster
          title: Volumes
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
  /cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}/powercycle:
    post:
      operationId: AIClusterPowercycleHandler.post
      summary: Powercycle all bare metal GPU cluster servers
      description: Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/action` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPUClusterServerCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster_server_v1_list = client.cloud.gpu_baremetal.clusters.powercycle_all_servers(
              cluster_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(gpu_baremetal_cluster_server_v1_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalClusterServerV1List, err := client.Cloud.GPUBaremetal.Clusters.PowercycleAllServers(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterPowercycleAllServersParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalClusterServerV1List.Count)
          }
  /cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}/reboot:
    post:
      operationId: AIClusterRebootHandler.post
      summary: Reboot all bare metal GPU cluster servers
      description: Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/action` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: GPU cluster ID
        schema:
          description: GPU cluster ID
          example: faab46fd-26fd-4321-9876-abcdef012345
          examples:
          - faab46fd-26fd-4321-9876-abcdef012345
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPUClusterServerCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster_server_v1_list = client.cloud.gpu_baremetal.clusters.reboot_all_servers(
              cluster_id="faab46fd-26fd-4321-9876-abcdef012345",
              project_id=1,
              region_id=1,
          )
          print(gpu_baremetal_cluster_server_v1_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalClusterServerV1List, err := client.Cloud.GPUBaremetal.Clusters.RebootAllServers(
          		context.TODO(),
          		"faab46fd-26fd-4321-9876-abcdef012345",
          		cloud.GPUBaremetalClusterRebootAllServersParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalClusterServerV1List.Count)
          }
  /cloud/v1/ai/clusters/{project_id}/{region_id}/check_limits:
    post:
      operationId: AIClusterLimitsHandler.post
      summary: Check GPU cluster quotas
      description: |-
        Check if there are sufficient quotas to create a GPU cluster.
        Determines whether the regional quota is exceeded and, if so,
        calculates the additional quota required.
        Use `/v3/gpu/baremetal/{project_id}/{region_id}/check_limits`
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionRequestedQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckAIClusterLimitsSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v1/ai/clusters/gpu/{project_id}/{region_id}:
    post:
      operationId: AIClustersGPUHandler.post
      summary: Create bare metal GPU cluster
      description: |-
        Create a new GPU cluster with specified configuration.
        The cluster can be created with one or more nodes.
        Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/clusters` endpoint instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAIClusterGPUSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v1/ai/flavors/{project_id}/{region_id}:
    get:
      operationId: AIFlavorsHandler.get
      summary: List GPU flavors
      description: |-
        Retrieve a list of flavors available for GPU clusters.
        Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/flavors` endpoint instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: disabled
        required: false
        description: Flag for filtering disabled flavors in the region
        schema:
          default: true
          description: Flag for filtering disabled flavors in the region
          title: Disabled
          type: boolean
      - in: query
        name: include_capacity
        required: false
        description: Set to true to see the number of available AI Infrastructure clusters
        schema:
          default: false
          description: Set to true to see the number of available AI Infrastructure clusters
          title: Include Capacity
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to true if flavor listing should include flavor prices
        schema:
          default: false
          description: Set to true if flavor listing should include flavor prices
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIClusterFlavorWithPriceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
  /cloud/v1/ai/images/gpu/{project_id}/{region_id}:
    get:
      operationId: AIGPUImagesHandler.get
      summary: List GPU images
      description: |-
        Retrieve a list of images available for GPU clusters.
        Please use the `/v3/gpu/baremetal/{project_id}/{region_id}/images` endpoint instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: private
        required: false
        description: Any value to show private images
        schema:
          description: Any value to show private images
          title: Private
          type: string
      - in: query
        name: visibility
        required: false
        description: Search only public, shared or private images
        schema:
          $ref: '#/components/schemas/VisibilityTypeEnum'
          description: Search only public, shared or private images
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIImageCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/rebuild:
    post:
      operationId: BaremetalClusterRebuildAction.post
      summary: Rebuild bare metal GPU cluster
      description: |-
        Use `POST /v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/apply_settings` instead.

        Perform a rebuild operation on a bare metal GPU cluster.
        During the rebuild process, the servers in cluster receive a new image, SSH key, and user data.
        Important:
        Before triggering a rebuild, the cluster must have updated server settings to apply.
        These cluster settings must be patched using the following endpoint:
        PATCH '/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.rebuild(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Rebuild(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterRebuildParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/rebuild:
    post:
      operationId: BaremetalClusterInstanceRebuildAction.post
      summary: Rebuild bare metal GPU cluster server
      description: |-
        Use `POST /v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/apply_settings` instead.

        Perform a rebuild operation on a bare metal GPU cluster server.
        During the rebuild process, the server receive a new image, SSH key, and user data.
        Important:
        Before triggering a rebuild, the cluster must have updated server settings to apply.
        These cluster settings must be patched using the following endpoint:
        PATCH '/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_baremetal.clusters.servers.rebuild(
              server_id="f1c1eeb6-1834-48c9-a7b0-daafce64872b",
              project_id=1,
              region_id=7,
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUBaremetal.Clusters.Servers.Rebuild(
          		context.TODO(),
          		"f1c1eeb6-1834-48c9-a7b0-daafce64872b",
          		cloud.GPUBaremetalClusterServerRebuildParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			ClusterID: "1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers_settings:
    patch:
      operationId: BMClusterServerSettings.patch
      summary: Update bare metal GPU cluster server settings
      description: |-
        Use `PATCH /v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}` instead,
        which now accepts `servers_settings` and `image_id` fields alongside `name` and `tags`.

        To apply these configuration changes to running servers, use the
        `/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/apply_settings` endpoint.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaremetalClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchBaremetalClusterServerSettings'
      tags:
      - GPU Bare Metal
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_baremetal_cluster = client.cloud.gpu_baremetal.clusters.update_servers_settings(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(gpu_baremetal_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuBaremetalCluster, err := client.Cloud.GPUBaremetal.Clusters.UpdateServersSettings(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUBaremetalClusterUpdateServersSettingsParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuBaremetalCluster.ID)
          }
  /cloud/v1/pricing/{project_id}/{region_id}/ai/clusters:
    post:
      operationId: AIClusterPricingPreviewHandler.post
      summary: Preview GPU cluster price
      description: |-
        Preview the billing price for a GPU cluster.

        **Deprecated**: Use the new v2 endpoints instead:
        - `/v2/pricing/{project_id}/{region_id}/gpu/virtual/clusters` for virtual GPU clusters
        - `/v2/pricing/{project_id}/{region_id}/gpu/baremetal/clusters` for bare metal GPU clusters
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstancePricingPreviewV2ResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyGPUClusterPricingPreviewRequestSerializer'
      tags:
      - GPU Bare Metal
  /cloud/v1/pricing/{project_id}/{region_id}/ai/clusters/{server_id}:
    get:
      operationId: AIClusterPricingHandler.get
      summary: Get GPU cluster price
      description: |-
        Get the billing rate for an existing GPU cluster based on its current configuration.

        **Deprecated**: Use the new v2 endpoints instead:
        - `/v2/pricing/{project_id}/{region_id}/gpu/virtual/clusters/{cluster_id}/servers/{server_id}`
          for virtual clusters
        - `/v2/pricing/{project_id}/{region_id}/gpu/baremetal/clusters/{cluster_id}/servers/{server_id}`
          for baremetal clusters
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - GPU Bare Metal
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/check_limits:
    post:
      operationId: CheckVirtualGpuLimits.post
      summary: Check virtual GPU cluster quota
      description: |-
        Check if regional quota is exceeded for virtual GPU cluster creation.
        If exceeded, calculate additional quotas needed.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualGpuRequiredQuotaSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeVirtualGpuClusterCreationSerializer'
      tags:
      - GPU Virtual
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters:
    post:
      operationId: VirtualClusterCollection.post
      summary: Create virtual GPU cluster
      description: Create a new virtual GPU cluster with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterCreateSerializer'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.create(
              project_id=1,
              region_id=7,
              flavor="g3-ai-32-192-1500-l40s-48-1",
              name="gpu-cluster-1",
              servers_count=3,
              servers_settings={
                  "interfaces": [{
                      "type": "external"
                  }],
                  "volumes": [{
                      "boot_index": 1,
                      "name": "my-data-disk",
                      "size": 100,
                      "source": "new",
                      "type": "cold",
                  }],
              },
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.New(context.TODO(), cloud.GPUVirtualClusterNewParams{
          		ProjectID:    gcore.Int(1),
          		RegionID:     gcore.Int(7),
          		Flavor:       "g3-ai-32-192-1500-l40s-48-1",
          		Name:         "gpu-cluster-1",
          		ServersCount: 3,
          		ServersSettings: cloud.GPUVirtualClusterNewParamsServersSettings{
          			Interfaces: []cloud.GPUVirtualClusterNewParamsServersSettingsInterfaceUnion{{
          				OfExternal: &cloud.GPUVirtualClusterNewParamsServersSettingsInterfaceExternal{},
          			}},
          			Volumes: []cloud.GPUVirtualClusterNewParamsServersSettingsVolumeUnion{{
          				OfNew: &cloud.GPUVirtualClusterNewParamsServersSettingsVolumeNew{
          					BootIndex: 1,
          					Name:      "my-data-disk",
          					Size:      100,
          					Type:      "cold",
          				},
          			}},
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: VirtualClusterCollection.get
      summary: List virtual GPU clusters
      description: List all virtual GPU clusters in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: created_at
        required: false
        description: Filter by creation time (UTC), e.g. `created_at[gte]=2026-01-01T00:00:00Z`.
        schema:
          $ref: '#/components/schemas/DateTimeRangeFilter'
          description: Filter by creation time (UTC), e.g. `created_at[gte]=2026-01-01T00:00:00Z`.
        style: deepObject
        explode: true
      - in: query
        name: flavor
        required: false
        description: Filter by flavor (case-insensitive), e.g. `flavor[prefix]=g3-`, `flavor[exact]=g3-ai-32-192-1500-l40s-48-1`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by flavor (case-insensitive), e.g. `flavor[prefix]=g3-`, `flavor[exact]=g3-ai-32-192-1500-l40s-48-1`.
        style: deepObject
        explode: true
      - in: query
        name: ids
        required: false
        description: Return only clusters with these IDs, e.g. `ids=<id1>&ids=<id2>`.
        schema:
          description: Return only clusters with these IDs, e.g. `ids=<id1>&ids=<id2>`.
          example: &id011
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - *id011
          items:
            format: uuid4
            type: string
          title: Ids
          type: array
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 10
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: managed_by
        required: false
        description: 'Filter by who manages the cluster: `user` (default) or `k8s` (Managed Kubernetes). Pass both to include all, e.g. `managed_by=user&managed_by=k8s`.'
        schema:
          default:
          - user
          description: 'Filter by who manages the cluster: `user` (default) or `k8s` (Managed Kubernetes). Pass both to include all, e.g. `managed_by=user&managed_by=k8s`.'
          example: &id012
          - user
          examples:
          - *id012
          items:
            $ref: '#/components/schemas/ClusterManagedBy'
          title: Managed By
          type: array
      - in: query
        name: name
        required: false
        description: Filter by name (case-insensitive), e.g. `name[contains]=gpu`, `name[prefix]=prod-`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by name (case-insensitive), e.g. `name[contains]=gpu`, `name[prefix]=prod-`.
        style: deepObject
        explode: true
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: servers_count
        required: false
        description: Filter by node count, e.g. `servers_count[gte]=2`, `servers_count[gte]=2&servers_count[lt]=8`.
        schema:
          $ref: '#/components/schemas/IntRangeFilter'
          description: Filter by node count, e.g. `servers_count[gte]=2`, `servers_count[gte]=2&servers_count[lt]=8`.
        style: deepObject
        explode: true
      - in: query
        name: tag_key
        required: false
        description: Filter by tag key regardless of value, e.g. `tag_key[contains]=team`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by tag key regardless of value, e.g. `tag_key[contains]=team`.
        style: deepObject
        explode: true
      - in: query
        name: tag_value
        required: false
        description: Filter by tag value regardless of key, e.g. `tag_value[prefix]=prod`.
        schema:
          $ref: '#/components/schemas/StringFilter'
          description: Filter by tag value regardless of key, e.g. `tag_value[prefix]=prod`.
        style: deepObject
        explode: true
      - in: query
        name: tags
        required: false
        description: Filter by exact tag key-value pairs, e.g. `tags[env]=prod&tags[team]=core`. Repeat a key to match any of several values for it, e.g. `tags[env]=prod&tags[env]=dev`. Values for one key are ORed, different keys are ANDed; values match case-insensitively.
        schema:
          $ref: '#/components/schemas/TagFilter'
          description: Filter by exact tag key-value pairs, e.g. `tags[env]=prod&tags[team]=core`. Repeat a key to match any of several values for it, e.g. `tags[env]=prod&tags[env]=dev`. Values for one key are ORed, different keys are ANDed; values match case-insensitively.
          examples:
          - env:
            - prod
        style: deepObject
        explode: true
      - in: query
        name: updated_at
        required: false
        description: Filter by last-change time (UTC), e.g. `updated_at[gte]=2026-06-01T00:00:00Z`.
        schema:
          $ref: '#/components/schemas/DateTimeRangeFilter'
          description: Filter by last-change time (UTC), e.g. `updated_at[gte]=2026-06-01T00:00:00Z`.
        style: deepObject
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualClusterListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.List(context.TODO(), cloud.GPUVirtualClusterListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}:
    get:
      operationId: VirtualClusterInstance.get
      summary: Get virtual GPU cluster
      description: Get detailed information about a specific virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_virtual_cluster = client.cloud.gpu_virtual.clusters.get(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(gpu_virtual_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuVirtualCluster, err := client.Cloud.GPUVirtual.Clusters.Get(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuVirtualCluster.ID)
          }
    patch:
      operationId: VirtualClusterInstance.patch
      summary: Update virtual GPU cluster
      description: |-
        Update the name, tags, and/or server settings of an existing virtual GPU cluster.

        Update tags using JSON Merge Patch semantics (RFC 7396).
        To add or update tags, provide key-value pairs.
        To remove a tag, set its value to null.

        Updating server settings (`servers_settings`) only modifies the cluster template.
        **It does NOT modify or rebuild any existing servers in the cluster.**
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualClusterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateClusterSerializer'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_virtual_cluster = client.cloud.gpu_virtual.clusters.update(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(gpu_virtual_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuVirtualCluster, err := client.Cloud.GPUVirtual.Clusters.Update(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuVirtualCluster.ID)
          }
    delete:
      operationId: VirtualClusterInstance.delete
      summary: Delete virtual GPU cluster
      description: Delete a virtual GPU cluster and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: all_floating_ips
        required: false
        description: Flag indicating whether the floating ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the floating ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Floating Ips
          type: boolean
      - in: query
        name: all_reserved_fixed_ips
        required: false
        description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Reserved Fixed Ips
          type: boolean
      - in: query
        name: all_volumes
        required: false
        description: Flag indicating whether all attached volumes are deleted
        schema:
          default: false
          description: Flag indicating whether all attached volumes are deleted
          example: true
          examples:
          - true
          title: All Volumes
          type: boolean
      - in: query
        name: floating_ip_ids
        required: false
        description: Optional list of floating ips to be deleted
        schema:
          description: Optional list of floating ips to be deleted
          example: &id013
          - e4a01208-d6ac-4304-bf86-3028154b070a
          examples:
          - *id013
          items:
            format: uuid4
            type: string
          title: Floating Ip Ids
          type: array
      - in: query
        name: reserved_fixed_ip_ids
        required: false
        description: Optional list of reserved fixed ips to be deleted
        schema:
          description: Optional list of reserved fixed ips to be deleted
          example: &id014
          - a29b8e1e-08d3-4cec-91fb-06e81e5f46d5
          examples:
          - *id014
          items:
            format: uuid4
            type: string
          title: Reserved Fixed Ip Ids
          type: array
      - in: query
        name: volume_ids
        required: false
        description: Optional list of volumes to be deleted
        schema:
          description: Optional list of volumes to be deleted
          example: &id015
          - 1333c684-c3da-4b91-ac9e-a92706aa2824
          examples:
          - *id015
          items:
            format: uuid4
            type: string
          title: Volume Ids
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.delete(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.Delete(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}/action:
    post:
      operationId: VirtualClusterInstanceActions.post
      summary: Execute virtual GPU cluster action
      description: |-
        Perform a specific action on a virtual GPU cluster.
        Available actions: start, stop, soft reboot, hard reboot, resize
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualGPUClusterActionSerializer'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.action(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
              action="start",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.Action(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterActionParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			OfStart:   &cloud.GPUVirtualClusterActionParamsBodyStart{},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}/interfaces:
    get:
      operationId: VirtualGpuClusterInterfaces.get
      summary: List virtual GPU cluster interfaces
      description: List all network interfaces for servers in a virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualGpuClusterInterfaceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.interfaces.list(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.network_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.Interfaces.List(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterInterfaceListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}/servers:
    get:
      operationId: VirtualClusterInstanceServers.get
      summary: List virtual GPU cluster servers
      description: List all servers in a virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: changed_before
        required: false
        description: 'Filters the results to include only servers whose last change timestamp is less than the specified datetime. Format: ISO 8601.'
        schema:
          description: 'Filters the results to include only servers whose last change timestamp is less than the specified datetime. Format: ISO 8601.'
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changed Before
          type: string
      - in: query
        name: changed_since
        required: false
        description: 'Filters the results to include only servers whose last change timestamp is greater than or equal to the specified datetime. Format: ISO 8601.'
        schema:
          description: 'Filters the results to include only servers whose last change timestamp is greater than or equal to the specified datetime. Format: ISO 8601.'
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changed Since
          type: string
      - in: query
        name: ip_address
        required: false
        description: Filter servers by ip address.
        schema:
          description: Filter servers by ip address.
          example: 237.84.2.178
          examples:
          - 237.84.2.178
          title: Ip Address
          type: string
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 10
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter servers by name. You can provide a full or partial name, servers with matching names will be returned. For example, entering 'test' will return all servers that contain 'test' in their name.
        schema:
          description: Filter servers by name. You can provide a full or partial name, servers with matching names will be returned. For example, entering 'test' will return all servers that contain 'test' in their name.
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order field
        schema:
          $ref: '#/components/schemas/GroupOrdering'
          default: created_at.desc
          description: Order field
      - in: query
        name: status
        required: false
        description: Filters servers by status.
        schema:
          $ref: '#/components/schemas/InstanceStatusQuery'
          description: Filters servers by status.
          examples:
          - ACTIVE
      - in: query
        name: uuids
        required: false
        description: Filter servers by uuid.
        schema:
          description: Filter servers by uuid.
          example: d74c2bb9-cea7-4b23-a009-2f13518ae66d
          examples:
          - d74c2bb9-cea7-4b23-a009-2f13518ae66d
          items:
            type: string
          title: Uuids
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterInstanceServersList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.servers.list(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.Servers.List(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterServerListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}:
    delete:
      operationId: ClusterInstanceServerInstance.delete
      summary: Delete virtual GPU cluster server
      description: Delete a server from a virtual GPU cluster and its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      - in: query
        name: all_floating_ips
        required: false
        description: Flag indicating whether the floating ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the floating ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Floating Ips
          type: boolean
      - in: query
        name: all_reserved_fixed_ips
        required: false
        description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
        schema:
          default: false
          description: Flag indicating whether the reserved fixed ips associated with server / cluster are deleted
          example: true
          examples:
          - true
          title: All Reserved Fixed Ips
          type: boolean
      - in: query
        name: all_volumes
        required: false
        description: Flag indicating whether all attached volumes are deleted
        schema:
          default: false
          description: Flag indicating whether all attached volumes are deleted
          example: true
          examples:
          - true
          title: All Volumes
          type: boolean
      - in: query
        name: floating_ip_ids
        required: false
        description: Optional list of floating ips to be deleted
        schema:
          description: Optional list of floating ips to be deleted
          example: &id016
          - e4a01208-d6ac-4304-bf86-3028154b070a
          examples:
          - *id016
          items:
            format: uuid4
            type: string
          title: Floating Ip Ids
          type: array
      - in: query
        name: reserved_fixed_ip_ids
        required: false
        description: Optional list of reserved fixed ips to be deleted
        schema:
          description: Optional list of reserved fixed ips to be deleted
          example: &id017
          - a29b8e1e-08d3-4cec-91fb-06e81e5f46d5
          examples:
          - *id017
          items:
            format: uuid4
            type: string
          title: Reserved Fixed Ip Ids
          type: array
      - in: query
        name: volume_ids
        required: false
        description: Optional list of volumes to be deleted
        schema:
          description: Optional list of volumes to be deleted
          example: &id018
          - 1333c684-c3da-4b91-ac9e-a92706aa2824
          examples:
          - *id018
          items:
            format: uuid4
            type: string
          title: Volume Ids
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.servers.delete(
              server_id="f1c1eeb6-1834-48c9-a7b0-daafce64872b",
              project_id=1,
              region_id=7,
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.Servers.Delete(
          		context.TODO(),
          		"f1c1eeb6-1834-48c9-a7b0-daafce64872b",
          		cloud.GPUVirtualClusterServerDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			ClusterID: "1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/clusters/{cluster_id}/volumes:
    get:
      operationId: ClusterInstanceVolumes.get
      summary: List virtual GPU cluster volumes
      description: List all volumes attached to servers in a virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterInstanceVolumesList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.volumes.list(
              cluster_id="1aaaab48-10d0-46d9-80cc-85209284ceb4",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.Volumes.List(
          		context.TODO(),
          		"1aaaab48-10d0-46d9-80cc-85209284ceb4",
          		cloud.GPUVirtualClusterVolumeListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/flavors:
    get:
      operationId: VirtualGpuFlavorListViewSet.get
      summary: List virtual GPU flavors
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: hide_disabled
        required: false
        description: Set to `true` to remove the disabled flavors from the response.
        schema:
          default: false
          description: Set to `true` to remove the disabled flavors from the response.
          example: true
          examples:
          - true
          title: Hide Disabled
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to `true` if the response should include flavor prices.
        schema:
          default: false
          description: Set to `true` if the response should include flavor prices.
          example: true
          examples:
          - true
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGpuVirtualFlavorSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.Flavors.List(context.TODO(), cloud.GPUVirtualClusterFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/images:
    post:
      operationId: VirtualGpuImageListViewSet.post
      summary: Upload new virtual GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadVirtualGpuImageSerializer'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.images.upload(
              project_id=1,
              region_id=7,
              name="ubuntu-23.10-x64",
              url="http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.Images.Upload(context.TODO(), cloud.GPUVirtualClusterImageUploadParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Name:      "ubuntu-23.10-x64",
          		URL:       "http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: VirtualGpuImageListViewSet.get
      summary: List virtual GPU images
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.gpu_virtual.clusters.images.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.GPUVirtual.Clusters.Images.List(context.TODO(), cloud.GPUVirtualClusterImageListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v3/gpu/virtual/{project_id}/{region_id}/images/{image_id}:
    get:
      operationId: VirtualGpuImageViewSet.get
      summary: Get virtual GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          gpu_image = client.cloud.gpu_virtual.clusters.images.get(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(gpu_image.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	gpuImage, err := client.Cloud.GPUVirtual.Clusters.Images.Get(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.GPUVirtualClusterImageGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", gpuImage.ID)
          }
    patch:
      operationId: VirtualGpuImageViewSet.patch
      summary: Update virtual GPU image
      description: Update GPU image name, `min_disk`, `min_ram`, or tags.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGpuImageSerializer'
      tags:
      - GPU Virtual
    delete:
      operationId: VirtualGpuImageViewSet.delete
      summary: Delete virtual GPU image
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.gpu_virtual.clusters.images.delete(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.GPUVirtual.Clusters.Images.Delete(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.GPUVirtualClusterImageDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/virtual/clusters:
    post:
      operationId: VirtualGpuClusterPricingPreviewHandlerV2.post
      summary: Preview virtual GPU cluster price
      description: Preview the billing price for a virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualGPUClusterPricingPreviewResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualGPUClusterPricingPreviewRequestSerializer'
      tags:
      - GPU Virtual
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/virtual/clusters/{cluster_id}:
    get:
      operationId: VirtualGpuClusterPricingHandlerV2.get
      summary: Get virtual GPU cluster price
      description: Get the billing rate of an existing virtual GPU cluster based on the current configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
  /cloud/v2/pricing/{project_id}/{region_id}/gpu/virtual/clusters/{cluster_id}/servers/{server_id}:
    get:
      operationId: VirtualGpuClusterServerPricingHandlerV2.get
      summary: Get virtual GPU cluster server price
      description: Get the billing rate for an individual server within a virtual GPU cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: cluster_id
        required: true
        description: Cluster unique identifier
        schema:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Cluster Id
          type: string
      - in: path
        name: server_id
        required: true
        description: Server unique identifier
        schema:
          description: Server unique identifier
          example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
          examples:
          - f1c1eeb6-1834-48c9-a7b0-daafce64872b
          format: uuid4
          title: Server Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - GPU Virtual
  /cloud/public/v1/ipranges/egress:
    get:
      operationId: EgressIPRangesViewSet.get
      summary: List cloud egress public IPs
      description: |-
        Returns the complete list of IPv4 and IPv6 address ranges that Cloud uses for outbound (egress) traffic.

        Typical reasons to call this endpoint:
        - Host-file delivery workflows - You upload images or other assets to the Cloud and share a download link
        that points to your own infrastructure. Add these egress prefixes to your firewall or object-storage allow-list
        so our clients can fetch the files without being blocked.
        - Push integrations / webhooks - You subscribe to the user-actions event log and Cloud pushes events to your
        listener endpoint. Whitelisting the egress IP ranges lets you accept only traffic that originates from us.
        - General security controls, audit tooling, or SIEM rules that need to verify that traffic truly comes
        from the Cloud.

        The list is global (covers all regions) and refreshed automatically whenever the provider allocates
        new egress IP space. The response is an array of CIDR blocks; duplicate prefixes are not returned.
      parameters: []
      responses:
        '200':
          description: IP ranges
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPRangesSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - IP Ranges
      security: []
      x-codeSamples:
      - lang: Python
        source: |-
          from gcore import Gcore

          client = Gcore()
          ip_ranges = client.cloud.ip_ranges.list()
          print(ip_ranges.ranges)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	ipRanges, err := client.Cloud.IPRanges.List(context.TODO())
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", ipRanges.Ranges)
          }
  /cloud/v1/bmimages/{project_id}/{region_id}:
    post:
      operationId: BmImagesViewSet.post
      summary: Create image
      description: |-
        Create a new image from a bootable volume.
        The volume must be bootable to create an image from it.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageCreateFromVolumeSerializer'
      tags:
      - Images
    get:
      operationId: BmImagesViewSet.get
      summary: List bare metal images
      description: |-
        Retrieve a list of available images for bare metal servers.
        The list can be filtered by visibility, tags, and other parameters.
        Returned entities may or may not be owned by the project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: architecture
        required: false
        description: Filter by image architecture.
        schema:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: Filter by image architecture.
          examples:
          - x86_64
      - in: query
        name: include_prices
        required: false
        description: Show price.
        schema:
          description: Show price.
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter by image name (case-insensitive substring match)
        schema:
          description: Filter by image name (case-insensitive substring match)
          example: ubuntu
          examples:
          - ubuntu
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: os_distro
        required: false
        description: Filter by OS distribution (case-insensitive). E.g. `ubuntu`, `centos`, `debian`
        schema:
          description: Filter by OS distribution (case-insensitive). E.g. `ubuntu`, `centos`, `debian`
          example: ubuntu
          examples:
          - ubuntu
          title: Os Distro
          type: string
      - in: query
        name: os_version
        required: false
        description: Filter by OS version (case-insensitive). E.g. `22.04`
        schema:
          description: Filter by OS version (case-insensitive). E.g. `22.04`
          example: '22.04'
          examples:
          - '22.04'
          title: Os Version
          type: string
      - in: query
        name: private
        required: false
        description: Any value to show private images
        schema:
          description: Any value to show private images
          title: Private
          type: string
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id019
          - key1
          - key2
          examples:
          - *id019
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id020
            key: value
          examples:
          - *id020
          title: Tag Key Value
          type: string
      - in: query
        name: visibility
        required: false
        description: Image visibility. Globally visible images are public
        schema:
          $ref: '#/components/schemas/VisibilityTypeEnum'
          description: Image visibility. Globally visible images are public
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalImageCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.baremetal.images.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Baremetal.Images.List(context.TODO(), cloud.BaremetalImageListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/downloadimage/{project_id}/{region_id}:
    post:
      operationId: ImageDownloadViewSet.post
      summary: Upload image
      description: |-
        Upload an image from a URL.
        The image can be configured with various properties like OS type, architecture, and tags.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageDownloadSerializer'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.images.upload(
              project_id=1,
              region_id=7,
              name="my-image",
              url="http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Images.Upload(context.TODO(), cloud.InstanceImageUploadParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Name:      "my-image",
          		URL:       "http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/images/{project_id}/{region_id}:
    post:
      operationId: ImagesViewSet.post
      summary: Create image
      description: |-
        Create a new image from a bootable volume.
        The volume must be bootable to create an image from it.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageCreateFromVolumeSerializer'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.images.create_from_volume(
              project_id=1,
              region_id=7,
              name="my-image",
              volume_id="d478ae29-dedc-4869-82f0-96104425f565",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Images.NewFromVolume(context.TODO(), cloud.InstanceImageNewFromVolumeParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Name:      "my-image",
          		VolumeID:  "d478ae29-dedc-4869-82f0-96104425f565",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: ImagesViewSet.get
      summary: List images
      description: |-
        Retrieve a list of available images in the project and region.
        The list can be filtered by visibility, tags, and other parameters.
        Returned entities are owned by the project or are public/shared with the client.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: architecture
        required: false
        description: Filter by image architecture.
        schema:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: Filter by image architecture.
          examples:
          - x86_64
      - in: query
        name: include_prices
        required: false
        description: Show price.
        schema:
          description: Show price.
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter by image name (case-insensitive substring match)
        schema:
          description: Filter by image name (case-insensitive substring match)
          example: ubuntu
          examples:
          - ubuntu
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: os_distro
        required: false
        description: Filter by OS distribution (case-insensitive). E.g. `ubuntu`, `centos`, `debian`
        schema:
          description: Filter by OS distribution (case-insensitive). E.g. `ubuntu`, `centos`, `debian`
          example: ubuntu
          examples:
          - ubuntu
          title: Os Distro
          type: string
      - in: query
        name: os_version
        required: false
        description: Filter by OS version (case-insensitive). E.g. `22.04`
        schema:
          description: Filter by OS version (case-insensitive). E.g. `22.04`
          example: '22.04'
          examples:
          - '22.04'
          title: Os Version
          type: string
      - in: query
        name: private
        required: false
        description: Any value to show private images
        schema:
          description: Any value to show private images
          title: Private
          type: string
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id021
          - key1
          - key2
          examples:
          - *id021
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id022
            key: value
          examples:
          - *id022
          title: Tag Key Value
          type: string
      - in: query
        name: visibility
        required: false
        description: Image visibility. Globally visible images are public
        schema:
          $ref: '#/components/schemas/VisibilityTypeEnum'
          description: Image visibility. Globally visible images are public
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.instances.images.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Instances.Images.List(context.TODO(), cloud.InstanceImageListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/images/{project_id}/{region_id}/{image_id}:
    get:
      operationId: ImageDetailViewSet.get
      summary: Get image
      description: Retrieve detailed information about a specific image.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      - in: query
        name: include_prices
        required: false
        description: Show price
        schema:
          default: false
          description: Show price
          example: false
          examples:
          - false
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          image = client.cloud.instances.images.get(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(image.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	image, err := client.Cloud.Instances.Images.Get(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.InstanceImageGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", image.ID)
          }
    patch:
      operationId: ImageDetailViewSet.patch
      summary: Update image
      description: Update image properties and tags.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateImageSerializer'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          image = client.cloud.instances.images.update(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(image.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	image, err := client.Cloud.Instances.Images.Update(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.InstanceImageUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", image.ID)
          }
    delete:
      operationId: ImageDetailViewSet.delete
      summary: Delete image
      description: |-
        Delete a specific image.
        The image cannot be deleted if it is used by protected snapshots.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Images
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.images.delete(
              image_id="8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Images.Delete(
          		context.TODO(),
          		"8cab6f28-09ca-4201-b3f7-23c7893f4bd6",
          		cloud.InstanceImageDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/pricing/{project_id}/{region_id}/images:
    post:
      operationId: ImagePricingHandler.post
      summary: Preview image price
      description: Preview the billing price for the image of a given size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImagePricingRequestSerializer'
      tags:
      - Images
  /cloud/v1/projectimages/{project_id}/{region_id}:
    get:
      operationId: ProjectImagesViewSet.get
      summary: List project images
      description: Retrieve a list of images owned by the project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: include_prices
        required: false
        description: Show price
        schema:
          default: false
          description: Show price
          example: false
          examples:
          - false
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Images
  /cloud/v1/images/{project_id}/{region_id}/{image_id}/metadata:
    post:
      operationId: ImageMetadataHandler.post
      summary: Create or update image tags
      description: |-
        Create or update one or more tags for an image.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        Use PATCH /v1/images/{`project_id`}/{`region_id`}/{`image_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagsSerializer'
      tags:
      - Images
    get:
      operationId: ImageMetadataHandler.get
      summary: List image tags
      description: |-
        Retrieve all tags associated with an image.

        Use GET /v1/images/{`project_id`}/{`region_id`}/{`image_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Images
    put:
      operationId: ImageMetadataHandler.put
      summary: Replace image tags
      description: |-
        Delete all existing tags and replace them with the tags from the request.

        Use PATCH /v1/images/{`project_id`}/{`region_id`}/{`image_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagsSerializer'
      tags:
      - Images
  /cloud/v1/images/{project_id}/{region_id}/{image_id}/metadata_item:
    get:
      operationId: ImageMetadataItemHandler.get
      summary: Get image tag
      description: |-
        Retrieve a specific tag by its key from an image.

        Use GET /v1/images/{`project_id`}/{`region_id`}/{`image_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Images
    delete:
      operationId: ImageMetadataItemHandler.delete
      summary: Delete image tag
      description: |-
        Delete a specific tag by its key from an image.

        Use PATCH /v1/images/{`project_id`}/{`region_id`}/{`image_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: image_id
        required: true
        description: Image ID
        schema:
          description: Image ID
          example: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          examples:
          - 8cab6f28-09ca-4201-b3f7-23c7893f4bd6
          title: Image Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Images
  /cloud/v1/apptemplates/{project_id}/{region_id}:
    get:
      operationId: AppTemplateListHandler.get
      summary: List apptemplates
      description: Retrieve marketplace application templates list. Application templates are used in instance creation API v2
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppTemplateCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
  /cloud/v1/apptemplates/{project_id}/{region_id}/{apptemplate_id}:
    get:
      operationId: AppTemplateGetOneHandler.get
      summary: Get apptemplate
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: apptemplate_id
        required: true
        description: App template ID
        schema:
          description: App template ID
          example: tf2server
          examples:
          - tf2server
          title: Apptemplate Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppTemplateSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
  /cloud/v1/flavors/{project_id}/{region_id}:
    get:
      operationId: FlavorsViewSet.get
      summary: List instance flavors
      description: |-
        Retrieve a list of available instance flavors in the project and region.
        When `include_prices` is specified, the list includes pricing information.
        Trial mode clients see all prices as 0. Contact support for pricing errors.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: disabled
        required: false
        description: Flag for filtering disabled flavors in the region. Defaults to true
        schema:
          default: true
          description: Flag for filtering disabled flavors in the region. Defaults to true
          title: Disabled
          type: boolean
      - in: query
        name: exclude_linux
        required: false
        description: Set to true to exclude flavors dedicated to linux images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to linux images
          title: Exclude Linux
          type: boolean
      - in: query
        name: exclude_windows
        required: false
        description: Set to true to exclude flavors dedicated to windows images
        schema:
          default: false
          description: Set to true to exclude flavors dedicated to windows images
          title: Exclude Windows
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to true if the response should include flavor prices
        schema:
          default: false
          deprecated: true
          description: Set to true if the response should include flavor prices
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceFlavorExtendedV1CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.instances.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Instances.Flavors.List(context.TODO(), cloud.InstanceFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/instances/{project_id}/{region_id}:
    post:
      operationId: InstanceCreateSetV2.post
      summary: Create instance
      description: |-
        Create an instance with specified configuration.

        How to get access:

        For Linux,

          - Use the `user_data` field to provide a
          [cloud-init script](https://cloudinit.readthedocs.io/en/latest/reference/examples.html)
          in base64 to apply configurations to the instance.
          - Specify the `username` and `password` to create a new user.
          - When only `password` is provided, it is set as the password for the default user of the image.
          - The `user_data` is ignored when the `password` is specified.


        For Windows,

          - Use the `user_data` field to provide a
          [cloudbase-init script](https://cloudbase-init.readthedocs.io/en/latest/userdata.html#cloud-config)
          in base64 to create new users on Windows.
          - Use the `password` field to set the password for the 'Admin' user on Windows.
          - The password of the Admin user cannot be updated via `user_data`.
          - The `username` cannot be specified in the request.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstanceSerializerV2'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.create(
              project_id=1,
              region_id=1,
              flavor="g2-standard-32-64",
              interfaces=[{
                  "type": "external"
              }],
              volumes=[{
                  "image_id": "e460e48c-6836-447e-bc9c-16fc4225d318",
                  "source": "image",
              }],
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.New(context.TODO(), cloud.InstanceNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Flavor:    "g2-standard-32-64",
          		Interfaces: []cloud.InstanceNewParamsInterfaceUnion{{
          			OfExternal: &cloud.InstanceNewParamsInterfaceExternal{},
          		}},
          		Volumes: []cloud.InstanceNewParamsVolumeUnion{{
          			OfImage: &cloud.InstanceNewParamsVolumeImage{
          				ImageID: "e460e48c-6836-447e-bc9c-16fc4225d318",
          			},
          		}},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}:
    get:
      operationId: InstanceViewSetV1.get
      summary: List instances
      description: |-
        List all instances in the specified project and region.
        Results can be filtered by various parameters like name, status, and IP address.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: available_floating
        required: false
        description: Only show instances which are able to handle floating address
        schema:
          description: Only show instances which are able to handle floating address
          example: true
          examples:
          - true
          title: Available Floating
          type: boolean
      - in: query
        name: changes-before
        required: false
        description: Filters the instances by a date and time stamp when the instances last changed.
        schema:
          description: Filters the instances by a date and time stamp when the instances last changed.
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changes-Before
          type: string
      - in: query
        name: changes-since
        required: false
        description: Filters the instances by a date and time stamp when the instances last changed status.
        schema:
          description: Filters the instances by a date and time stamp when the instances last changed status.
          example: '2025-10-01T12:00:00Z'
          examples:
          - '2025-10-01T12:00:00Z'
          format: date-time
          title: Changes-Since
          type: string
      - in: query
        name: exclude_flavor_prefix
        required: false
        description: Exclude instances with specified flavor prefix
        schema:
          description: Exclude instances with specified flavor prefix
          example: g1-
          examples:
          - g1-
          title: Exclude Flavor Prefix
          type: string
      - in: query
        name: exclude_secgroup
        required: false
        description: Exclude instances with specified security group name
        schema:
          description: Exclude instances with specified security group name
          example: secgroup_name
          examples:
          - secgroup_name
          title: Exclude Secgroup
          type: string
      - in: query
        name: flavor_id
        required: false
        description: Filter out instances by `flavor_id`. Flavor id must match exactly.
        schema:
          description: Filter out instances by `flavor_id`. Flavor id must match exactly.
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
      - in: query
        name: flavor_prefix
        required: false
        description: Filter out instances by `flavor_prefix`.
        schema:
          description: Filter out instances by `flavor_prefix`.
          example: g2-
          examples:
          - g2-
          title: Flavor Prefix
          type: string
      - in: query
        name: include_ai
        required: false
        description: Include GPU clusters' servers
        schema:
          default: false
          deprecated: true
          description: Include GPU clusters' servers
          example: false
          examples:
          - false
          title: Include Ai
          type: boolean
      - in: query
        name: include_baremetal
        required: false
        description: Include bare metal servers. Please, use `GET /v1/bminstances/` instead
        schema:
          default: false
          deprecated: true
          description: Include bare metal servers. Please, use `GET /v1/bminstances/` instead
          example: false
          examples:
          - false
          title: Include Baremetal
          type: boolean
      - in: query
        name: include_k8s
        required: false
        description: Include managed k8s worker nodes
        schema:
          default: true
          description: Include managed k8s worker nodes
          title: Include K8S
          type: boolean
      - in: query
        name: ip
        required: false
        description: 'An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.'
        schema:
          description: 'An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.'
          example: 192.168.0.1
          examples:
          - 192.168.0.1
          title: Ip
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.
        schema:
          description: Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: only_isolated
        required: false
        description: Include only isolated instances
        schema:
          default: false
          description: Include only isolated instances
          title: Only Isolated
          type: boolean
      - in: query
        name: only_with_fixed_external_ip
        required: false
        description: Return bare metals only with external fixed IP addresses.
        schema:
          description: Return bare metals only with external fixed IP addresses.
          example: true
          examples:
          - true
          title: Only With Fixed External Ip
          type: boolean
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/InstancesOrderByChoices'
          default: created.desc
          description: Order by field and direction.
          examples:
          - name.asc
      - in: query
        name: profile_name
        required: false
        description: Filter result by ddos protection profile name. Effective only with `with_ddos` set to true.
        schema:
          description: Filter result by ddos protection profile name. Effective only with `with_ddos` set to true.
          example: profile_name
          examples:
          - profile_name
          title: Profile Name
          type: string
      - in: query
        name: protection_status
        required: false
        description: Filter result by DDoS `protection_status`. if parameter is provided. Effective only with `with_ddos` set to true. (Active, Queued or Error)
        schema:
          description: Filter result by DDoS `protection_status`. if parameter is provided. Effective only with `with_ddos` set to true. (Active, Queued or Error)
          enum:
          - Active
          - Queued
          - Error
          example: Active
          examples:
          - Active
          title: Protection Status
          type: string
      - in: query
        name: status
        required: false
        description: Filters instances by status.
        schema:
          $ref: '#/components/schemas/InstanceStatusQuery'
          description: Filters instances by status.
          examples:
          - ACTIVE
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id023
            key: value
          examples:
          - *id023
          title: Tag Key Value
          type: string
      - in: query
        name: tag_value
        required: false
        description: Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2
        schema:
          description: Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2
          example: &id024
          - value1
          - value2
          examples:
          - *id024
          items:
            description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag-value
            examples:
            - my-tag-value
            maxLength: 255
            minLength: 1
            pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
            type: string
          title: Tag Value
          type: array
      - in: query
        name: type_ddos_profile
        required: false
        description: Return bare metals either only with advanced or only basic DDoS protection. Effective only with `with_ddos` set to true. (advanced or basic)
        schema:
          description: Return bare metals either only with advanced or only basic DDoS protection. Effective only with `with_ddos` set to true. (advanced or basic)
          enum:
          - basic
          - advanced
          example: advanced
          examples:
          - advanced
          title: Type Ddos Profile
          type: string
      - in: query
        name: uuid
        required: false
        description: Filter the server list result by the UUID of the server. Allowed UUID part
        schema:
          description: Filter the server list result by the UUID of the server. Allowed UUID part
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          maxLength: 36
          title: Uuid
          type: string
      - in: query
        name: with_ddos
        required: false
        description: Include DDoS profile information in the response when set to `true`. Otherwise, the `ddos_profile` field in the response is `null` by default.
        schema:
          default: false
          description: Include DDoS profile information in the response when set to `true`. Otherwise, the `ddos_profile` field in the response is `null` by default.
          example: true
          examples:
          - true
          title: With Ddos
          type: boolean
      - in: query
        name: with_interfaces_name
        required: false
        description: Include `interface_name` in the addresses
        schema:
          default: false
          description: Include `interface_name` in the addresses
          example: true
          examples:
          - true
          title: With Interfaces Name
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.instances.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Instances.List(context.TODO(), cloud.InstanceListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}:
    get:
      operationId: InstanceInstanceViewSet.get
      summary: Get instance
      description: |-
        Retrieve detailed information about a specific instance.
        The response content language for `ddos_profile` can be controlled via the 'language' cookie parameter.

        **Cookie Parameters**:

        - `language` (str, optional): Language for the response content. Affects the `ddos_profile` field.
          Supported values:
          - `'en'` (default)
          - `'de'`
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          instance = client.cloud.instances.get(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
          print(instance.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	instance, err := client.Cloud.Instances.Get(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", instance.ID)
          }
    patch:
      operationId: InstanceInstanceViewSet.patch
      summary: Update instance
      description: Rename instance or update tags
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInstanceSerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          instance = client.cloud.instances.update(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
          print(instance.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	instance, err := client.Cloud.Instances.Update(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", instance.ID)
          }
    delete:
      operationId: InstanceInstanceViewSet.delete
      summary: Delete instance
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: delete_floatings
        required: false
        description: True if it is required to delete floating IPs assigned to the instance. Can't be used with `floatings`.
        schema:
          default: false
          description: True if it is required to delete floating IPs assigned to the instance. Can't be used with `floatings`.
          title: Delete Floatings
          type: boolean
      - in: query
        name: floatings
        required: false
        description: Comma separated list of floating ids that should be deleted. Can't be used with `delete_floatings`.
        schema:
          description: Comma separated list of floating ids that should be deleted. Can't be used with `delete_floatings`.
          title: Floatings
          type: string
      - in: query
        name: reserved_fixed_ips
        required: false
        description: Comma separated list of port IDs to be deleted with the instance
        schema:
          description: Comma separated list of port IDs to be deleted with the instance
          title: Reserved Fixed Ips
          type: string
      - in: query
        name: volumes
        required: false
        description: Comma separated list of volume IDs to be deleted with the instance
        schema:
          description: Comma separated list of volume IDs to be deleted with the instance
          example: volume_id_1,volume_id_2
          examples:
          - volume_id_1,volume_id_2
          title: Volumes
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.delete(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Delete(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/instances/{project_id}/{region_id}/{instance_id}/action:
    post:
      operationId: InstanceActionHandler.post
      summary: Execute instance action
      description: |-
        The action can be one of: start, stop, reboot, `reboot_hard`, suspend or resume.
        Suspend and resume are not available for bare metal instances.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: List of created tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceActionSerializerPydantic'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.action(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
              action="start",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Action(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceActionParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/addsecuritygroup:
    post:
      operationId: InstanceAddSecurityGroupHandler.post
      summary: Assign security group
      description: |-
        Assign the security group to the server.
        To assign multiple security groups to all ports, use the NULL value for the `port_id` field
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstancePortsSecurityGroupsSerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.instances.assign_security_group(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Instances.AssignSecurityGroup(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceAssignSecurityGroupParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/attach_interface:
    post:
      operationId: AttachInterfaceHandler.post
      summary: Attach interface
      description: Attach interface to instance
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          examples:
          - bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachInterfaceBodySerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.interfaces.attach(
              instance_id="bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Interfaces.Attach(
          		context.TODO(),
          		"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
          		cloud.InstanceInterfaceAttachParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			OfExternal: &cloud.InstanceInterfaceAttachParamsBodyExternal{
          				Type: "external",
          			},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/available_flavors:
    get:
      operationId: InstanceFlavorViewSet.get
      summary: List suitable flavors for instance resize
      description: |-
        List all flavors suitable for resizing the specified instance.
        When `include_prices` is specified, the list includes pricing information.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: include_prices
        required: false
        description: Set to true if flavor listing should include flavor prices.
        schema:
          default: false
          description: Set to true if flavor listing should include flavor prices.
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceFlavorExtendedV1CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/changeflavor:
    post:
      operationId: InstanceChangeFlavorHandler.post
      summary: Resize instance
      description: Change flavor of the instance.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: List of created tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeFlavorBodySerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.resize(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
              flavor_id="g1s-shared-1-0.5",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Resize(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceResizeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			FlavorID:  "g1s-shared-1-0.5",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/delsecuritygroup:
    post:
      operationId: InstanceRemoveSecurityGroupHandler.post
      summary: Un-assign security group
      description: |-
        Un-assign the security group to the server.
        To un-assign multiple security groups to all ports, use the NULL value for the `port_id` field
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstancePortsSecurityGroupsSerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.instances.unassign_security_group(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Instances.UnassignSecurityGroup(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceUnassignSecurityGroupParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/detach_interface:
    post:
      operationId: DetachInterfaceHandler.post
      summary: Detach interface
      description: Detach interface from instance
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          examples:
          - bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DetachInterfaceBodySerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.interfaces.detach(
              instance_id="bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
              project_id=1,
              region_id=1,
              ip_address="ip_address",
              port_id="port_id",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.Interfaces.Detach(
          		context.TODO(),
          		"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
          		cloud.InstanceInterfaceDetachParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			IPAddress: "ip_address",
          			PortID:    "port_id",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/get_console:
    get:
      operationId: InstanceConsoleHandler.get
      summary: Get instance console URL
      description: |-
        Returns a URL to access the remote console for an instance.
        Supported console types depend on instance type: novnc and spice for virtual instances,
        vnc and serial for bare metal instances.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: console_type
        required: false
        description: Console type
        schema:
          $ref: '#/components/schemas/ConsoleType'
          description: Console type
          examples:
          - novnc
      responses:
        '200':
          description: Remote console data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteConsoleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          console = client.cloud.instances.get_console(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
          print(console.remote_console)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	console, err := client.Cloud.Instances.GetConsole(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceGetConsoleParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", console.RemoteConsole)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/interfaces:
    get:
      operationId: NetworkInterfacesHandler.get
      summary: List network interfaces
      description: List all network interfaces attached to the specified instance.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          examples:
          - bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: limit
        required: false
        description: Limit the number of returned items
        schema:
          default: 1000
          description: Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceInterfaceMixedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.instances.interfaces.list(
              instance_id="bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Instances.Interfaces.List(
          		context.TODO(),
          		"bf325375-9af6-4c8b-a2fc-7f6f4ca02e2e",
          		cloud.InstanceInterfaceListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/metrics:
    post:
      operationId: InstanceMetricsHandler.post
      summary: Get instance metrics
      description: Get instance metrics, including cpu, memory, network and disk metrics
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceMetricsListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceMetricsRequestSerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          metrics_list = client.cloud.instances.metrics.list(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
              time_interval=6,
              time_unit="hour",
          )
          print(metrics_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	metricsList, err := client.Cloud.Instances.Metrics.List(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceMetricListParams{
          			ProjectID:    gcore.Int(1),
          			RegionID:     gcore.Int(1),
          			TimeInterval: 6,
          			TimeUnit:     cloud.InstanceMetricsTimeUnitHour,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", metricsList.Count)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/put_into_servergroup:
    post:
      operationId: PutServerInstanceGroupHandler.post
      summary: Put instance into the placement group
      description: |-
        Add an instance to a placement group.
        The instance must not already be in a placement group.
        Bare metal servers do not support placement groups.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstancePutServerGroupSerializer'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.add_to_placement_group(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
              servergroup_id="47003067-550a-6f17-93b6-81ee16ba061e",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.AddToPlacementGroup(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceAddToPlacementGroupParams{
          			ProjectID:     gcore.Int(1),
          			RegionID:      gcore.Int(1),
          			ServergroupID: "47003067-550a-6f17-93b6-81ee16ba061e",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/remove_from_servergroup:
    post:
      operationId: RemoveServerInstanceGroupHandler.post
      summary: Remove instance from the placement group
      description: |-
        Remove an instance from its current placement group.
        The instance must be in a placement group to be removed.
        Bare metal servers do not support placement groups.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.instances.remove_from_placement_group(
              instance_id="b5b4d65d-945f-4b98-ab6f-332319c724ef",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Instances.RemoveFromPlacementGroup(
          		context.TODO(),
          		"b5b4d65d-945f-4b98-ab6f-332319c724ef",
          		cloud.InstanceRemoveFromPlacementGroupParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/securitygroups:
    get:
      operationId: InstanceListSecurityGroupsHandler.get
      summary: Get instance security groups
      description: List of server security groups
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSecurityGroupListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/available_flavors:
    post:
      operationId: InstanceAvailableFlavorsViewSet.post
      summary: List flavors matching volume requirements
      description: |-
        List all flavors that are suitable for instance creation based on volume requirements.
        When `include_prices` is specified, the list includes pricing information.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: include_prices
        required: false
        description: Set to true if flavor listing should include flavor prices.
        schema:
          default: false
          description: Set to true if flavor listing should include flavor prices.
          title: Include Prices
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceFlavorExtendedV1CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckFlavorVolumeListPydanticSerializer'
      tags:
      - Instances
  /cloud/v2/instances/{project_id}/{region_id}/check_limits:
    post:
      operationId: InstanceCheckLimitsV2.post
      summary: Check instance quota
      description: |-
        Check if regional quota is exceeded for instance creation.
        If exceeded, calculate additional quotas needed.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionRequestedQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeInstanceCreatingSerializer'
      tags:
      - Instances
  /cloud/v2/pricing/{project_id}/{region_id}/instances:
    post:
      operationId: ServerInstancePricingPreviewHandlerV2.post
      summary: Preview instance price
      description: Preview billing price of the server instance
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstancePricingPreviewV2ResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstancePricingPreviewV2RequestSerializer'
      tags:
      - Instances
  /cloud/v1/pricing/{project_id}/{region_id}/instances/{instance_id}:
    get:
      operationId: ServerInstancePricingHandler.get
      summary: Get instance price
      description: Get the billing rate for an existing instance based on its current configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Server instance ID
        schema:
          description: Server instance ID
          pattern: ^[\w\-]+$
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/metadata:
    post:
      operationId: InstanceMetadataHandler.post
      summary: Create or update instance tags
      description: |-
        Create or update one or more tags for the specified instance.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        **Deprecated**: Use `PATCH /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyCreateTagsSerializer'
      tags:
      - Instances
    get:
      operationId: InstanceMetadataHandler.get
      summary: List instance tags
      description: |-
        List all tags associated with the specified instance.

        **Deprecated**: Use `GET /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
    put:
      operationId: InstanceMetadataHandler.put
      summary: Replace instance tags
      description: |-
        Delete all existing tags and replace them with the tags from the request.

        **Deprecated**: Use `PATCH /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyCreateTagsSerializer'
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/metadata/{key}:
    get:
      operationId: InstanceMetadataItemHandler.get
      summary: Get instance tag
      description: |-
        Get a specific tag by its key from the specified instance.
        This endpoint does not support special characters in keys.

        **Deprecated**: Use `GET /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          format: uuid4
          title: Instance Id
          type: string
      - in: path
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          title: Key
          type: string
      responses:
        '200':
          description: Instance tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
    delete:
      operationId: InstanceMetadataItemHandler.delete
      summary: Delete instance tag
      description: |-
        Delete a specific tag by its key from the specified instance.
        This endpoint does not support special characters in keys.

        **Deprecated**: Use `PATCH /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          format: uuid4
          title: Instance Id
          type: string
      - in: path
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v2/instances/{project_id}/{region_id}/{instance_id}/metadata_item:
    get:
      operationId: InstanceMetadataItemHandlerV2.get
      summary: Get instance tag
      description: |-
        Get instance tag by key.

        **Deprecated**: Use `GET /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: cost-center
          examples:
          - cost-center
          title: Key
          type: string
      responses:
        '200':
          description: Instance tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
    delete:
      operationId: InstanceMetadataItemHandlerV2.delete
      summary: Delete instance tag
      description: |-
        Delete instance tag by key.

        **Deprecated**: Use `PATCH /v1/instances/{project_id}/{region_id}/{instance_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: cost-center
          examples:
          - cost-center
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/ports:
    get:
      operationId: InstanceInstancePortsView.get
      summary: List network ports
      description: |-
        List all network ports of the specified instance

        Deprecated. Use GET /v1/ports/{`project_id`}/{`region_id`} instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortWithSecurityGroupsCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/powercycle:
    post:
      operationId: InstancePowercycleHandler.post
      summary: Powercycle instance
      description: |-
        Stops and then starts the instance, effectively performing a hard reboot.

        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="reboot_hard" instead

        Deprecated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/reboot:
    post:
      operationId: InstanceRebootHandler.post
      summary: Reboot instance
      description: |-
        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="reboot" instead

        Deprecated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/resume:
    post:
      operationId: InstanceResumeHandler.post
      summary: Resume instance
      description: |-
        Resume a suspended server to an active state.

        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="resume" instead

        Deprecated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/start:
    post:
      operationId: InstanceStartHandler.post
      summary: Start instance
      description: |-
        Power on the server.
        Required VM state: Shutoff, Stopped

        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="start" instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivateWithInstanceSerializer'
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/stop:
    post:
      operationId: InstanceStopHandler.post
      summary: Stop instance
      description: |-
        Power off the server.
        Required VM state: Active, Shutoff, Rescued

        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="stop" instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/{instance_id}/suspend:
    post:
      operationId: InstanceSuspendHandler.post
      summary: Suspend instance
      description: |-
        When you suspend a server, its VM state is stored on disk, all memory is written to disk,
        and the virtual machine is stopped.
        Suspending a server is similar to placing a device in hibernation,
        and its occupied resource will not be freed but rather kept for when the server is resumed.
        Required VM state: Active, Shutoff

        Use POST /v2/instances/{`project_id`}/{`region_id`}/{`instance_id`}/action with action="suspend" instead

        Deprecated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          format: uuid4
          title: Instance Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/instances/{project_id}/{region_id}/available_names:
    get:
      operationId: InstanceAvailableNamesViewSet.get
      summary: Get instance naming restrictions
      description: |-
        Get the naming restrictions applied to instances in the specified project and region.
        This endpoint is deprecated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableInstanceNamesPydanticSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v2/ports/{project_id}/{region_id}/{port_id}/allow_address_pairs:
    put:
      operationId: AllowPortAddressPairsHandlerV2.put
      summary: Assign allowed address pairs for instance port
      description: Deprecated. Use PATCH /v1/ports/{`project_id`}/{`region_id`}/{`port_id`} instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAllowPortAddressPairsSerializerV2'
      tags:
      - Instances
  /cloud/v1/ports/{project_id}/{region_id}/{port_id}/disable_port_security:
    post:
      operationId: DisablePortSecurityHandler.post
      summary: Disable port security for instance interface
      description: Deprecated. Use PATCH /v1/ports/{`project_id`}/{`region_id`}/{`port_id`} instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Instance interface
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceInterfaceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          instance_interface = client.cloud.instances.disable_port_security(
              port_id="1f0ca628-a73b-42c0-bdac-7b10d023e097",
              project_id=1,
              region_id=1,
          )
          print(instance_interface.network_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	instanceInterface, err := client.Cloud.Instances.DisablePortSecurity(
          		context.TODO(),
          		"1f0ca628-a73b-42c0-bdac-7b10d023e097",
          		cloud.InstanceDisablePortSecurityParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", instanceInterface.NetworkID)
          }
  /cloud/v1/ports/{project_id}/{region_id}/{port_id}/enable_port_security:
    post:
      operationId: EnablePortSecurityHandler.post
      summary: Enable port security for instance interface
      description: Deprecated. Use PATCH /v1/ports/{`project_id`}/{`region_id`}/{`port_id`} instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Instance interface
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceInterfaceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          instance_interface = client.cloud.instances.enable_port_security(
              port_id="1f0ca628-a73b-42c0-bdac-7b10d023e097",
              project_id=1,
              region_id=1,
          )
          print(instance_interface.network_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	instanceInterface, err := client.Cloud.Instances.EnablePortSecurity(
          		context.TODO(),
          		"1f0ca628-a73b-42c0-bdac-7b10d023e097",
          		cloud.InstanceEnablePortSecurityParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", instanceInterface.NetworkID)
          }
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/instances:
    get:
      operationId: SecurityGroupsInstancesView.get
      summary: Filter instances by security group
      description: |-
        Retrieve the instances list (filter by security group)

        Deprecated. Use GET /v1/ports/{`project_id`}/{`region_id`}
        instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Instances
  /cloud/v1/l7policies/{project_id}/{region_id}:
    post:
      operationId: L7PolicyViewSet.post
      summary: Create load balancer L7 policy
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateL7PolicySerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.create(
              project_id=1,
              region_id=1,
              action="REDIRECT_TO_URL",
              listener_id="023f2e34-7806-443b-bfae-16c324569a3d",
              redirect_url="https://www.example.com",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.New(context.TODO(), cloud.LoadBalancerL7PolicyNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		OfRedirectToURL: &cloud.LoadBalancerL7PolicyNewParamsBodyRedirectToURL{
          			ListenerID:  "023f2e34-7806-443b-bfae-16c324569a3d",
          			RedirectURL: "https://www.example.com",
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: L7PolicyViewSet.get
      summary: List load balancer L7 policies
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: L7 policies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L7PolicyCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.l7_policies.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.L7Policies.List(context.TODO(), cloud.LoadBalancerL7PolicyListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/l7policies/{project_id}/{region_id}/{l7policy_id}:
    get:
      operationId: L7PolicyInstanceViewSet.get
      summary: Get load balancer L7 policy
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      responses:
        '200':
          description: L7 policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L7PolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_l7_policy = client.cloud.load_balancers.l7_policies.get(
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
          )
          print(load_balancer_l7_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerL7Policy, err := client.Cloud.LoadBalancers.L7Policies.Get(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerL7Policy.ID)
          }
    patch:
      operationId: L7PolicyInstanceViewSet.patch
      summary: Update load balancer L7 policy
      description: Updates only provided fields; omitted ones stay unchanged.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateL7PolicySerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.update(
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
              action="REDIRECT_TO_URL",
              redirect_url="https://www.example.com",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.Update(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			OfRedirectToURL: &cloud.LoadBalancerL7PolicyUpdateParamsBodyRedirectToURL{
          				RedirectURL: "https://www.example.com",
          			},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: L7PolicyInstanceViewSet.delete
      summary: Delete load balancer L7 policy
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.delete(
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.Delete(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/l7policies/{project_id}/{region_id}/{l7policy_id}/rules:
    post:
      operationId: L7RuleCreateView.post
      summary: Create load balancer L7 rule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateL7RuleSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.rules.create(
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
              compare_type="REGEX",
              type="PATH",
              value="/images*",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.Rules.New(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyRuleNewParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(1),
          			CompareType: cloud.LoadBalancerL7PolicyRuleNewParamsCompareTypeRegex,
          			Type:        cloud.LoadBalancerL7PolicyRuleNewParamsTypePath,
          			Value:       "/images*",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: L7RuleCreateView.get
      summary: List load balancer L7 policy rules
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: L7 rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L7RuleCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.l7_policies.rules.list(
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.L7Policies.Rules.List(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyRuleListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/l7policies/{project_id}/{region_id}/{l7policy_id}/rules/{l7rule_id}:
    get:
      operationId: L7RuleInstanceViewSet.get
      summary: Get load balancer L7 rule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      - in: path
        name: l7rule_id
        required: true
        description: L7 rule ID
        schema:
          description: L7 rule ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Rule Id
          type: string
      responses:
        '200':
          description: L7 rule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L7RuleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_l7_rule = client.cloud.load_balancers.l7_policies.rules.get(
              l7rule_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
          )
          print(load_balancer_l7_rule.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerL7Rule, err := client.Cloud.LoadBalancers.L7Policies.Rules.Get(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyRuleGetParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			L7policyID: "023f2e34-7806-443b-bfae-16c324569a3d",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerL7Rule.ID)
          }
    put:
      operationId: L7RuleInstanceViewSet.put
      summary: Replace load balancer L7 rule properties
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      - in: path
        name: l7rule_id
        required: true
        description: L7 rule ID
        schema:
          description: L7 rule ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Rule Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateL7RuleSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.rules.replace(
              l7rule_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.Rules.Replace(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyRuleReplaceParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			L7policyID: "023f2e34-7806-443b-bfae-16c324569a3d",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: L7RuleInstanceViewSet.delete
      summary: Delete load balancer L7 rule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: l7policy_id
        required: true
        description: L7 policy ID
        schema:
          description: L7 policy ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Policy Id
          type: string
      - in: path
        name: l7rule_id
        required: true
        description: L7 rule ID
        schema:
          description: L7 rule ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          format: uuid4
          title: L7Rule Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.l7_policies.rules.delete(
              l7rule_id="023f2e34-7806-443b-bfae-16c324569a3d",
              project_id=1,
              region_id=1,
              l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.L7Policies.Rules.Delete(
          		context.TODO(),
          		"023f2e34-7806-443b-bfae-16c324569a3d",
          		cloud.LoadBalancerL7PolicyRuleDeleteParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			L7policyID: "023f2e34-7806-443b-bfae-16c324569a3d",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/lbflavors/{project_id}/{region_id}:
    get:
      operationId: LoadBalancerFlavorsViewSet.get
      summary: List load balancer flavors
      description: |-
        Retrieve a list of load balancer flavors. When the `include_prices` query parameter is specified, the list shows
        prices. A client in trial mode gets all price values as 0. If you get Pricing Error contact the support
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: include_prices
        required: false
        description: Set to true if the response should include flavor prices
        schema:
          default: false
          description: Set to true if the response should include flavor prices
          example: true
          examples:
          - true
          - false
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: Load balancer flavors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbFlavorCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.Flavors.List(context.TODO(), cloud.LoadBalancerFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/lblisteners/{project_id}/{region_id}:
    post:
      operationId: LoadBalancerListenerViewSet.post
      summary: Create load balancer listener
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLbListenerSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.listeners.create(
              project_id=1,
              region_id=1,
              load_balancer_id="30f4f55b-4a7c-48e0-9954-5cddfee216e7",
              name="my_listener",
              protocol="HTTP",
              protocol_port=80,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Listeners.New(context.TODO(), cloud.LoadBalancerListenerNewParams{
          		ProjectID:      gcore.Int(1),
          		RegionID:       gcore.Int(1),
          		LoadBalancerID: "30f4f55b-4a7c-48e0-9954-5cddfee216e7",
          		Name:           "my_listener",
          		Protocol:       cloud.LbListenerProtocolHTTP,
          		ProtocolPort:   80,
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: LoadBalancerListenerViewSet.get
      summary: List load balancer listeners
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: load_balancer_id
        required: false
        description: Load Balancer ID
        schema:
          description: Load Balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: name
        required: false
        description: Filter by name
        schema:
          description: Filter by name
          example: listener-name
          examples:
          - listener-name
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: show_stats
        required: false
        description: Show stats
        schema:
          default: false
          description: Show stats
          example: true
          examples:
          - true
          - false
          title: Show Stats
          type: boolean
      responses:
        '200':
          description: Load balancer listeners
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbListenerCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.listeners.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.Listeners.List(context.TODO(), cloud.LoadBalancerListenerListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/lblisteners/{project_id}/{region_id}/{listener_id}:
    patch:
      operationId: LoadBalancerListenerInstanceViewSetV2.patch
      summary: Update load balancer listener
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: listener_id
        required: true
        description: Listener ID
        schema:
          description: Listener ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Listener Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLbListenerSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.listeners.update(
              listener_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Listeners.Update(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerListenerUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/lblisteners/{project_id}/{region_id}/{listener_id}:
    get:
      operationId: LoadBalancerListenerInstanceViewSet.get
      summary: Get load balancer listener
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: listener_id
        required: true
        description: Listener ID
        schema:
          description: Listener ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Listener Id
          type: string
      - in: query
        name: show_stats
        required: false
        description: Show stats
        schema:
          default: false
          description: Show stats
          example: true
          examples:
          - true
          - false
          title: Show Stats
          type: boolean
      responses:
        '200':
          description: Load balancer listener
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbListenerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_listener_detail = client.cloud.load_balancers.listeners.get(
              listener_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(load_balancer_listener_detail.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerListenerDetail, err := client.Cloud.LoadBalancers.Listeners.Get(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerListenerGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerListenerDetail.ID)
          }
    delete:
      operationId: LoadBalancerListenerInstanceViewSet.delete
      summary: Delete load balancer listener
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: listener_id
        required: true
        description: Listener ID
        schema:
          description: Listener ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Listener Id
          type: string
      - in: query
        name: delete_default_pool
        required: false
        description: Delete default pool attached directly to the listener.
        schema:
          default: false
          description: Delete default pool attached directly to the listener.
          example: false
          examples:
          - false
          title: Delete Default Pool
          type: boolean
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.listeners.delete(
              listener_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Listeners.Delete(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerListenerDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: LoadBalancerListenerInstanceViewSet.patch
      summary: Update load balancer listener
      description: '**Deprecated**: Use `PATCH /v2/lblisteners/{project_id}/{region_id}/{listener_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: listener_id
        required: true
        description: Listener ID
        schema:
          description: Listener ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Listener Id
          type: string
      responses:
        '200':
          description: Load balancer listener
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbListenerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeListenerNameSerializer'
      tags:
      - Load Balancers
  /cloud/v1/lbpools/{project_id}/{region_id}:
    post:
      operationId: LoadBalancerPoolViewSet.post
      summary: Create load balancer pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLbPoolSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.create(
              project_id=1,
              region_id=1,
              lb_algorithm="ROUND_ROBIN",
              name="pool_name",
              protocol="HTTP",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.New(context.TODO(), cloud.LoadBalancerPoolNewParams{
          		ProjectID:   gcore.Int(1),
          		RegionID:    gcore.Int(1),
          		LbAlgorithm: cloud.LbAlgorithmRoundRobin,
          		Name:        "pool_name",
          		Protocol:    cloud.LbPoolProtocolHTTP,
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: LoadBalancerPoolViewSet.get
      summary: List load balancer pools
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: query
        name: details
        required: false
        description: Show members and Health Monitor details
        schema:
          default: false
          description: Show members and Health Monitor details
          example: true
          examples:
          - true
          - false
          title: Details
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: listener_id
        required: false
        description: Listener ID
        schema:
          description: Listener ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Listener Id
          type: string
      - in: query
        name: load_balancer_id
        required: false
        description: Load Balancer ID
        schema:
          description: Load Balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: name
        required: false
        description: Filter by name
        schema:
          description: Filter by name
          example: lb-pool-name
          examples:
          - lb-pool-name
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: Load balancer pools
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbPoolCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.pools.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.Pools.List(context.TODO(), cloud.LoadBalancerPoolListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/lbpools/{project_id}/{region_id}/{pool_id}:
    patch:
      operationId: LoadBalancerPoolInstanceViewSetV2.patch
      summary: Update load balancer pool
      description: |-
        Updates the specified load balancer pool with the provided changes.

        **Behavior:**
        - Simple fields (strings, numbers, booleans) will be updated if provided
        - Complex objects (nested structures like members, health monitors, etc.) must be specified
          completely - partial updates are not supported for these objects
        - Undefined fields will remain unchanged
        - If no change is detected for a specific field compared to the current pool state,
          that field will be skipped
        - If no changes are detected at all across all fields, no task will be created and
          an empty task list will be returned

        **Examples of complex objects that require full specification:**
        - Pool members: All member properties must be provided when updating members
        - Health monitors: Complete health monitor configuration must be specified
        - Session persistence: Full session persistence settings must be included
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLbPoolSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.update(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Update(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}:
    get:
      operationId: LoadBalancerPoolInstanceViewSet.get
      summary: Get load balancer pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Load balancer pool
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbPoolInstanceSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_pool = client.cloud.load_balancers.pools.get(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(load_balancer_pool.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerPool, err := client.Cloud.LoadBalancers.Pools.Get(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerPool.ID)
          }
    delete:
      operationId: LoadBalancerPoolInstanceViewSet.delete
      summary: Delete load balancer pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.delete(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Delete(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: LoadBalancerPoolInstanceViewSet.patch
      summary: Update load balancer pool
      description: |-
        Changes provided here will overwrite existing load balancer pool settings.
        Undefined fields will be kept as is.
        Complex objects need to be specified fully, they will be overwritten.

        **Deprecated**: Use `PATCH /v2/lbpools/{project_id}/{region_id}/{pool_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLbPoolSerializer'
      tags:
      - Load Balancers
  /cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}/healthmonitor:
    post:
      operationId: LoadBalancerPoolInstanceHealthMonitorViewSet.post
      summary: Create load balancer pool health monitor
      description: |-
        Creates a health monitor for a load balancer pool to automatically check the health status
        of pool members. The health monitor performs periodic checks on pool members and removes
        unhealthy members from rotation, ensuring only healthy servers receive traffic.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLbHealthMonitorSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.health_monitors.create(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              delay=10,
              max_retries=2,
              api_timeout=5,
              type="HTTP",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.HealthMonitors.New(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolHealthMonitorNewParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			Delay:      10,
          			MaxRetries: 2,
          			Timeout:    5,
          			Type:       cloud.LbHealthMonitorTypeHTTP,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: LoadBalancerPoolInstanceHealthMonitorViewSet.get
      summary: Get load balancer pool health monitor
      description: |-
        Returns the health monitor configured for a load balancer pool, including its type,
        check intervals, timeouts, and the thresholds used to mark pool members as healthy or
        unhealthy. Returns 404 if the pool has no health monitor attached.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Load balancer health monitor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbHealthMonitorSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          health_monitor = client.cloud.load_balancers.pools.health_monitors.get(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(health_monitor.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	healthMonitor, err := client.Cloud.LoadBalancers.Pools.HealthMonitors.Get(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolHealthMonitorGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", healthMonitor.ID)
          }
    patch:
      operationId: LoadBalancerPoolInstanceHealthMonitorViewSet.patch
      summary: Update load balancer pool health monitor
      description: |-
        Updates the health monitor of a load balancer pool, such as its check intervals, timeouts,
        and the thresholds used to mark pool members as healthy or unhealthy. Only the supplied
        fields are changed. Returns 404 if the pool has no health monitor attached.
        If a provided field already matches the current health monitor state it is skipped, and when no field
        changes anything no task is created and an empty task list is returned.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLbHealthMonitorSerializerV2'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.health_monitors.update(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.HealthMonitors.Update(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolHealthMonitorUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: LoadBalancerPoolInstanceHealthMonitorViewSet.delete
      summary: Delete load balancer pool health monitor
      description: |-
        Removes the health monitor from a load balancer pool. After deletion, the pool will no
        longer perform automatic health checks on its members, and all members will remain in
        rotation regardless of their actual health status.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.load_balancers.pools.health_monitors.delete(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.LoadBalancers.Pools.HealthMonitors.Delete(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolHealthMonitorDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}:
    post:
      operationId: LoadBalancerViewSet.post
      summary: Create load balancer
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLoadbalancerSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.create(
              project_id=1,
              region_id=7,
              name="new_load_balancer",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.New(context.TODO(), cloud.LoadBalancerNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Name:      "new_load_balancer",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: LoadBalancerViewSet.get
      summary: List load balancers
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: assigned_floating
        required: false
        description: With or without assigned floating IP
        schema:
          description: With or without assigned floating IP
          example: true
          examples:
          - true
          - false
          title: Assigned Floating
          type: boolean
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 1000
          description: Limit of items on a single page
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: logging_enabled
        required: false
        description: With or without logging enabled
        schema:
          description: With or without logging enabled
          title: Logging Enabled
          type: boolean
      - in: query
        name: name
        required: false
        description: Filter by name
        schema:
          description: Filter by name
          example: lb_name
          examples:
          - lb_name
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: operating_status
        required: false
        description: Filter by operating status
        schema:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Filter by operating status
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/LoadBalancerOrderByChoices'
          default: created_at.desc
          description: Order by field and direction.
          examples:
          - name.asc
      - in: query
        name: provisioning_status
        required: false
        description: Filter by provisioning (lifecycle) status
        schema:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Filter by provisioning (lifecycle) status
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
      - in: query
        name: show_stats
        required: false
        description: Show statistics
        schema:
          default: false
          description: Show statistics
          example: true
          examples:
          - true
          - false
          title: Show Stats
          type: boolean
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id025
          - key1
          - key2
          examples:
          - *id025
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id026
            key: value
          examples:
          - *id026
          title: Tag Key Value
          type: string
      - in: query
        name: with_ddos
        required: false
        description: Show Advanced DDoS protection profile, if exists
        schema:
          default: false
          description: Show Advanced DDoS protection profile, if exists
          example: true
          examples:
          - true
          - false
          title: With Ddos
          type: boolean
      responses:
        '200':
          description: Load balancers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadbalancerCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.List(context.TODO(), cloud.LoadBalancerListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}:
    patch:
      operationId: LoadBalancerInstanceViewSetV2.patch
      summary: Update load balancer
      description: |-
        Rename load balancer, activate/deactivate logging, update preferred connectivity type,
        modify load balancer tags, and/or set `admin_state_up` to enable/disable the load balancer.
        The request will only process the fields that are provided in the request body.
        Any fields that are not included will remain unchanged.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load balancer ID
        schema:
          description: Load balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadBalancerPatchSerializerV2'
      tags:
      - Load Balancers
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}:
    get:
      operationId: LoadBalancerInstanceViewSet.get
      summary: Get load balancer
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: show_stats
        required: false
        description: Show statistics
        schema:
          default: false
          description: Show statistics
          example: true
          examples:
          - true
          - false
          title: Show Stats
          type: boolean
      - in: query
        name: with_ddos
        required: false
        description: Show Advanced DDoS protection profile, if exists
        schema:
          default: false
          description: Show Advanced DDoS protection profile, if exists
          example: true
          examples:
          - true
          - false
          title: With Ddos
          type: boolean
      responses:
        '200':
          description: Load balancer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadbalancerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer = client.cloud.load_balancers.get(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
          )
          print(load_balancer.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancer, err := client.Cloud.LoadBalancers.Get(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancer.ID)
          }
    delete:
      operationId: LoadBalancerInstanceViewSet.delete
      summary: Delete load balancer
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.delete(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Delete(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: LoadBalancerInstanceViewSet.patch
      summary: Update load balancer
      description: |-
        Rename load balancer, activate/deactivate logging, update preferred connectivity type
        and/or modify load balancer tags. The request will only process the fields that are
        provided in the request body. Any fields that are not included will remain unchanged.

        Please use PATCH `/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Load balancer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadbalancerSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadBalancerPatchSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer = client.cloud.load_balancers.update(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
          )
          print(load_balancer.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancer, err := client.Cloud.LoadBalancers.Update(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancer.ID)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/failover:
    post:
      operationId: LoadBalancerFailover.post
      summary: Failover load balancer
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FailoverLoadBalancer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.failover(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Failover(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerFailoverParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/metrics:
    post:
      operationId: LoadbalancerMetricsHandler.post
      summary: Get load balancer metrics
      description: Get load balancer metrics, including cpu, memory and network
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Load balancer metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadbalancerMetricsCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadbalancerMetricsRequestSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_metrics_list = client.cloud.load_balancers.metrics.list(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
              time_interval=6,
              time_unit="hour",
          )
          print(load_balancer_metrics_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerMetricsList, err := client.Cloud.LoadBalancers.Metrics.List(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerMetricListParams{
          			ProjectID:    gcore.Int(1),
          			RegionID:     gcore.Int(7),
          			TimeInterval: 6,
          			TimeUnit:     cloud.InstanceMetricsTimeUnitHour,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerMetricsList.Count)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/resize:
    post:
      operationId: LoadBalancerResize.post
      summary: Resize load balancer
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResizeLoadBalancer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.resize(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
              flavor="lb1-2-4",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Resize(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerResizeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			Flavor:    "lb1-2-4",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/status:
    get:
      operationId: LoadBalancerStatusInstanceViewSet.get
      summary: Get load balancer status
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Load balancer status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadBalancerStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_status = client.cloud.load_balancers.statuses.get(
              load_balancer_id="ac307687-31a4-4a11-a949-6bea1b2878f5",
              project_id=1,
              region_id=7,
          )
          print(load_balancer_status.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerStatus, err := client.Cloud.LoadBalancers.Statuses.Get(
          		context.TODO(),
          		"ac307687-31a4-4a11-a949-6bea1b2878f5",
          		cloud.LoadBalancerStatusGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerStatus.ID)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/check_limits:
    post:
      operationId: LoadBalancerCheckLimits.post
      summary: Check load balancer quota
      description: |-
        Check if regional quota is exceeded, if yes the number of additional
        quotas needed to create the specified load balancer will be calculated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: Load balancer quota
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadbalancerQuotaSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotaBeforeLoadbalancerCreationPydanticSerializer'
      tags:
      - Load Balancers
  /cloud/v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members:
    post:
      operationId: LoadBalancerPoolMembersViewSet.post
      summary: Create load balancer pool member
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.members.create(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              address="192.168.40.33",
              protocol_port=80,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Members.New(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberNewParams{
          			ProjectID:    gcore.Int(1),
          			RegionID:     gcore.Int(1),
          			Address:      "192.168.40.33",
          			ProtocolPort: 80,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: LoadBalancerPoolMembersViewSet.get
      summary: List load balancer pool members
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering pool members list result by `address` or `created_at` fields and directions (e.g. `address.desc`). Default is `address.asc`.
        schema:
          $ref: '#/components/schemas/LbPoolMembersListOrderByChoices'
          default: address.asc
          description: Ordering pool members list result by `address` or `created_at` fields and directions (e.g. `address.desc`). Default is `address.asc`.
          examples:
          - address.asc
      responses:
        '200':
          description: Load balancer pool members
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LbPoolMemberCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.load_balancers.pools.members.list(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.LoadBalancers.Pools.Members.List(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
    put:
      operationId: LoadBalancerPoolMembersViewSet.put
      summary: Replace load balancer pool members
      description: |-
        Replaces the full set of pool members with the provided list (declarative,
        desired-state semantics): members present in the payload are created or updated,
        members currently on the pool but absent from the payload are deleted.
        If a member is unchanged (same address + port), it is kept as is without
        recreation and downtime. If no changes are detected, no task is created and
        an empty task list is returned.

        For updating a single existing member without affecting the rest of the pool,
        use `PATCH /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members/{member_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutLbPoolMembersSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.members.replace(
              pool_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Members.Replace(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberReplaceParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members/{member_id}:
    get:
      operationId: LoadBalancerPoolMemberInstanceViewSet.get
      summary: Get load balancer pool member
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      - in: path
        name: member_id
        required: true
        description: Member ID
        schema:
          description: Member ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Member Id
          type: string
      responses:
        '200':
          description: Load balancer pool member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedLbPoolMemberSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          member = client.cloud.load_balancers.pools.members.get(
              member_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              pool_id="00000000-0000-4000-8000-000000000000",
          )
          print(member.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	member, err := client.Cloud.LoadBalancers.Pools.Members.Get(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			PoolID:    "00000000-0000-4000-8000-000000000000",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", member.ID)
          }
    patch:
      operationId: LoadBalancerPoolMemberInstanceViewSet.patch
      summary: Update load balancer pool member
      description: |-
        Updates the specified member's mutable settings. `address`, `protocol_port` and
        `subnet_id` cannot be changed after creation. If no changes are detected, no task
        is created and an empty task list is returned.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      - in: path
        name: member_id
        required: true
        description: Member ID
        schema:
          description: Member ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Member Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLbPoolMemberSerializer'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.members.update(
              member_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              pool_id="00000000-0000-4000-8000-000000000000",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Members.Update(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			PoolID:    "00000000-0000-4000-8000-000000000000",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: LoadBalancerPoolMemberInstanceViewSet.delete
      summary: Delete load balancer pool member
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      - in: path
        name: member_id
        required: true
        description: Member ID
        schema:
          description: Member ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Member Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.load_balancers.pools.members.delete(
              member_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              pool_id="00000000-0000-4000-8000-000000000000",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.LoadBalancers.Pools.Members.Delete(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.LoadBalancerPoolMemberDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			PoolID:    "00000000-0000-4000-8000-000000000000",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/loadbalancers/{project_id}/{region_id}/status:
    get:
      operationId: LoadBalancerStatusViewSet.get
      summary: List load balancers statuses
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: Load balancer statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadBalancerStatusCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Load Balancers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          load_balancer_status_list = client.cloud.load_balancers.statuses.list(
              project_id=1,
              region_id=7,
          )
          print(load_balancer_status_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	loadBalancerStatusList, err := client.Cloud.LoadBalancers.Statuses.List(context.TODO(), cloud.LoadBalancerStatusListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", loadBalancerStatusList.Count)
          }
  /cloud/v2/pricing/{project_id}/{region_id}/loadbalancers:
    post:
      operationId: LoadBalancerPricingPreviewV2Handler.post
      summary: Preview load balancer price
      description: Preview the billing price for a load balancer.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: Load balancer price preview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadBalancerPricingPreviewResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadBalancerPricingPreviewV2RequestSerializer'
      tags:
      - Load Balancers
  /cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}/member:
    post:
      operationId: LoadBalancerPoolInstanceCreateMemberView.post
      summary: Create load balancer pool member
      description: '**Deprecated**: Use `POST /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
      tags:
      - Load Balancers
  /cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}/member/{member_id}:
    delete:
      operationId: LoadBalancerPoolInstanceRemoveMemberView.delete
      summary: Delete load balancer pool member
      description: |-
        **Deprecated**: Use `DELETE /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members/{member_id}`
        instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: pool_id
        required: true
        description: Pool ID
        schema:
          description: Pool ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Pool Id
          type: string
      - in: path
        name: member_id
        required: true
        description: Member ID
        schema:
          description: Member ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Member Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Load Balancers
  /cloud/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/metadata:
    post:
      operationId: LoadbalancerMetadataHandlerV2.post
      summary: Create or update load balancer tags
      description: Please use PATCH `/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load balancer ID
        schema:
          description: Load balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Load Balancers
    put:
      operationId: LoadbalancerMetadataHandlerV2.put
      summary: Replace load balancer tags
      description: Please use PATCH `/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load balancer ID
        schema:
          description: Load balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Load Balancers
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/metadata:
    post:
      operationId: LoadbalancerMetadataHandler.post
      summary: Create or update load balancer tags
      description: '**Deprecated**: Use `PATCH /v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Load Balancers
    get:
      operationId: LoadbalancerMetadataHandler.get
      summary: List load balancer tags
      description: '**Deprecated**: Use `GET /v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Load Balancers
    put:
      operationId: LoadbalancerMetadataHandler.put
      summary: Replace load balancer tags
      description: '**Deprecated**: Use `PATCH /v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagsSerializer'
      tags:
      - Load Balancers
  /cloud/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/metadata_item:
    delete:
      operationId: LoadbalancerMetadataItemHandlerV2.delete
      summary: Delete loadbalancer tag
      description: Please use PATCH `/v2/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load balancer ID
        schema:
          description: Load balancer ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: test-tag
          examples:
          - test-tag
          title: Key
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Load Balancers
  /cloud/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}/metadata_item:
    get:
      operationId: LoadbalancerMetadataItemHandler.get
      summary: Get load balancer tag
      description: Please use GET `/v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: test-tag
          examples:
          - test-tag
          title: Key
          type: string
      responses:
        '200':
          description: Load balancer tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Load Balancers
    delete:
      operationId: LoadbalancerMetadataItemHandler.delete
      summary: Delete load balancer tag
      description: '**Deprecated**: Use `PATCH /v1/loadbalancers/{project_id}/{region_id}/{load_balancer_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: load_balancer_id
        required: true
        description: Load-Balancer ID
        schema:
          description: Load-Balancer ID
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Load Balancer Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: test-tag
          examples:
          - test-tag
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Load Balancers
  /cloud/v1/pricing/{project_id}/{region_id}/loadbalancers:
    post:
      operationId: LoadBalancerPricingPreviewHandler.post
      summary: Preview load balancer price
      description: |-
        Preview the billing price for a load balancer.

        **Deprecated**: Use `POST /v2/pricing/{project_id}/{region_id}/loadbalancers` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: Item price
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadBalancerPricingPreviewRequestSerializer'
      tags:
      - Load Balancers
  /cloud/v1/laas/{project_id}/{region_id}/status:
    get:
      operationId: LaasStatusView.get
      summary: Get logging status
      description: Retrieve the current status of Logging as a Service (LaaS) for the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
    patch:
      operationId: LaasStatusView.patch
      summary: Update logging status
      description: |-
        Update the status of Logging as a Service (LaaS) for the specified project and region.
        This endpoint allows enabling or disabling LaaS functionality.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchLaasStatusSerializer'
      tags:
      - Logging
  /cloud/v1/laas/{project_id}/{region_id}/topics:
    get:
      operationId: LaasKafkaTopicView.get
      summary: List logging topics
      description: Retrieve a list of Kafka topics within the client's LaaS namespace for the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasKafkaTopicCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
    put:
      operationId: LaasKafkaTopicView.put
      summary: Create logging topic
      description: |-
        Create a new Kafka topic within the client's LaaS namespace for the specified project and region.
        If a topic with the same name exists, it will be updated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasKafkaTopicSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLaasKafkaTopicSerializer'
      tags:
      - Logging
  /cloud/v1/laas/{project_id}/{region_id}/topics/{topic_name}:
    delete:
      operationId: LaasKafkaTopicOperationView.delete
      summary: Delete logging topic
      description: |-
        Delete a Kafka topic from the client's LaaS namespace in the specified project and region.
        The topic must not be in use by any other service.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: topic_name
        required: true
        description: Kafka topic name
        schema:
          description: Kafka topic name
          example: my-topic
          examples:
          - my-topic
          title: Topic Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v1/laas/{project_id}/{region_id}/users:
    post:
      operationId: LaasRegenerateCredentialsView.post
      summary: Regenerate logging credentials
      description: |-
        Generate new credentials for accessing Logging as a Service (LaaS) in the specified project and region.
        This will invalidate any existing credentials.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasUserSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v1/laas/{region_id}/destination_regions:
    get:
      operationId: LaasSourceDestinationRegionView.get
      summary: List logging destination regions
      description: Retrieve a list of regions that can be used as destinations for LaaS logs from the specified source region.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DestinationRegionCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v1/laas/{region_id}/hosts:
    get:
      operationId: LaasHostsView.get
      summary: List logging hosts
      description: Retrieve a list of hosts running LaaS services in the specified region.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaasHostsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v1/laas/namespaces/{project_id}/{region_id}/{namespace_name}:
    get:
      operationId: LaasNamespaceView.get
      summary: Check logging namespace
      description: Check if a custom namespace name is available for LaaS in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      - in: path
        name: namespace_name
        required: true
        description: Custom namespace for validation
        schema:
          description: Custom namespace for validation
          example: custom_namespace
          examples:
          - custom_namespace
          title: Namespace Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NamespaceAvailabilitySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v1/pricing/{region_id}/laas:
    get:
      operationId: LaasPricingHandler.get
      summary: Get logging price
      description: Get the price for Logging-as-a-Service (LaaS) in the specified region.
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Logging
  /cloud/v2/k8s/{project_id}/{region_id}/create_versions:
    get:
      operationId: K8sClusterCreateVersionViewSet.get
      summary: List k8s cluster versions
      description: List available k8s cluster versions for creation
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterVersionV2CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.list_versions(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.version)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.ListVersions(context.TODO(), cloud.K8SListVersionsParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/k8s/{project_id}/{region_id}/flavors:
    get:
      operationId: K8sFlavorsViewSet.get
      summary: List k8s cluster flavors
      description: |-
        Retrieve a list of flavors for k8s pool.
        When the `include_prices` query parameter is specified, the list shows prices.
        A client in trial mode gets all price values as 0. If you get Pricing Error contact the support
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: exclude_gpu
        required: false
        description: Set to true to exclude GPU flavors. Default is false.
        schema:
          default: false
          description: Set to true to exclude GPU flavors. Default is false.
          example: false
          examples:
          - false
          - true
          title: Exclude Gpu
          type: boolean
      - in: query
        name: include_capacity
        required: false
        description: Set to true to include flavor capacity. Default is False.
        schema:
          default: false
          description: Set to true to include flavor capacity. Default is False.
          example: false
          examples:
          - false
          - true
          title: Include Capacity
          type: boolean
      - in: query
        name: include_prices
        required: false
        description: Set to true to include flavor prices. Default is False.
        schema:
          default: false
          description: Set to true to include flavor prices. Default is False.
          example: false
          examples:
          - false
          - true
          title: Include Prices
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BareMetalFlavorExtendedCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.flavors.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.flavor_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Flavors.List(context.TODO(), cloud.K8SFlavorListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}:
    post:
      operationId: K8sClustersViewSetV2.post
      summary: Create k8s cluster
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterCreateV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.create(
              project_id=1,
              region_id=7,
              keypair="some_keypair",
              name="string",
              pools=[{
                  "flavor_id": "g1-standard-1-2",
                  "min_node_count": 3,
                  "name": "my-pool",
              }],
              version="1.28.1",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.New(context.TODO(), cloud.K8SClusterNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		Keypair:   "some_keypair",
          		Name:      "string",
          		Pools: []cloud.K8SClusterNewParamsPool{{
          			FlavorID:     "g1-standard-1-2",
          			MinNodeCount: 3,
          			Name:         "my-pool",
          		}},
          		Version: "1.28.1",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: K8sClustersViewSetV2.get
      summary: List k8s clusters
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterV2CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.clusters.list(
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Clusters.List(context.TODO(), cloud.K8SClusterListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}:
    get:
      operationId: K8sClusterViewSetV2.get
      summary: Get k8s cluster
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster = client.cloud.k8s.clusters.get(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          print(k8s_cluster.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sCluster, err := client.Cloud.K8S.Clusters.Get(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sCluster.ID)
          }
    patch:
      operationId: K8sClusterViewSetV2.patch
      summary: Update k8s cluster
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterUpdateV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.update(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Update(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: K8sClusterViewSetV2.delete
      summary: Delete k8s cluster
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: query
        name: volumes
        required: false
        description: Comma separated list of volume IDs to be deleted with the cluster
        schema:
          description: Comma separated list of volume IDs to be deleted with the cluster
          example: 550e8400-e29b-41d4-a716-446655440000
          examples:
          - 550e8400-e29b-41d4-a716-446655440000
          title: Volumes
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.delete(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Delete(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/certificates:
    get:
      operationId: K8sClusterCertificateViewSetV2.get
      summary: Get k8s cluster CA certificate
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterCertificateV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster_certificate = client.cloud.k8s.clusters.get_certificate(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          print(k8s_cluster_certificate.certificate)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sClusterCertificate, err := client.Cloud.K8S.Clusters.GetCertificate(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterGetCertificateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sClusterCertificate.Certificate)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/config:
    get:
      operationId: K8sClusterConfigViewSetV2.get
      summary: Get k8s cluster kubeconfig
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterConfigV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster_kubeconfig = client.cloud.k8s.clusters.kubeconfig.get(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          print(k8s_cluster_kubeconfig.client_certificate)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sClusterKubeconfig, err := client.Cloud.K8S.Clusters.Kubeconfig.Get(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterKubeconfigGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sClusterKubeconfig.ClientCertificate)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/instances:
    get:
      operationId: K8sClusterInstancesViewSetV2.get
      summary: List k8s cluster nodes
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: with_ddos
        required: false
        description: Include DDoS profile information if set to true. Default is false.
        schema:
          default: false
          description: Include DDoS profile information if set to true. Default is false.
          example: false
          examples:
          - false
          - true
          title: With Ddos
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.clusters.nodes.list(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Clusters.Nodes.List(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterNodeListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/instances/{instance_id}:
    delete:
      operationId: K8sClusterInstanceViewSetV2.delete
      summary: Delete k8s cluster node
      description: After deletion, the node will be automatically recreated to maintain the desired pool size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: 550e8400-e29b-41d4-a716-446655440000
          examples:
          - 550e8400-e29b-41d4-a716-446655440000
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.k8s.clusters.nodes.delete(
              instance_id="550e8400-e29b-41d4-a716-446655440000",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.K8S.Clusters.Nodes.Delete(
          		context.TODO(),
          		"550e8400-e29b-41d4-a716-446655440000",
          		cloud.K8SClusterNodeDeleteParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools:
    post:
      operationId: K8sClustersPoolViewSetV2.post
      summary: Create k8s cluster pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterPoolCreateV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.pools.create(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
              flavor_id="g1-standard-1-2",
              min_node_count=3,
              name="my-pool",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Pools.New(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterPoolNewParams{
          			ProjectID:    gcore.Int(1),
          			RegionID:     gcore.Int(7),
          			FlavorID:     "g1-standard-1-2",
          			MinNodeCount: 3,
          			Name:         "my-pool",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: K8sClustersPoolViewSetV2.get
      summary: List k8s cluster pools
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterPoolV2CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.clusters.pools.list(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Clusters.Pools.List(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterPoolListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}:
    get:
      operationId: K8sClusterPoolViewSetV2.get
      summary: Get k8s cluster pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterPoolV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster_pool = client.cloud.k8s.clusters.pools.get(
              pool_name="my-pool",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
          )
          print(k8s_cluster_pool.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sClusterPool, err := client.Cloud.K8S.Clusters.Pools.Get(
          		context.TODO(),
          		"my-pool",
          		cloud.K8SClusterPoolGetParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sClusterPool.ID)
          }
    patch:
      operationId: K8sClusterPoolViewSetV2.patch
      summary: Update k8s cluster pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterPoolV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterPoolUpdateV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster_pool = client.cloud.k8s.clusters.pools.update(
              pool_name="my-pool",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
          )
          print(k8s_cluster_pool.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sClusterPool, err := client.Cloud.K8S.Clusters.Pools.Update(
          		context.TODO(),
          		"my-pool",
          		cloud.K8SClusterPoolUpdateParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sClusterPool.ID)
          }
    delete:
      operationId: K8sClusterPoolViewSetV2.delete
      summary: Delete k8s cluster pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.pools.delete(
              pool_name="my-pool",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Pools.Delete(
          		context.TODO(),
          		"my-pool",
          		cloud.K8SClusterPoolDeleteParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}/instances:
    get:
      operationId: K8sClusterPoolInstancesViewSetV2.get
      summary: List k8s cluster pool nodes
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: with_ddos
        required: false
        description: Include DDoS profile information if set to true. Default is false.
        schema:
          default: false
          description: Include DDoS profile information if set to true. Default is false.
          example: false
          examples:
          - false
          - true
          title: With Ddos
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.clusters.pools.nodes.list(
              pool_name="my-pool",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Clusters.Pools.Nodes.List(
          		context.TODO(),
          		"my-pool",
          		cloud.K8SClusterPoolNodeListParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}/instances/{instance_id}:
    delete:
      operationId: K8sClusterPoolInstanceViewSetV2.delete
      summary: Delete k8s cluster pool node
      description: After deletion, the node will be automatically recreated to maintain the desired pool size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      - in: path
        name: instance_id
        required: true
        description: Instance ID
        schema:
          description: Instance ID
          example: 550e8400-e29b-41d4-a716-446655440000
          examples:
          - 550e8400-e29b-41d4-a716-446655440000
          title: Instance Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.k8s.clusters.pools.nodes.delete(
              instance_id="550e8400-e29b-41d4-a716-446655440000",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
              pool_name="my-pool",
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.K8S.Clusters.Pools.Nodes.Delete(
          		context.TODO(),
          		"550e8400-e29b-41d4-a716-446655440000",
          		cloud.K8SClusterPoolNodeDeleteParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          			PoolName:    "my-pool",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}/resize:
    post:
      operationId: K8sClusterResizeActionViewSetV2.post
      summary: Resize k8s cluster pool
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: path
        name: pool_name
        required: true
        description: Pool name
        schema:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          title: Pool Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterPoolResizeV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.pools.resize(
              pool_name="my-pool",
              project_id=1,
              region_id=7,
              cluster_name="my-cluster",
              node_count=2,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Pools.Resize(
          		context.TODO(),
          		"my-pool",
          		cloud.K8SClusterPoolResizeParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(7),
          			ClusterName: "my-cluster",
          			NodeCount:   2,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/upgrade:
    post:
      operationId: K8sClusterUpgradeActionViewSetV2.post
      summary: Upgrade k8s cluster
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterUpgradeV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.k8s.clusters.upgrade(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
              version="v1.28.1",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.K8S.Clusters.Upgrade(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterUpgradeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          			Version:   "v1.28.1",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/upgrade_versions:
    get:
      operationId: K8sClusterUpdateVersionViewSet.get
      summary: List k8s cluster versions for upgrade
      description: List available k8s cluster versions for upgrade
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterVersionV2CollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.k8s.clusters.list_versions_for_upgrade(
              cluster_name="my-cluster",
              project_id=1,
              region_id=7,
          )
          page = page.results[0]
          print(page.version)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.K8S.Clusters.ListVersionsForUpgrade(
          		context.TODO(),
          		"my-cluster",
          		cloud.K8SClusterListVersionsForUpgradeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(7),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/check_limits:
    post:
      operationId: K8sClusterCheckLimitsV2.post
      summary: Check cluster quota
      description: |-
        Calculate quota requirements for a new K8s cluster before creation.
        Returns exceeded quotas if regional limits would be violated. Validates
        requirements for all pools, logging, and cluster infrastructure (floating IPs,
        external IPs for pools with `is_public_ipv4`, load balancers, security groups).
        Use before cluster creation to validate resource availability.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterQuotaResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterCheckLimitsV2Serializer'
      tags:
      - Managed Kubernetes
  /cloud/v2/k8s/clusters/{project_id}/{region_id}/pools/check_limits:
    post:
      operationId: K8sClusterPoolCheckLimitsV2.post
      summary: Check cluster pool quota
      description: |-
        Calculate quota requirements for a new cluster pool before creation.
        Returns exceeded quotas if regional limits would be violated. Use before
        pool creation to validate resource availability. Checks: CPU, RAM, volumes,
        VMs, GPUs, external IPs (for pools with `is_public_ipv4`), and baremetal
        quotas depending on flavor type.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/K8sClusterQuotaResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterCheckLimitsPoolV2Serializer'
      tags:
      - Managed Kubernetes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          k8s_cluster_pool_quota = client.cloud.k8s.clusters.pools.check_quota(
              project_id=1,
              region_id=7,
              flavor_id="g1-standard-1-2",
          )
          print(k8s_cluster_pool_quota.baremetal_gpu_a100_count_limit)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	k8sClusterPoolQuota, err := client.Cloud.K8S.Clusters.Pools.CheckQuota(context.TODO(), cloud.K8SClusterPoolCheckQuotaParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(7),
          		FlavorID:  "g1-standard-1-2",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", k8sClusterPoolQuota.BaremetalGPUA100CountLimit)
          }
  /cloud/v2/pricing/{project_id}/{region_id}/k8s/clusters:
    post:
      operationId: K8sClusterPricingPreviewHandlerV2.post
      summary: Preview k8s cluster price
      description: Preview the billing price for a cluster based on the provided configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcesPricingResponseV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/K8sClusterPricingRequestV2Serializer'
      tags:
      - Managed Kubernetes
  /cloud/v2/pricing/{project_id}/{region_id}/k8s/clusters/{cluster_name}:
    get:
      operationId: K8sClusterPricingHandlerV2.get
      summary: Get k8s cluster price
      description: Get the billing price for a cluster
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          example: my-cluster
          examples:
          - my-cluster
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcesPricingResponseV2Serializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed Kubernetes
  /cloud/v1/dbaas/postgres/check_limit/{project_id}/{region_id}:
    post:
      operationId: DBAASPorstresLimitsHandler.post
      summary: Check PostgreSQL cluster quota
      description: |-
        Check if regional quota is exceeded for PostgreSQL cluster creation.
        If exceeded, calculate additional quotas needed.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionRequestedQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGClusterCreateSerializer'
      tags:
      - Managed PostgreSQL
  /cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}:
    post:
      operationId: PGClustersViewSet.post
      summary: Create PostgreSQL cluster
      description: Create a new PostgreSQL cluster with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGClusterCreateSerializer'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.databases.postgres.clusters.create(
              project_id=0,
              region_id=0,
              cluster_name="3",
              flavor={
                  "cpu": 1,
                  "memory_gib": 1,
              },
              high_availability={
                  "replication_mode": "sync"
              },
              network={
                  "acl": ["92.33.34.127"],
                  "network_type": "public",
              },
              pg_server_configuration={
                  "pg_conf": "\nlisten_addresses = 'localhost'\nport = 5432\nmax_connections = 100\nshared_buffers = 128MB\nlogging_collector = on",
                  "version": "version",
              },
              storage={
                  "size_gib": 100,
                  "type": "ssd-hiiops",
              },
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Databases.Postgres.Clusters.New(context.TODO(), cloud.DatabasePostgresClusterNewParams{
          		ProjectID:   gcore.Int(0),
          		RegionID:    gcore.Int(0),
          		ClusterName: "3",
          		Flavor: cloud.DatabasePostgresClusterNewParamsFlavor{
          			CPU:       1,
          			MemoryGib: 1,
          		},
          		HighAvailability: cloud.DatabasePostgresClusterNewParamsHighAvailability{
          			ReplicationMode: "sync",
          		},
          		Network: cloud.DatabasePostgresClusterNewParamsNetwork{
          			ACL: []string{"92.33.34.127"},
          		},
          		PgServerConfiguration: cloud.DatabasePostgresClusterNewParamsPgServerConfiguration{
          			PgConf:  "\nlisten_addresses = 'localhost'\nport = 5432\nmax_connections = 100\nshared_buffers = 128MB\nlogging_collector = on",
          			Version: "version",
          		},
          		Storage: cloud.DatabasePostgresClusterNewParamsStorage{
          			SizeGib: 100,
          			Type:    "ssd-hiiops",
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: PGClustersViewSet.get
      summary: List PostgreSQL clusters
      description: |-
        List all PostgreSQL clusters in the specified project and region.
        Results can be filtered by search query and paginated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Maximum number of clusters to return
        schema:
          default: 10
          description: Maximum number of clusters to return
          minimum: 0
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter clusters by name
        schema:
          description: Filter clusters by name
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Number of clusters to skip
        schema:
          default: 0
          description: Number of clusters to skip
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGClusterShortCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.databases.postgres.clusters.list(
              project_id=0,
              region_id=0,
          )
          page = page.results[0]
          print(page.cluster_name)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Databases.Postgres.Clusters.List(context.TODO(), cloud.DatabasePostgresClusterListParams{
          		ProjectID: gcore.Int(0),
          		RegionID:  gcore.Int(0),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}:
    get:
      operationId: PGClusterViewSet.get
      summary: Get PostgreSQL cluster
      description: Get detailed information about a specific PostgreSQL cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostgresClusterOverviewSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          postgres_cluster = client.cloud.databases.postgres.clusters.get(
              cluster_name="cluster_name",
              project_id=0,
              region_id=0,
          )
          print(postgres_cluster.cluster_name)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	postgresCluster, err := client.Cloud.Databases.Postgres.Clusters.Get(
          		context.TODO(),
          		"cluster_name",
          		cloud.DatabasePostgresClusterGetParams{
          			ProjectID: gcore.Int(0),
          			RegionID:  gcore.Int(0),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", postgresCluster.ClusterName)
          }
    patch:
      operationId: PGClusterViewSet.patch
      summary: Update PostgreSQL cluster
      description: Update the configuration of an existing PostgreSQL cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchPGClusterSerializer'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.databases.postgres.clusters.update(
              cluster_name="cluster_name",
              project_id=0,
              region_id=0,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Databases.Postgres.Clusters.Update(
          		context.TODO(),
          		"cluster_name",
          		cloud.DatabasePostgresClusterUpdateParams{
          			ProjectID: gcore.Int(0),
          			RegionID:  gcore.Int(0),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    delete:
      operationId: PGClusterViewSet.delete
      summary: Delete PostgreSQL cluster
      description: Delete a PostgreSQL cluster and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.databases.postgres.clusters.delete(
              cluster_name="cluster_name",
              project_id=0,
              region_id=0,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Databases.Postgres.Clusters.Delete(
          		context.TODO(),
          		"cluster_name",
          		cloud.DatabasePostgresClusterDeleteParams{
          			ProjectID: gcore.Int(0),
          			RegionID:  gcore.Int(0),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}/metrics:
    get:
      operationId: PGClusterMetricsViewSet.get
      summary: Get PostgreSQL cluster metrics
      description: Get metrics for a specific PostgreSQL cluster in Prometheus format.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
  /cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}/users/{username}/credentials:
    post:
      operationId: DBAASPostgresRegenerateSecretView.post
      summary: Regenerate PostgreSQL user credentials
      description: Generate new credentials for a specific user in a PostgreSQL cluster.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      - in: path
        name: username
        required: true
        description: Username
        schema:
          description: Username
          title: Username
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCredentialsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          postgres_user_credentials = client.cloud.databases.postgres.clusters.user_credentials.regenerate(
              username="username",
              project_id=0,
              region_id=0,
              cluster_name="cluster_name",
          )
          print(postgres_user_credentials.password)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	postgresUserCredentials, err := client.Cloud.Databases.Postgres.Clusters.UserCredentials.Regenerate(
          		context.TODO(),
          		"username",
          		cloud.DatabasePostgresClusterUserCredentialRegenerateParams{
          			ProjectID:   gcore.Int(0),
          			RegionID:    gcore.Int(0),
          			ClusterName: "cluster_name",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", postgresUserCredentials.Password)
          }
    get:
      operationId: DBAASPostgresRegenerateSecretView.get
      summary: Get PostgreSQL user credentials
      description: |-
        Get the credentials for a specific user in a PostgreSQL cluster.
        This endpoint can only be used once per user.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: path
        name: cluster_name
        required: true
        description: Cluster name
        schema:
          description: Cluster name
          title: Cluster Name
          type: string
      - in: path
        name: username
        required: true
        description: Username
        schema:
          description: Username
          title: Username
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCredentialsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          postgres_user_credentials = client.cloud.databases.postgres.clusters.user_credentials.get(
              username="username",
              project_id=0,
              region_id=0,
              cluster_name="cluster_name",
          )
          print(postgres_user_credentials.password)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	postgresUserCredentials, err := client.Cloud.Databases.Postgres.Clusters.UserCredentials.Get(
          		context.TODO(),
          		"username",
          		cloud.DatabasePostgresClusterUserCredentialGetParams{
          			ProjectID:   gcore.Int(0),
          			RegionID:    gcore.Int(0),
          			ClusterName: "cluster_name",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", postgresUserCredentials.Password)
          }
  /cloud/v1/dbaas/postgres/configuration/{project_id}/{region_id}:
    get:
      operationId: DBAASPostgresAwailableConfigurationView.get
      summary: Get PostgreSQL configurations
      description: Get all available PostgreSQL configurations for the specified region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DBAASPGConfiguration'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          postgres_configuration = client.cloud.databases.postgres.configurations.get(
              project_id=0,
              region_id=0,
          )
          print(postgres_configuration.flavors)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	postgresConfiguration, err := client.Cloud.Databases.Postgres.Configurations.Get(context.TODO(), cloud.DatabasePostgresConfigurationGetParams{
          		ProjectID: gcore.Int(0),
          		RegionID:  gcore.Int(0),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", postgresConfiguration.Flavors)
          }
  /cloud/v1/dbaas/postgres/validate_pg_conf/{project_id}/{region_id}:
    post:
      operationId: DBAASPostgresValidatePGConfView.post
      summary: Validate PostgreSQL configuration
      description: Validate a custom PostgreSQL configuration file.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PGConfValidateResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PGConfValidationRequestSerializer'
      tags:
      - Managed PostgreSQL
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          pg_conf_validation = client.cloud.databases.postgres.custom_configurations.validate(
              project_id=0,
              region_id=0,
              pg_conf="\nlisten_addresses = 'localhost'\nport = 5432\nmax_connections = 100\nshared_buffers = 128MB\nlogging_collector = on",
              version="15",
          )
          print(pg_conf_validation.is_valid)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	pgConfValidation, err := client.Cloud.Databases.Postgres.CustomConfigurations.Validate(context.TODO(), cloud.DatabasePostgresCustomConfigurationValidateParams{
          		ProjectID: gcore.Int(0),
          		RegionID:  gcore.Int(0),
          		PgConf:    "\nlisten_addresses = 'localhost'\nport = 5432\nmax_connections = 100\nshared_buffers = 128MB\nlogging_collector = on",
          		Version:   "15",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", pgConfValidation.IsValid)
          }
  /cloud/v1/dbaas/status/{project_id}/{region_id}:
    get:
      operationId: DBAASStatusView.get
      summary: Get PostgreSQL service status
      description: |-
        Get the current status of the PostgreSQL service for the specified project.
        The service may be initialized or not.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DbaasStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Managed PostgreSQL
    put:
      operationId: DBAASStatusView.put
      summary: Update PostgreSQL service status
      description: Activate or deactivate the PostgreSQL service for the specified project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DbaasStatusSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DbaasStatusRequestSerializer'
      tags:
      - Managed PostgreSQL
  /cloud/v1/networks/{project_id}/{region_id}:
    post:
      operationId: NetworkViewSet.post
      summary: Create network
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNetworkSerializer'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.create(
              project_id=1,
              region_id=1,
              name="my network",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.New(context.TODO(), cloud.NetworkNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "my network",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: NetworkViewSet.get
      summary: List networks
      description: |-
        Returns a list of networks. Use the `owned_by` query parameter to control which networks are returned:
        `project` (default) returns only networks owned by the project,
        `any` returns all networks the project can use, including shared networks.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: external
        required: false
        description: Filter by external network status
        schema:
          description: Filter by external network status
          example: true
          examples:
          - true
          title: External
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter networks by name
        schema:
          description: Filter networks by name
          example: my-network
          examples:
          - my-network
          maxLength: 61
          title: Name
          type: string
      - in: query
        name: network_type
        required: false
        description: Filter by network type (vlan or vxlan)
        schema:
          $ref: '#/components/schemas/NetworkType'
          description: Filter by network type (vlan or vxlan)
          examples:
          - vlan
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering networks list result by `name`, `created_at` or `priority` fields and directions (e.g. `created_at.desc`). Default is `created_at.desc`. Use `priority.desc` to sort by shared network priority (relevant when `owned_by=any`).
        schema:
          $ref: '#/components/schemas/NetworkListOrderByChoices'
          default: created_at.desc
          description: Ordering networks list result by `name`, `created_at` or `priority` fields and directions (e.g. `created_at.desc`). Default is `created_at.desc`. Use `priority.desc` to sort by shared network priority (relevant when `owned_by=any`).
          examples:
          - created_at.desc
      - in: query
        name: owned_by
        required: false
        description: Controls which networks are returned. 'project' (default) returns only networks owned by the project. 'any' returns all networks that the project can use, including shared networks from other projects.
        schema:
          $ref: '#/components/schemas/NetworkOwnedBy'
          default: project
          description: Controls which networks are returned. 'project' (default) returns only networks owned by the project. 'any' returns all networks that the project can use, including shared networks from other projects.
          examples:
          - project
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id027
          - key1
          - key2
          examples:
          - *id027
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id028
            key: value
          examples:
          - *id028
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: Networks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.networks.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Networks.List(context.TODO(), cloud.NetworkListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/networks/{project_id}/{region_id}/{network_id}:
    patch:
      operationId: NetworkInstanceViewSetV2.patch
      summary: Update network
      description: |-
        Rename network and/or update network tags in a background task.
        Returns a task ID and uses a network task lock, so concurrent update/delete task creation fails with conflict.
        The request will only process the fields that are provided in the request body.
        Any fields that are not included will remain unchanged.
        If a provided field already matches the current network state it is skipped, and when no field
        changes anything no task is created and an empty task list is returned.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchNetworkSerializer'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.update(
              network_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Update(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/networks/{project_id}/{region_id}/{network_id}:
    get:
      operationId: NetworkInstanceViewSet.get
      summary: Get network
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Network
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          network = client.cloud.networks.get(
              network_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(network.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	network, err := client.Cloud.Networks.Get(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", network.ID)
          }
    delete:
      operationId: NetworkInstanceViewSet.delete
      summary: Delete network
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.delete(
              network_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Delete(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: NetworkInstanceViewSet.patch
      summary: Update network
      description: |-
        Rename network and/or update network tags.
        The request will only process the fields that are provided in the request body.
        Any fields that are not included will remain unchanged.

        **Deprecated**: Use `PATCH /v2/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Network
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchNetworkSerializer'
      tags:
      - Networks
  /cloud/v1/networks/{project_id}/{region_id}/{network_id}/ports:
    get:
      operationId: InstancePortsByNetworkView.get
      summary: List instance ports by network
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Instance ports
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortAndInstanceCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
  /cloud/v1/subnets/{project_id}/{region_id}:
    post:
      operationId: SubnetViewSet.post
      summary: Create subnet
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubnetSerializer'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.subnets.create(
              project_id=1,
              region_id=1,
              cidr="192.168.10.0/24",
              name="my subnet",
              network_id="ee2402d0-f0cd-4503-9b75-69be1d11c5f1",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Subnets.New(context.TODO(), cloud.NetworkSubnetNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Cidr:      "192.168.10.0/24",
          		Name:      "my subnet",
          		NetworkID: "ee2402d0-f0cd-4503-9b75-69be1d11c5f1",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: SubnetViewSet.get
      summary: List subnets
      description: |-
        Returns a list of subnets. Use the `owned_by` query parameter to control which subnets are returned:
        `project` (default) returns only subnets owned by the project,
        `any` returns all subnets from networks available to the project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: network_id
        required: false
        description: Only list subnets of this network
        schema:
          description: Only list subnets of this network
          example: b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          examples:
          - b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          format: uuid4
          title: Network Id
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering subnets list result by `name`, `created_at`, `updated_at`, `available_ips`, `total_ips`, and `cidr` (default) fields of the subnet and directions (`name.asc`).
        schema:
          $ref: '#/components/schemas/SubnetListOrderByChoices'
          default: cidr.asc
          description: Ordering subnets list result by `name`, `created_at`, `updated_at`, `available_ips`, `total_ips`, and `cidr` (default) fields of the subnet and directions (`name.asc`).
          examples:
          - name.asc
      - in: query
        name: owned_by
        required: false
        description: Controls which subnets are returned. 'project' (default) returns only subnets owned by the project. 'any' returns all subnets from networks available to the project, including subnets from shared networks.
        schema:
          $ref: '#/components/schemas/SubnetOwnedBy'
          default: project
          description: Controls which subnets are returned. 'project' (default) returns only subnets owned by the project. 'any' returns all subnets from networks available to the project, including subnets from shared networks.
          examples:
          - project
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id029
          - key1
          - key2
          examples:
          - *id029
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id030
            key: value
          examples:
          - *id030
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: Subnets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubnetSerializerList'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.networks.subnets.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Networks.Subnets.List(context.TODO(), cloud.NetworkSubnetListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/subnets/{project_id}/{region_id}/{subnet_id}:
    get:
      operationId: SubnetInstanceViewSet.get
      summary: Get subnet
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '200':
          description: Subnet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubnetSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          subnet = client.cloud.networks.subnets.get(
              subnet_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(subnet.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	subnet, err := client.Cloud.Networks.Subnets.Get(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkSubnetGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", subnet.ID)
          }
    patch:
      operationId: SubnetInstanceViewSet.patch
      summary: Update subnet
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '200':
          description: Subnet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubnetSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSubnetSerializer'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          subnet = client.cloud.networks.subnets.update(
              subnet_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(subnet.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	subnet, err := client.Cloud.Networks.Subnets.Update(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkSubnetUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", subnet.ID)
          }
    delete:
      operationId: SubnetInstanceViewSet.delete
      summary: Delete subnet
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Networks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.subnets.delete(
              subnet_id="b39792c3-3160-4356-912e-ba396c95cdcf",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Subnets.Delete(
          		context.TODO(),
          		"b39792c3-3160-4356-912e-ba396c95cdcf",
          		cloud.NetworkSubnetDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/availablenetworks/{project_id}/{region_id}:
    get:
      operationId: AvailableNetworkViewSet.get
      summary: List networks with subnets details
      description: |-
        Retrieve the list of directly-attachable networks with subnet details. Returned entities
        may or may not be owned by the project.

        **Deprecated**: Use `GET /v1/networks/{project_id}/{region_id}?owned_by=any` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: external
        required: false
        description: Filter by external network status
        schema:
          description: Filter by external network status
          example: true
          examples:
          - true
          title: External
          type: boolean
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Filter networks by name
        schema:
          description: Filter networks by name
          example: my-network
          examples:
          - my-network
          maxLength: 61
          title: Name
          type: string
      - in: query
        name: network_id
        required: false
        description: Optional. Can be used to only show subnets of the specific network
        schema:
          description: Optional. Can be used to only show subnets of the specific network
          example: 123e4567-e89b-12d3-a456-426614174000
          examples:
          - 123e4567-e89b-12d3-a456-426614174000
          format: uuid4
          title: Network Id
          type: string
      - in: query
        name: network_type
        required: false
        description: Filter by network type (vlan or vxlan)
        schema:
          $ref: '#/components/schemas/NetworkType'
          description: Filter by network type (vlan or vxlan)
          examples:
          - vlan
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Ordering networks list result by `name`, `created_at` or `priority` fields and directions (e.g. `created_at.desc`).
        schema:
          $ref: '#/components/schemas/NetworkListOrderByChoices'
          description: Ordering networks list result by `name`, `created_at` or `priority` fields and directions (e.g. `created_at.desc`).
          examples:
          - created_at.desc
      - in: query
        name: shared
        required: false
        description: Filter by shared state
        schema:
          description: Filter by shared state
          example: true
          examples:
          - true
          title: Shared
          type: boolean
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id031
          - key1
          - key2
          examples:
          - *id031
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id032
            key: value
          examples:
          - *id032
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: Networks with subnets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkSubnetworkCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
  /cloud/v1/networks/{project_id}/{region_id}/{network_id}/metadata:
    post:
      operationId: NetworkMetadataHandler.post
      summary: Create or update network tags
      description: |-
        Create or update one or more tags for a network.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        **Deprecated**: Use `PATCH /v1/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Networks
    get:
      operationId: NetworkMetadataHandler.get
      summary: List network tags
      description: |-
        Lists all tags for a network.

        **Deprecated**: Use `GET /v1/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
    put:
      operationId: NetworkMetadataHandler.put
      summary: Replace network tags
      description: |-
        All existing tags are deleted and replaced with the tags from the request.

        **Deprecated**: Use `PATCH /v1/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Networks
  /cloud/v1/networks/{project_id}/{region_id}/{network_id}/metadata_item:
    get:
      operationId: NetworkMetadataItemHandler.get
      summary: Get network tag
      description: |-
        Get network tag by key.

        **Deprecated**: Use `GET /v1/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '200':
          description: Network tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
    delete:
      operationId: NetworkMetadataItemHandler.delete
      summary: Delete network tag
      description: |-
        Delete network tag by key.

        **Deprecated**: Use `PATCH /v1/networks/{project_id}/{region_id}/{network_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: network_id
        required: true
        description: Network ID
        schema:
          description: Network ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Network Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
  /cloud/v1/subnets/{project_id}/{region_id}/{subnet_id}/metadata:
    post:
      operationId: SubnetMetadataHandler.post
      summary: Create or update subnet tags
      description: |-
        Create or update one or more tags for a subnet.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        **Deprecated**: Use `PATCH /v1/subnets/{project_id}/{region_id}/{subnet_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Networks
    get:
      operationId: SubnetMetadataHandler.get
      summary: List subnet tags
      description: |-
        Lists all tags for a subnet.

        **Deprecated**: Use `GET /v1/subnets/{project_id}/{region_id}/{subnet_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
    put:
      operationId: SubnetMetadataHandler.put
      summary: Replace subnet tags
      description: |-
        All existing tags are deleted and replaced with the tags from the request.

        **Deprecated**: Use `PATCH /v1/subnets/{project_id}/{region_id}/{subnet_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Networks
  /cloud/v1/subnets/{project_id}/{region_id}/{subnet_id}/metadata_item:
    get:
      operationId: SubnetMetadataItemHandler.get
      summary: Get subnet tag
      description: |-
        Get subnet tag by key.

        **Deprecated**: Use `GET /v1/subnets/{project_id}/{region_id}/{subnet_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '200':
          description: Subnet tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
    delete:
      operationId: SubnetMetadataItemHandler.delete
      summary: Delete subnet tag
      description: |-
        Delete subnet tag by key.

        **Deprecated**: Use `PATCH /v1/subnets/{project_id}/{region_id}/{subnet_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: subnet_id
        required: true
        description: Subnet ID
        schema:
          description: Subnet ID
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key to filter by
        schema:
          description: Tag key to filter by
          example: cost-center
          examples:
          - cost-center
          maxLength: 255
          minLength: 1
          pattern: ^[^\s=]+$
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Networks
  /cloud/v1/servergroups/{project_id}/{region_id}:
    post:
      operationId: ServerGroupsViewSet.post
      summary: Create placement group
      description: Create an affinity or anti-affinity or soft-anti-affinity placement group
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServerGroupSerializer'
      tags:
      - Placement Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          placement_group = client.cloud.placement_groups.create(
              project_id=1,
              region_id=1,
              name="my-placement-group",
              policy="anti-affinity",
          )
          print(placement_group.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	placementGroup, err := client.Cloud.PlacementGroups.New(context.TODO(), cloud.PlacementGroupNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "my-placement-group",
          		Policy:    cloud.PlacementGroupNewParamsPolicyAntiAffinity,
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", placementGroup.ProjectID)
          }
    get:
      operationId: ServerGroupsViewSet.get
      summary: List placement groups
      description: List all placement groups in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerGroupCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Placement Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.placement_groups.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.PlacementGroups.List(context.TODO(), cloud.PlacementGroupListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/servergroups/{project_id}/{region_id}/{group_id}:
    get:
      operationId: ServerGroupInstanceViewSet.get
      summary: Get placement group
      description: Retrieve a single placement group by its ID.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: The ID of the placement group.
        schema:
          description: The ID of the placement group.
          example: 47003067-550a-6f17-93b6-81ee16ba061e
          examples:
          - 47003067-550a-6f17-93b6-81ee16ba061e
          title: Group Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Placement Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          placement_group = client.cloud.placement_groups.get(
              group_id="47003067-550a-6f17-93b6-81ee16ba061e",
              project_id=1,
              region_id=1,
          )
          print(placement_group.project_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	placementGroup, err := client.Cloud.PlacementGroups.Get(
          		context.TODO(),
          		"47003067-550a-6f17-93b6-81ee16ba061e",
          		cloud.PlacementGroupGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", placementGroup.ProjectID)
          }
    delete:
      operationId: ServerGroupInstanceViewSet.delete
      summary: Delete placement group
      description: Delete a placement group by its ID.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: The ID of the placement group.
        schema:
          description: The ID of the placement group.
          example: 47003067-550a-6f17-93b6-81ee16ba061e
          examples:
          - 47003067-550a-6f17-93b6-81ee16ba061e
          title: Group Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Placement Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.placement_groups.delete(
              group_id="47003067-550a-6f17-93b6-81ee16ba061e",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.PlacementGroups.Delete(
          		context.TODO(),
          		"47003067-550a-6f17-93b6-81ee16ba061e",
          		cloud.PlacementGroupDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/ports/{project_id}/{region_id}:
    get:
      operationId: PortListView.get
      summary: List ports
      description: |-
        List all ports in the specified project and region.
        Results can be filtered by network, subnet, IP address, port ID, attachment,
        trunk parent, or `managed_by` value, and sorted by `created_at` or `network_id`.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: attached
        required: false
        description: Filter attached (true) or standalone (false) ports.
        schema:
          description: Filter attached (true) or standalone (false) ports.
          title: Attached
          type: boolean
      - in: query
        name: ids
        required: false
        description: Filter by port ID(s). Exact match.
        schema:
          description: Filter by port ID(s). Exact match.
          items:
            format: uuid4
            type: string
          title: Ids
          type: array
      - in: query
        name: ip_addresses
        required: false
        description: Filter by IP address(es). Exact match.
        schema:
          description: Filter by IP address(es). Exact match.
          items:
            format: ipvanyaddress
            type: string
          title: Ip Addresses
          type: array
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 100
          description: Optional. Limit the number of returned items
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: managed_by
        required: false
        description: Filter ports managed by the user or system.
        schema:
          $ref: '#/components/schemas/PortManagedBy'
          description: Filter ports managed by the user or system.
      - in: query
        name: network_ids
        required: false
        description: Filter by network ID(s). Exact match.
        schema:
          description: Filter by network ID(s). Exact match.
          items:
            format: uuid4
            type: string
          title: Network Ids
          type: array
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Sort field and direction, e.g. `created_at`.desc or `network_id`.asc
        schema:
          $ref: '#/components/schemas/PortListOrderByChoices'
          default: created_at.desc
          description: Sort field and direction, e.g. `created_at`.desc or `network_id`.asc
      - in: query
        name: parent_port_id
        required: false
        description: Filter trunk sub-ports by their parent port ID.
        schema:
          description: Filter trunk sub-ports by their parent port ID.
          format: uuid4
          title: Parent Port Id
          type: string
      - in: query
        name: resource_id
        required: false
        description: Filter by attached compute resource ID.
        schema:
          description: Filter by attached compute resource ID.
          format: uuid4
          title: Resource Id
          type: string
      - in: query
        name: resource_type
        required: false
        description: Filter by attachment resource type.
        schema:
          $ref: '#/components/schemas/PortResourceType'
          description: Filter by attachment resource type.
      - in: query
        name: subnet_ids
        required: false
        description: Filter by subnet ID(s). Exact match.
        schema:
          description: Filter by subnet ID(s). Exact match.
          items:
            format: uuid4
            type: string
          title: Subnet Ids
          type: array
      responses:
        '200':
          description: Ports
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortListSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Ports
  /cloud/v1/ports/{project_id}/{region_id}/{port_id}:
    get:
      operationId: PortDetailView.get
      summary: Get port
      description: |-
        Returns detailed information about a specific port, including computed fields
        (`managed_by`, `capabilities`).
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Port
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortDetailSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Ports
    patch:
      operationId: PortDetailView.patch
      summary: Update port
      description: |-
        Updates port security, security groups, allowed address pairs, tags and IP assignments.

        **Behavior:**
        - Undefined fields remain unchanged; list fields replace the whole set, so send the full desired list
          (`[]` to clear, `ip_assignments` must keep at least one entry)
        - Tags are merged per key; a `null` value removes the key, and `tags: null` removes all user tags
        - If no changes are detected, no task is created and an empty task list is returned

        **Supported ports:** all compute types (instances, basic VMs, bare metal servers, GPU virtual servers,
        GPU bare metal servers), as long as the port `capabilities` report `true` for the field being changed.
        System-managed ports (DHCP, router, load balancer) and unattached ports are rejected.

        **Typical uses:**
        - Per-port firewall: `security_group_ids` applies to this port only, so ports on the same server can
          differ. While port security is enabled, an empty list permits no traffic
        - VIP failover (VRRP/keepalived): add the VIP address to `allowed_address_pairs` of every port allowed
          to claim it, all on the VIP's network
        - Routing and NAT appliances: `port_security_enabled: false` permits forwarding traffic with foreign
          source addresses; clear security groups and allowed address pairs in the same request
        - Additional addresses: `ip_assignments` adds or releases IPs (dual-stack, extra service IPs) without
          detaching the port; the guest OS must be configured for the extra ones. Send an entry with only
          `subnet_id` to get any free address of that subnet, which is the only option on a shared subnet
          whose free addresses the caller does not know. Such an entry keeps an address the port already has
          in that subnet, in the order the port reports them, so a shorter list releases the addresses at the
          end of that order. A request can replace all current addresses. A port an instance holds takes its
          addresses from one subnet per IP version, because the guest reaches one address range per version

        **Public network:** port security and allowed address pairs cannot be changed on ports in the
        region's public network. IP assignments can. To add an address there, send an entry with only
        `subnet_id`. A new entry with `ip_address` is not allowed. An entry can still specify an address
        that the port already holds. Each IPv4 address there
        counts against the external IP
        quota, so a request that allocates one fails when the limit is full, and a request that releases one
        gives the quota back. IPv6 addresses in that network are not counted.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchPortSerializer'
      tags:
      - Ports
  /cloud/public/v1/pricing/gpu:
    get:
      operationId: PublicGpuPricingViewSet.get
      summary: List GPU prices
      description: |-
        Returns list prices for GPUs, bare metal and virtual, in EUR and USD.

        The response has no pagination. The catalog is small. The list sorts by
        price per hour, from low to high.
      parameters: []
      responses:
        '200':
          description: GPU prices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GpuPricingCatalogSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Pricing
      security: []
  /cloud/v1/projects:
    post:
      operationId: ProjectListViewSet.post
      summary: Create project
      description: |-
        Create a new project for a client.
        Project management must be enabled to perform this operation.
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectSerializer'
      tags:
      - Projects
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          project = client.cloud.projects.create(
              name="my-project",
          )
          print(project.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	project, err := client.Cloud.Projects.New(context.TODO(), cloud.ProjectNewParams{
          		Name: "my-project",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", project.ID)
          }
    get:
      operationId: ProjectListViewSet.get
      summary: List projects
      description: |-
        Retrieve a list of projects for a client.
        Results can be filtered by name and ordered by various fields.
      parameters:
      - in: query
        name: include_deleted
        required: false
        description: Whether to include deleted projects in the response.
        schema:
          default: false
          description: Whether to include deleted projects in the response.
          example: false
          examples:
          - false
          title: Include Deleted
          type: boolean
      - in: query
        name: limit
        required: false
        description: Limit value is used to limit the number of records in the result
        schema:
          default: 100
          description: Limit value is used to limit the number of records in the result
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Name to filter the results by.
        schema:
          description: Name to filter the results by.
          example: my-project
          examples:
          - my-project
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/ProjectOrderByChoices'
          default: created_at.desc
          description: Order by field and direction.
          examples:
          - name.desc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProjectsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Projects
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.projects.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Projects.List(context.TODO(), cloud.ProjectListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/projects/{project_id}:
    get:
      operationId: ProjectViewSet.get
      summary: Get project
      description: Retrieve detailed information about a specific project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 4
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Projects
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          project = client.cloud.projects.get(
              project_id=4,
          )
          print(project.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	project, err := client.Cloud.Projects.Get(context.TODO(), cloud.ProjectGetParams{
          		ProjectID: gcore.Int(4),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", project.ID)
          }
    patch:
      operationId: ProjectViewSet.patch
      summary: Update project
      description: |-
        This endpoint allows partial updates of a project (such as its name or description).
        Only the fields explicitly provided in the request body will be updated.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 4
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectSerializer'
      tags:
      - Projects
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          project = client.cloud.projects.update(
              project_id=4,
          )
          print(project.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	project, err := client.Cloud.Projects.Update(context.TODO(), cloud.ProjectUpdateParams{
          		ProjectID: gcore.Int(4),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", project.ID)
          }
    delete:
      operationId: ProjectViewSet.delete
      summary: Delete project
      description: |-
        Delete a project and all its associated cloud resources across all regions.
        This operation is irreversible and cannot be undone.
        Default projects cannot be deleted.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 4
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Projects
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.projects.delete(
              project_id=4,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Projects.Delete(context.TODO(), cloud.ProjectDeleteParams{
          		ProjectID: gcore.Int(4),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/client_quotas:
    get:
      operationId: ClientQuotasHandler.get
      summary: Get all quotas
      description: Get combined client quotas, including both regional and global quotas.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllClientQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          quota = client.cloud.quotas.get_all()
          print(quota.global_quotas)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	quota, err := client.Cloud.Quotas.GetAll(context.TODO())
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", quota.GlobalQuotas)
          }
  /cloud/v2/client_quotas/{client_id}/notification_threshold:
    get:
      operationId: QuotaNotificationThresholdByClientIdHandler.get
      summary: Get quota notification threshold
      description: |-
        Get a client's quota notification threshold. This threshold is used to send warning notifications to the client
        when their quota usage reaches the specified percentage. Defaults to 80% if not set.
      parameters:
      - in: path
        name: client_id
        required: true
        description: Client ID
        schema:
          description: Client ID
          example: 3
          examples:
          - 3
          title: Client Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaNotificationThresholdSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          notification_threshold = client.cloud.quotas.notification_threshold.get(
              3,
          )
          print(notification_threshold.client_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	notificationThreshold, err := client.Cloud.Quotas.NotificationThreshold.Get(context.TODO(), 3)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", notificationThreshold.ClientID)
          }
    put:
      operationId: QuotaNotificationThresholdByClientIdHandler.put
      summary: Update quota notification threshold
      description: |-
        Update or create a client's quota notification threshold. This threshold is used to send warning notifications
        to the client when their quota usage reaches the specified percentage. Defaults to 80%.
      parameters:
      - in: path
        name: client_id
        required: true
        description: Client ID
        schema:
          description: Client ID
          example: 3
          examples:
          - 3
          title: Client Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaNotificationThresholdSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuotaThresholdSerializer'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          notification_threshold = client.cloud.quotas.notification_threshold.update(
              client_id=3,
              threshold=95,
          )
          print(notification_threshold.client_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	notificationThreshold, err := client.Cloud.Quotas.NotificationThreshold.Update(
          		context.TODO(),
          		3,
          		cloud.QuotaNotificationThresholdUpdateParams{
          			Threshold: 95,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", notificationThreshold.ClientID)
          }
    delete:
      operationId: QuotaNotificationThresholdByClientIdHandler.delete
      summary: Delete quota notification threshold
      description: Delete a client's quota notification threshold. After deletion, the default threshold of 80% will be used.
      parameters:
      - in: path
        name: client_id
        required: true
        description: Client ID
        schema:
          description: Client ID
          example: 3
          examples:
          - 3
          title: Client Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.quotas.notification_threshold.delete(
              3,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Quotas.NotificationThreshold.Delete(context.TODO(), 3)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v2/global_quotas/{client_id}:
    get:
      operationId: GlobalClientQuotasViewSet.get
      summary: Get global quotas
      description: Get global quotas for a specific client.
      parameters:
      - in: path
        name: client_id
        required: true
        description: Client ID
        schema:
          description: Client ID
          example: 3
          examples:
          - 3
          title: Client Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          response = client.cloud.quotas.get_global(
              3,
          )
          print(response.inference_cpu_millicore_count_limit)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	response, err := client.Cloud.Quotas.GetGlobal(context.TODO(), 3)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", response.InferenceCPUMillicoreCountLimit)
          }
  /cloud/v2/limits_request:
    post:
      operationId: CreateQuotaLimitsRequestViewSet.post
      summary: Create quota limit request
      description: Create a request to change current quotas.
      parameters: []
      responses:
        '201':
          description: Created
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LimitsRequestCreateSerializer'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.quotas.requests.create(
              description="Scale up mysql cluster",
              requested_limits={},
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Quotas.Requests.New(context.TODO(), cloud.QuotaRequestNewParams{
          		Description:     "Scale up mysql cluster",
          		RequestedLimits: cloud.QuotaRequestNewParamsRequestedLimits{},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          }
    get:
      operationId: CreateQuotaLimitsRequestViewSet.get
      summary: List quota limit requests
      description: Get a list of sent requests to change current quotas and their statuses.
      parameters:
      - in: query
        name: created_from
        required: false
        description: Filter limit requests created at or after this datetime (inclusive)
        schema:
          description: Filter limit requests created at or after this datetime (inclusive)
          example: '2024-01-01T00:00:00Z'
          examples:
          - '2024-01-01T00:00:00Z'
          format: date-time
          title: Created From
          type: string
      - in: query
        name: created_to
        required: false
        description: Filter limit requests created at or before this datetime (inclusive)
        schema:
          description: Filter limit requests created at or before this datetime (inclusive)
          example: '2024-12-31T23:59:59Z'
          examples:
          - '2024-12-31T23:59:59Z'
          format: date-time
          title: Created To
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: request_ids
        required: false
        description: List of limit request IDs for filtering
        schema:
          description: List of limit request IDs for filtering
          example: &id033
          - 1
          - 2
          - 3
          examples:
          - *id033
          items:
            format: int64
            type: integer
          title: Request Ids
          type: array
      - in: query
        name: status
        required: false
        description: List of limit requests statuses for filtering
        schema:
          description: List of limit requests statuses for filtering
          example: &id034
          - done
          - in progress
          examples:
          - *id034
          items:
            $ref: '#/components/schemas/LimitsRequestStatus'
          title: Status
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsRequestCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.quotas.requests.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Quotas.Requests.List(context.TODO(), cloud.QuotaRequestListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/limits_request/{request_id}:
    get:
      operationId: ShowQuotaLimitsRequestViewSet.get
      summary: Get quota limit request
      description: Get detailed information about a specific quota limit request.
      parameters:
      - in: path
        name: request_id
        required: true
        description: LimitRequest ID
        schema:
          description: LimitRequest ID
          example: 3
          examples:
          - 3
          format: int64
          title: Request Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsRequestSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          request = client.cloud.quotas.requests.get(
              3,
          )
          print(request.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	request, err := client.Cloud.Quotas.Requests.Get(context.TODO(), 3)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", request.ID)
          }
    delete:
      operationId: ShowQuotaLimitsRequestViewSet.delete
      summary: Delete quota limit request
      description: Delete a specific quota limit request.
      parameters:
      - in: path
        name: request_id
        required: true
        description: LimitRequest ID
        schema:
          description: LimitRequest ID
          example: 3
          examples:
          - 3
          format: int64
          title: Request Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.quotas.requests.delete(
              3,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Quotas.Requests.Delete(context.TODO(), 3)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v2/regional_quotas/{client_id}/{region_id}:
    get:
      operationId: ClientUpdateRegionalQuotasViewSet.get
      summary: Get regional quotas
      description: Get quotas for a specific region and client.
      parameters:
      - in: path
        name: client_id
        required: true
        description: Client ID
        schema:
          description: Client ID
          example: 3
          examples:
          - 3
          title: Client Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionalQuotasSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Quotas
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          response = client.cloud.quotas.get_by_region(
              client_id=3,
              region_id=1,
          )
          print(response.region_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	response, err := client.Cloud.Quotas.GetByRegion(context.TODO(), cloud.QuotaGetByRegionParams{
          		ClientID: 3,
          		RegionID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", response.RegionID)
          }
  /cloud/v1/regions:
    get:
      operationId: RegionHandler.get
      summary: List regions
      description: ''
      parameters:
      - in: query
        name: display_name
        required: false
        description: Filter regions by display name. Case-insensitive exact match.
        schema:
          description: Filter regions by display name. Case-insensitive exact match.
          example: Luxembourg
          examples:
          - Luxembourg
          title: Display Name
          type: string
      - in: query
        name: limit
        required: false
        description: Limit the number of returned regions. Falls back to default of 100 if not specified. Limited by max limit value of 1000
        schema:
          default: 100
          description: Limit the number of returned regions. Falls back to default of 100 if not specified. Limited by max limit value of 1000
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/RegionOrderByChoices'
          default: created_at.desc
          description: Order by field and direction.
          examples:
          - created_at.desc
      - in: query
        name: product
        required: false
        description: If defined then return only regions that support given product.
        schema:
          $ref: '#/components/schemas/RegionProductChoices'
          description: If defined then return only regions that support given product.
          examples:
          - inference
      - in: query
        name: show_volume_types
        required: false
        description: If true, null `available_volume_type` is replaced with a list of available volume types.
        schema:
          default: false
          description: If true, null `available_volume_type` is replaced with a list of available volume types.
          example: false
          examples:
          - false
          title: Show Volume Types
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Regions
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.regions.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Regions.List(context.TODO(), cloud.RegionListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/regions/{region_id}:
    get:
      operationId: RegionInstanceHandler.get
      summary: Get region
      description: ''
      parameters:
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 11
          examples:
          - 11
          title: Region Id
          type: integer
      - in: query
        name: show_volume_types
        required: false
        description: If true, null `available_volume_type` is replaced with a list of available volume types.
        schema:
          default: false
          description: If true, null `available_volume_type` is replaced with a list of available volume types.
          example: false
          examples:
          - false
          title: Show Volume Types
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Regions
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          region = client.cloud.regions.get(
              region_id=11,
          )
          print(region.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	region, err := client.Cloud.Regions.Get(context.TODO(), cloud.RegionGetParams{
          		RegionID: gcore.Int(11),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", region.ID)
          }
  /cloud/v1/registries/{project_id}/{region_id}:
    post:
      operationId: RegistriesHandler.post
      summary: Create registry
      description: Create a new container registry with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryCreateSerializer'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          registry = client.cloud.registries.create(
              project_id=1,
              region_id=1,
              name="reg-home1",
          )
          print(registry.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	registry, err := client.Cloud.Registries.New(context.TODO(), cloud.RegistryNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "reg-home1",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", registry.ID)
          }
    get:
      operationId: RegistriesHandler.get
      summary: List registries
      description: List all container registries in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.registries.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Registries.List(context.TODO(), cloud.RegistryListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}:
    get:
      operationId: RegistryHandler.get
      summary: Get registry
      description: Get detailed information about a specific container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          registry = client.cloud.registries.get(
              registry_id=1,
              project_id=1,
              region_id=1,
          )
          print(registry.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	registry, err := client.Cloud.Registries.Get(
          		context.TODO(),
          		1,
          		cloud.RegistryGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", registry.ID)
          }
    delete:
      operationId: RegistryHandler.delete
      summary: Delete registry
      description: Delete a specific container registry and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.registries.delete(
              registry_id=1,
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Registries.Delete(
          		context.TODO(),
          		1,
          		cloud.RegistryDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories:
    get:
      operationId: RegistryRepositoriesHandler.get
      summary: List registry repositories
      description: List all repositories in the container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryRepositoryCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.registries.repositories.list(
              registry_id=1,
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Registries.Repositories.List(
          		context.TODO(),
          		1,
          		cloud.RegistryRepositoryListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}:
    delete:
      operationId: RegistryRepositoryHandler.delete
      summary: Delete registry repository
      description: Delete a specific repository from the container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: repository_name
        required: true
        description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
        schema:
          description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
          example: nginx
          examples:
          - nginx
          title: Repository Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.registries.repositories.delete(
              repository_name="nginx",
              project_id=1,
              region_id=1,
              registry_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Registries.Repositories.Delete(
          		context.TODO(),
          		"nginx",
          		cloud.RegistryRepositoryDeleteParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			RegistryID: 1,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts:
    get:
      operationId: RegistryArtifactsHandler.get
      summary: List registry artifacts
      description: List all artifacts in a specific repository.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: repository_name
        required: true
        description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
        schema:
          description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
          example: nginx
          examples:
          - nginx
          title: Repository Name
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryArtifactCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.registries.artifacts.list(
              repository_name="nginx",
              project_id=1,
              region_id=1,
              registry_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Registries.Artifacts.List(
          		context.TODO(),
          		"nginx",
          		cloud.RegistryArtifactListParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			RegistryID: 1,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}:
    delete:
      operationId: RegistryArtifactHandler.delete
      summary: Delete registry artifact
      description: Delete a specific artifact from a repository.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: repository_name
        required: true
        description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
        schema:
          description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
          example: nginx
          examples:
          - nginx
          title: Repository Name
          type: string
      - in: path
        name: digest
        required: true
        description: Artifact digest
        schema:
          description: Artifact digest
          example: sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          examples:
          - sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          title: Digest
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.registries.artifacts.delete(
              digest="sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c",
              project_id=1,
              region_id=1,
              registry_id=1,
              repository_name="nginx",
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Registries.Artifacts.Delete(
          		context.TODO(),
          		"sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c",
          		cloud.RegistryArtifactDeleteParams{
          			ProjectID:      gcore.Int(1),
          			RegionID:       gcore.Int(1),
          			RegistryID:     1,
          			RepositoryName: "nginx",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  ? /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/repositories/{repository_name}/artifacts/{digest}/tags/{tag_name}
  : delete:
      operationId: RegistryTagHandler.delete
      summary: Delete registry tag
      description: Delete a specific tag from an artifact.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: repository_name
        required: true
        description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
        schema:
          description: Repository name. If it contains a slash, encode it with URL encoding, e.g. a/b -> a%252Fb
          example: nginx
          examples:
          - nginx
          title: Repository Name
          type: string
      - in: path
        name: digest
        required: true
        description: Artifact digest
        schema:
          description: Artifact digest
          example: sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          examples:
          - sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          title: Digest
          type: string
      - in: path
        name: tag_name
        required: true
        description: Tag name
        schema:
          description: Tag name
          example: latest
          examples:
          - latest
          title: Tag Name
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.registries.tags.delete(
              tag_name="latest",
              project_id=1,
              region_id=1,
              registry_id=1,
              repository_name="nginx",
              digest="sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c",
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Registries.Tags.Delete(
          		context.TODO(),
          		"latest",
          		cloud.RegistryTagDeleteParams{
          			ProjectID:      gcore.Int(1),
          			RegionID:       gcore.Int(1),
          			RegistryID:     1,
          			RepositoryName: "nginx",
          			Digest:         "sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/resize:
    patch:
      operationId: RegistryResizeHandler.patch
      summary: Resize registry
      description: Update the size of a container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryResizeSerializer'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          registry = client.cloud.registries.resize(
              registry_id=1,
              project_id=1,
              region_id=1,
          )
          print(registry.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	registry, err := client.Cloud.Registries.Resize(
          		context.TODO(),
          		1,
          		cloud.RegistryResizeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", registry.ID)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users:
    post:
      operationId: RegistryUsersHandler.post
      summary: Create registry user
      description: Create a new user for accessing the container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryUserCreateResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryUserCreateSerializer'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          registry_user_created = client.cloud.registries.users.create(
              registry_id=1,
              project_id=1,
              region_id=1,
              duration=14,
              name="user1",
          )
          print(registry_user_created.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	registryUserCreated, err := client.Cloud.Registries.Users.New(
          		context.TODO(),
          		1,
          		cloud.RegistryUserNewParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Duration:  14,
          			Name:      "user1",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", registryUserCreated.ID)
          }
    get:
      operationId: RegistryUsersHandler.get
      summary: List registry users
      description: List all users with access to the container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryUserCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.registries.users.list(
              registry_id=1,
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Registries.Users.List(
          		context.TODO(),
          		1,
          		cloud.RegistryUserListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}:
    patch:
      operationId: RegistryUserHandler.patch
      summary: Update registry user
      description: Update the configuration of a specific registry user.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: user_id
        required: true
        description: User ID
        schema:
          description: User ID
          example: 1
          examples:
          - 1
          title: User Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryUserSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryUserUpdateSerializer'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          registry_user = client.cloud.registries.users.update(
              user_id=1,
              project_id=1,
              region_id=1,
              registry_id=1,
              duration=14,
          )
          print(registry_user.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	registryUser, err := client.Cloud.Registries.Users.Update(
          		context.TODO(),
          		1,
          		cloud.RegistryUserUpdateParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			RegistryID: 1,
          			Duration:   14,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", registryUser.ID)
          }
    delete:
      operationId: RegistryUserHandler.delete
      summary: Delete registry user
      description: Delete a specific user from the container registry.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: user_id
        required: true
        description: User ID
        schema:
          description: User ID
          example: 1
          examples:
          - 1
          title: User Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.registries.users.delete(
              user_id=1,
              project_id=1,
              region_id=1,
              registry_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Registries.Users.Delete(
          		context.TODO(),
          		1,
          		cloud.RegistryUserDeleteParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			RegistryID: 1,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/{user_id}/refresh_secret:
    post:
      operationId: RegistryRefreshSecretHandler.post
      summary: Refresh registry user secret
      description: Generate a new secret for a specific registry user.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      - in: path
        name: user_id
        required: true
        description: User ID
        schema:
          description: User ID
          example: 1
          examples:
          - 1
          title: User Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryUserUpdateResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          response = client.cloud.registries.users.refresh_secret(
              user_id=1,
              project_id=1,
              region_id=1,
              registry_id=1,
          )
          print(response.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	response, err := client.Cloud.Registries.Users.RefreshSecret(
          		context.TODO(),
          		1,
          		cloud.RegistryUserRefreshSecretParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			RegistryID: 1,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", response.ID)
          }
  /cloud/v1/registries/{project_id}/{region_id}/{registry_id}/users/batch:
    post:
      operationId: RegistryBatchUsersHandler.post
      summary: Batch create registry users
      description: Create multiple users for accessing the container registry in a single request.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: registry_id
        required: true
        description: Registry ID
        schema:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryUserCreateResponseCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryBatchUsersCreateSerializer'
      tags:
      - Registry
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          response = client.cloud.registries.users.create_multiple(
              registry_id=1,
              project_id=1,
              region_id=1,
              users=[{
                  "duration": -1,
                  "name": "user1",
              }],
          )
          print(response.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	response, err := client.Cloud.Registries.Users.NewMultiple(
          		context.TODO(),
          		1,
          		cloud.RegistryUserNewMultipleParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Users: []cloud.RegistryUserNewMultipleParamsUser{{
          				Duration: -1,
          				Name:     "user1",
          			}},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", response.Count)
          }
  /cloud/v1/registries/{project_id}/{region_id}/check_limits:
    post:
      operationId: RegistryCheckLimitsHandler.post
      summary: Check registry quota
      description: Check if the registry creation request exceeds any quotas.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryQuotaCheckSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckQuotasBeforeRegistryCreation'
      tags:
      - Registry
  /cloud/v2/reservations:
    get:
      operationId: ReservationV2ViewSet.get
      summary: List reservations
      description: |-
        Get a list of billing reservations along with detailed information
        on resource configurations and associated pricing.
      parameters:
      - in: query
        name: time_from
        required: true
        description: Start of the reservation period (ISO 8601). The period must not exceed 31 days. The API returns monthly pricing for this period.
        schema:
          description: Start of the reservation period (ISO 8601). The period must not exceed 31 days. The API returns monthly pricing for this period.
          example: '2025-01-01T00:00:00Z'
          examples:
          - '2025-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
      - in: query
        name: time_to
        required: true
        description: End of the reservation period (ISO 8601). The period must not exceed 31 days. The API returns monthly pricing for this period.
        schema:
          description: End of the reservation period (ISO 8601). The period must not exceed 31 days. The API returns monthly pricing for this period.
          example: '2025-02-01T00:00:00Z'
          examples:
          - '2025-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
      - in: query
        name: metric_name
        required: false
        description: Metric name for the resource (e.g., 'bm1-hf-medium_min')
        schema:
          description: Metric name for the resource (e.g., 'bm1-hf-medium_min')
          title: Metric Name
          type: string
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/BillingReservationV2OrderByChoices'
          default: active_from.desc
          description: Order by field and direction.
          examples:
          - active_from.asc
          - active_to.asc
      - in: query
        name: region_id
        required: false
        description: Region for reservation
        schema:
          description: Region for reservation
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingReservationV2CollectionResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reservations
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from datetime import datetime
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          billing_reservations = client.cloud.billing_reservations.list(
              time_from=datetime.fromisoformat("2025-01-01T00:00:00"),
              time_to=datetime.fromisoformat("2025-02-01T00:00:00"),
          )
          print(billing_reservations.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"
          	"time"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	billingReservations, err := client.Cloud.BillingReservations.List(context.TODO(), cloud.BillingReservationListParams{
          		TimeFrom: time.Now(),
          		TimeTo:   time.Now(),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", billingReservations.Count)
          }
  /cloud/v1/pricing/{project_id}/{region_id}/reserved_fixed_ips:
    post:
      operationId: ReservedFixedIpPricingPreviewHandler.post
      summary: Preview reserved fixed IP price
      description: Preview the billing price for a reserved fixed IP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: Item price
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReservedFixedIpSerializer'
      tags:
      - Reserved IPs
  /cloud/v1/reserved_fixed_ips/{project_id}/{region_id}:
    post:
      operationId: ReservedFixedIPsViewSet.post
      summary: Create reserved fixed IP
      description: Create a new reserved fixed IP with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReservedFixedIpSerializer'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.reserved_fixed_ips.create(
              project_id=1,
              region_id=4,
              type="external",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.ReservedFixedIPs.New(context.TODO(), cloud.ReservedFixedIPNewParams{
          		ProjectID:  gcore.Int(1),
          		RegionID:   gcore.Int(4),
          		OfExternal: &cloud.ReservedFixedIPNewParamsBodyExternal{},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: ReservedFixedIPsViewSet.get
      summary: List reserved fixed IPs
      description: List all reserved fixed IPs in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: query
        name: available_only
        required: false
        description: Set True if response should only list IP addresses that are not attached to any instance
        schema:
          default: false
          description: Set True if response should only list IP addresses that are not attached to any instance
          title: Available Only
          type: boolean
      - in: query
        name: device_id
        required: false
        description: Filter IPs by device ID it is attached to
        schema:
          description: Filter IPs by device ID it is attached to
          title: Device Id
          type: string
      - in: query
        name: external_only
        required: false
        description: Set to true if the response should only list public IP addresses
        schema:
          default: false
          description: Set to true if the response should only list public IP addresses
          title: External Only
          type: boolean
      - in: query
        name: internal_only
        required: false
        description: Set to true if the response should only list private IP addresses
        schema:
          default: false
          description: Set to true if the response should only list private IP addresses
          title: Internal Only
          type: boolean
      - in: query
        name: ip_address
        required: false
        description: Optional. An IPv4 address to filter results by. Regular expression allowed
        schema:
          description: Optional. An IPv4 address to filter results by. Regular expression allowed
          title: Ip Address
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Optional. Ordering reserved fixed IP list result by name, status, `updated_at`, `fixed_ip_address` or `created_at` fields of the reserved fixed IP and directions (status.asc).
        schema:
          $ref: '#/components/schemas/ReservedFixedIPOrderByChoices'
          default: fixed_ip_address.asc
          description: Optional. Ordering reserved fixed IP list result by name, status, `updated_at`, `fixed_ip_address` or `created_at` fields of the reserved fixed IP and directions (status.asc).
      - in: query
        name: vip_only
        required: false
        description: Set to true if the response should only list VIPs
        schema:
          default: false
          description: Set to true if the response should only list VIPs
          title: Vip Only
          type: boolean
      responses:
        '200':
          description: Reserved fixed IPs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservedFixedIPCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.reserved_fixed_ips.list(
              project_id=1,
              region_id=4,
          )
          page = page.results[0]
          print(page.creator_task_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.ReservedFixedIPs.List(context.TODO(), cloud.ReservedFixedIPListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(4),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}:
    get:
      operationId: ReservedFixedIPViewSet.get
      summary: Get reserved fixed IP
      description: Get detailed information about a specific reserved fixed IP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Reserved fixed IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservedFixedIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          reserved_fixed_ip = client.cloud.reserved_fixed_ips.get(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(reserved_fixed_ip.creator_task_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	reservedFixedIP, err := client.Cloud.ReservedFixedIPs.Get(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", reservedFixedIP.CreatorTaskID)
          }
    patch:
      operationId: ReservedFixedIPViewSet.patch
      summary: Update reserved fixed IP
      description: Update the VIP status of a reserved fixed IP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Reserved fixed IP
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservedFixedIPSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchReservedFixedIPSerializer'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          reserved_fixed_ip = client.cloud.reserved_fixed_ips.update(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
              is_vip=True,
          )
          print(reserved_fixed_ip.creator_task_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	reservedFixedIP, err := client.Cloud.ReservedFixedIPs.Update(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          			IsVip:     true,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", reservedFixedIP.CreatorTaskID)
          }
    delete:
      operationId: ReservedFixedIPViewSet.delete
      summary: Delete reserved fixed IP
      description: Delete a specific reserved fixed IP and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.reserved_fixed_ips.delete(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.ReservedFixedIPs.Delete(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/available_devices:
    get:
      operationId: ReservedFixedIPAddressPairsAvailableDevicesViewSet.get
      summary: List VIP available ports
      description: List all instance ports that are available for connecting to a VIP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: VIP attach candidates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VIPAttachCandidateCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          candidate_port_list = client.cloud.reserved_fixed_ips.vip.candidate_ports.list(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(candidate_port_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	candidatePortList, err := client.Cloud.ReservedFixedIPs.Vip.CandidatePorts.List(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPVipCandidatePortListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", candidatePortList.Count)
          }
  /cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/connected_devices:
    get:
      operationId: ReservedFixedIPAddressPairsViewSet.get
      summary: List VIP connected ports
      description: List all instance ports that share a VIP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Connected devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedDevicesVIPCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          connected_port_list = client.cloud.reserved_fixed_ips.vip.connected_ports.list(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(connected_port_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	connectedPortList, err := client.Cloud.ReservedFixedIPs.Vip.ConnectedPorts.List(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPVipConnectedPortListParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", connectedPortList.Count)
          }
    put:
      operationId: ReservedFixedIPAddressPairsViewSet.put
      summary: Replace VIP connected ports
      description: Replace the list of instance ports that share a VIP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Connected devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedDevicesVIPCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortIDsForVIPSerializer'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          connected_port_list = client.cloud.reserved_fixed_ips.vip.connected_ports.replace(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(connected_port_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	connectedPortList, err := client.Cloud.ReservedFixedIPs.Vip.ConnectedPorts.Replace(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPVipConnectedPortReplaceParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", connectedPortList.Count)
          }
    patch:
      operationId: ReservedFixedIPAddressPairsViewSet.patch
      summary: Add VIP connected port
      description: Add instance ports to share a VIP.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Connected devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedDevicesVIPCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortIDsForVIPSerializer'
      tags:
      - Reserved IPs
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          connected_port_list = client.cloud.reserved_fixed_ips.vip.connected_ports.add(
              port_id="ac177f1f-eb04-42c4-9864-e7d6486813af",
              project_id=1,
              region_id=4,
          )
          print(connected_port_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	connectedPortList, err := client.Cloud.ReservedFixedIPs.Vip.ConnectedPorts.Add(
          		context.TODO(),
          		"ac177f1f-eb04-42c4-9864-e7d6486813af",
          		cloud.ReservedFixedIPVipConnectedPortAddParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(4),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", connectedPortList.Count)
          }
  /cloud/v1/reserved_fixed_ips/{project_id}/{region_id}/{port_id}/convert:
    post:
      operationId: ReservedFixedIPConvertHandler.post
      summary: Convert reserved fixed IP
      description: |-
        Convert an unassigned reserved fixed IP to another resource type.
        The reserved fixed IP must not be attached to any device (status must be AVAILABLE).
        Only reserved fixed IPs on external networks can be converted.

        Note: In rare cases, if the conversion fails due to concurrent network operations,
        the original IP address may be lost and a new one will need to be created.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      - in: path
        name: port_id
        required: true
        description: Port ID
        schema:
          description: Port ID
          example: ac177f1f-eb04-42c4-9864-e7d6486813af
          examples:
          - ac177f1f-eb04-42c4-9864-e7d6486813af
          format: uuid4
          title: Port Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertReservedFixedIPSerializer'
      tags:
      - Reserved IPs
  /cloud/v1/routers/{project_id}/{region_id}:
    post:
      operationId: RouterViewSet.post
      summary: Create router
      description: Create a new router with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRouterSerializer'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.routers.create(
              project_id=1,
              region_id=1,
              name="my_wonderful_router",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Routers.New(context.TODO(), cloud.NetworkRouterNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "my_wonderful_router",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: RouterViewSet.get
      summary: List routers
      description: List all routers in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 1000
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Optional. Filter routers by name
        schema:
          description: Optional. Filter routers by name
          example: router-name
          examples:
          - router-name
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: Routers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.networks.routers.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Networks.Routers.List(context.TODO(), cloud.NetworkRouterListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v2/routers/{project_id}/{region_id}/{router_id}:
    patch:
      operationId: RouterRouterViewSetV2.patch
      summary: Update router
      description: |-
        Update the configuration of an existing router.
        Fields that already match the current router state are skipped. If no fields
        change, no task is created and an empty task list is returned.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchRouterSerializerV2'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.routers.update(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Routers.Update(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/routers/{project_id}/{region_id}/{router_id}:
    get:
      operationId: RouterRouterViewSet.get
      summary: Get router
      description: Get detailed information about a specific router.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Router
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          router = client.cloud.networks.routers.get(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
          )
          print(router.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	router, err := client.Cloud.Networks.Routers.Get(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", router.ID)
          }
    delete:
      operationId: RouterRouterViewSet.delete
      summary: Delete router
      description: Delete a specific router and all its associated resources.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.networks.routers.delete(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Networks.Routers.Delete(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    patch:
      operationId: RouterRouterViewSet.patch
      summary: Update router
      description: |-
        Update the configuration of an existing router.

        **Deprecated**: Use `PATCH /v2/routers/{project_id}/{region_id}/{router_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Router
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchRouterSerializer'
      tags:
      - Routers
  /cloud/v1/routers/{project_id}/{region_id}/{router_id}/attach:
    post:
      operationId: RouterAttachViewSet.post
      summary: Attach subnet to router
      description: Attach a subnet to an existing router.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Router
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRouterInterfaceSerializer'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          router = client.cloud.networks.routers.attach_subnet(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
              subnet_id="subnet_id",
          )
          print(router.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	router, err := client.Cloud.Networks.Routers.AttachSubnet(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterAttachSubnetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			SubnetID:  "subnet_id",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", router.ID)
          }
  /cloud/v1/routers/{project_id}/{region_id}/{router_id}/detach:
    post:
      operationId: RouterDetachViewSet.post
      summary: Detach subnet from router
      description: Detach a subnet from an existing router.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Router
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubnetIdSerializer'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          router = client.cloud.networks.routers.detach_subnet(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
              subnet_id="subnet_id",
          )
          print(router.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	router, err := client.Cloud.Networks.Routers.DetachSubnet(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterDetachSubnetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			SubnetID: cloud.SubnetIDParam{
          				SubnetID: "subnet_id",
          			},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", router.ID)
          }
  /cloud/v1/routers/{project_id}/{region_id}/{router_id}/metrics:
    post:
      operationId: RouterMetricsViewSet.post
      summary: Get router metrics
      description: Get the network traffic of each router interface, in bits and packets per second.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: router_id
        required: true
        description: Router ID
        schema:
          description: Router ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Router Id
          type: string
      responses:
        '200':
          description: Router metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterMetricsCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterMetricsRequestSerializer'
      tags:
      - Routers
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          router_metrics_list = client.cloud.networks.routers.metrics.list(
              router_id="ccd5b925-e35c-4611-a511-67ab503104c8",
              project_id=1,
              region_id=1,
              time_interval=6,
              time_unit="hour",
          )
          print(router_metrics_list.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	routerMetricsList, err := client.Cloud.Networks.Routers.Metrics.List(
          		context.TODO(),
          		"ccd5b925-e35c-4611-a511-67ab503104c8",
          		cloud.NetworkRouterMetricListParams{
          			ProjectID:    gcore.Int(1),
          			RegionID:     gcore.Int(1),
          			TimeInterval: 6,
          			TimeUnit:     cloud.InstanceMetricsTimeUnitHour,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", routerMetricsList.Count)
          }
  /cloud/v1/ssh_keys/{project_id}:
    post:
      operationId: SSHKeyCollectionViewSet.post
      summary: Add or generate SSH key
      description: To generate a key, omit the `public_key` parameter from the request body
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedSSHKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSSHKeySerializer'
      tags:
      - SSH Keys
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          ssh_key_created = client.cloud.ssh_keys.create(
              project_id=1,
              name="my-ssh-key",
          )
          print(ssh_key_created.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	sshKeyCreated, err := client.Cloud.SSHKeys.New(context.TODO(), cloud.SSHKeyNewParams{
          		ProjectID: gcore.Int(1),
          		Name:      "my-ssh-key",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", sshKeyCreated.ID)
          }
    get:
      operationId: SSHKeyCollectionViewSet.get
      summary: List SSH keys
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Maximum number of SSH keys to return
        schema:
          default: 10
          description: Maximum number of SSH keys to return
          example: 100
          examples:
          - 100
          maximum: 1000
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: 'SSH key name. Partial substring match. Example: `name=abc` matches any key containing `abc` in name.'
        schema:
          description: 'SSH key name. Partial substring match. Example: `name=abc` matches any key containing `abc` in name.'
          example: my-ssh-key
          examples:
          - my-ssh-key
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset for pagination
        schema:
          default: 0
          description: Offset for pagination
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Sort order for the SSH keys
        schema:
          $ref: '#/components/schemas/SSHKeyOrderByChoices'
          default: created_at.desc
          description: Sort order for the SSH keys
          examples:
          - created_at.desc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHKeyCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - SSH Keys
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.ssh_keys.list(
              project_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.SSHKeys.List(context.TODO(), cloud.SSHKeyListParams{
          		ProjectID: gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/ssh_keys/{project_id}/{ssh_key_id}:
    get:
      operationId: SSHKeyViewSet.get
      summary: Get SSH key
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: ssh_key_id
        required: true
        description: SSH key ID
        schema:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Ssh Key Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - SSH Keys
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          ssh_key = client.cloud.ssh_keys.get(
              ssh_key_id="36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
              project_id=1,
          )
          print(ssh_key.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	sshKey, err := client.Cloud.SSHKeys.Get(
          		context.TODO(),
          		"36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
          		cloud.SSHKeyGetParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", sshKey.ID)
          }
    patch:
      operationId: SSHKeyViewSet.patch
      summary: Share or unshare SSH key with users
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: ssh_key_id
        required: true
        description: SSH key ID
        schema:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Ssh Key Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHKeySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareSSHKeySerializer'
      tags:
      - SSH Keys
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          ssh_key = client.cloud.ssh_keys.update(
              ssh_key_id="36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
              project_id=1,
              shared_in_project=True,
          )
          print(ssh_key.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	sshKey, err := client.Cloud.SSHKeys.Update(
          		context.TODO(),
          		"36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
          		cloud.SSHKeyUpdateParams{
          			ProjectID:       gcore.Int(1),
          			SharedInProject: true,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", sshKey.ID)
          }
    delete:
      operationId: SSHKeyViewSet.delete
      summary: Delete SSH key
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: ssh_key_id
        required: true
        description: SSH key ID
        schema:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Ssh Key Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - SSH Keys
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.ssh_keys.delete(
              ssh_key_id="36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
              project_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.SSHKeys.Delete(
          		context.TODO(),
          		"36a7a97a-0672-4911-8f2b-92cd4e5b0d91",
          		cloud.SSHKeyDeleteParams{
          			ProjectID: gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v2/keypairs:
    post:
      operationId: KeypairListV2ViewSet.post
      summary: Import or generate keypair
      description: To generate a keypair do not use the `public_key` parameter in the request body
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateKeypairV2Serializer'
      tags:
      - SSH Keys
    get:
      operationId: KeypairListV2ViewSet.get
      summary: List keypairs
      description: ''
      parameters:
      - in: query
        name: project_id
        required: false
        description: Project ID. It's required with rights lower than a cloud administrator.
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Project ID. It's required with rights lower than a cloud administrator.
          examples:
          - 100
          title: Project Id
      - in: query
        name: user_id
        required: false
        description: User ID. To use it, you need set project id or use cloud administrator rights.
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: User ID. To use it, you need set project id or use cloud administrator rights.
          examples:
          - 5
          title: User Id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListKeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
  /cloud/v2/keypairs/{keypair_id}:
    get:
      operationId: KeypairInstanceViewSetV2.get
      summary: Get keypair
      description: ''
      parameters:
      - in: path
        name: keypair_id
        required: true
        description: Keypair ID
        schema:
          description: Keypair ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Keypair Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
    delete:
      operationId: KeypairInstanceViewSetV2.delete
      summary: Delete keypair
      description: ''
      parameters:
      - in: path
        name: keypair_id
        required: true
        description: Keypair ID
        schema:
          description: Keypair ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Keypair Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
  /cloud/v1/keypairs/{project_id}/{region_id}:
    post:
      operationId: KeypairViewSet.post
      summary: Import or generate keypair
      description: To generate a keypair do not use the `public_key` parameter in the request body
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateKeypairSerializer'
      tags:
      - SSH Keys
    get:
      operationId: KeypairViewSet.get
      summary: List keypairs
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListKeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
  /cloud/v1/keypairs/{project_id}/{region_id}/{keypair_id}:
    get:
      operationId: KeypairInstanceViewSet.get
      summary: Get keypair
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: keypair_id
        required: true
        description: Keypair ID
        schema:
          description: Keypair ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Keypair Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
    delete:
      operationId: KeypairInstanceViewSet.delete
      summary: Delete keypair
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: keypair_id
        required: true
        description: Keypair ID
        schema:
          description: Keypair ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Keypair Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - SSH Keys
  /cloud/v1/keypairs/{project_id}/{region_id}/{keypair_id}/share:
    patch:
      operationId: ShareKeypairHandler.patch
      summary: Share keypair to view for all users in project
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      - in: path
        name: keypair_id
        required: true
        description: Keypair ID
        schema:
          description: Keypair ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Keypair Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeypairSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareKeypairSerializer'
      tags:
      - SSH Keys
  /cloud/v2/secrets/{project_id}/{region_id}:
    post:
      operationId: SecretsViewSetV2.post
      summary: Create secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretSerializerV2'
      tags:
      - Secrets
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.secrets.upload_tls_certificate(
              project_id=1,
              region_id=1,
              name="Load balancer certificate #1",
              payload={
                  "certificate": "<certificate>",
                  "certificate_chain": "<certificate_chain>",
                  "private_key": "<private_key>",
              },
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Secrets.UploadTlsCertificate(context.TODO(), cloud.SecretUploadTlsCertificateParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "Load balancer certificate #1",
          		Payload: cloud.SecretUploadTlsCertificateParamsPayload{
          			Certificate:      "<certificate>",
          			CertificateChain: "<certificate_chain>",
          			PrivateKey:       "<private_key>",
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/secrets/{project_id}/{region_id}:
    get:
      operationId: SecretsViewSet.get
      summary: List secrets
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: Secrets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Secrets
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.secrets.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Secrets.List(context.TODO(), cloud.SecretListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
    post:
      operationId: SecretsViewSet.post
      summary: Create secret
      description: '**Deprecated**: Use `POST /v2/secrets/{project_id}/{region_id}` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretSerializer'
      tags:
      - Secrets
  /cloud/v1/secrets/{project_id}/{region_id}/{secret_id}:
    get:
      operationId: SecretViewSet.get
      summary: Get secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: secret_id
        required: true
        description: Secret ID
        schema:
          description: Secret ID
          example: bfc7824b-31b6-4a28-a0c4-7df137139215
          examples:
          - bfc7824b-31b6-4a28-a0c4-7df137139215
          format: uuid4
          title: Secret Id
          type: string
      responses:
        '200':
          description: Secret
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Secrets
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          secret = client.cloud.secrets.get(
              secret_id="bfc7824b-31b6-4a28-a0c4-7df137139215",
              project_id=1,
              region_id=1,
          )
          print(secret.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	secret, err := client.Cloud.Secrets.Get(
          		context.TODO(),
          		"bfc7824b-31b6-4a28-a0c4-7df137139215",
          		cloud.SecretGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", secret.ID)
          }
    delete:
      operationId: SecretViewSet.delete
      summary: Delete secret
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: secret_id
        required: true
        description: Secret ID
        schema:
          description: Secret ID
          example: bfc7824b-31b6-4a28-a0c4-7df137139215
          examples:
          - bfc7824b-31b6-4a28-a0c4-7df137139215
          format: uuid4
          title: Secret Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Secrets
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.secrets.delete(
              secret_id="bfc7824b-31b6-4a28-a0c4-7df137139215",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Secrets.Delete(
          		context.TODO(),
          		"bfc7824b-31b6-4a28-a0c4-7df137139215",
          		cloud.SecretDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/security_groups/{project_id}/{region_id}:
    post:
      operationId: SecurityGroupViewSetV2.post
      summary: Create security group
      description: |-
        Creates a new security group. Rule handling depends on the `rules` field:
        - omitted: the default template (ingress + egress allow-all) is applied;
        - non-empty list: exactly those rules are created (nothing is appended);
        - empty list `[]`: no rules are created.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecurityGroupSerializerV2'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.security_groups.create(
              project_id=1,
              region_id=1,
              name="my_security_group",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.SecurityGroups.New(context.TODO(), cloud.SecurityGroupNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "my_security_group",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/security_groups/{project_id}/{region_id}/{group_id}:
    patch:
      operationId: SecurityGroupInstanceViewSetV2.patch
      summary: Update security group
      description: |-
        Updates the specified security group with the provided changes.

        **Behavior:**
        - Simple fields (name, description) will be updated if provided
        - Undefined fields will remain unchanged
        - If no change is detected for a specific field compared to the current security group state,
          that field will be skipped
        - If no changes are detected at all across all fields, no task will be created and
          an empty task list will be returned

        **Important - Security Group Rules:**
        - Rules must be specified completely as the desired final state
        - The system compares the provided rules against the current state
        - Rules that exist in the request but not in the current state will be added
        - Rules that exist in the current state but not in the request will be removed
        - To keep existing rules, they must be included in the request alongside any new rules
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSecurityGroupSerializerV2'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.security_groups.update(
              group_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.SecurityGroups.Update(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.SecurityGroupUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/security_groups/{project_id}/{region_id}/{group_id}/rules:
    post:
      operationId: SecurityGroupRulesViewSetV2.post
      summary: Create security group rule
      description: |-
        Add a new rule to an existing security group.
        Returns a task ID for tracking the asynchronous operation.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecurityGroupRuleSerializerV2'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.security_groups.rules.create(
              group_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              direction="ingress",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.SecurityGroups.Rules.New(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.SecurityGroupRuleNewParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Direction: cloud.SecurityGroupRuleNewParamsDirectionIngress,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/security_groups/{project_id}/{region_id}/{group_id}/rules/{rule_id}:
    delete:
      operationId: SecurityGroupRuleInstanceViewSetV2.delete
      summary: Delete security group rule
      description: |-
        Delete a specific rule from a security group.
        Returns a task ID for tracking the asynchronous operation.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Group Id
          type: string
      - in: path
        name: rule_id
        required: true
        description: Security group rule ID
        schema:
          description: Security group rule ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Rule Id
          type: string
      responses:
        '200':
          description: Task IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.security_groups.rules.delete(
              rule_id="00000000-0000-4000-8000-000000000000",
              project_id=1,
              region_id=1,
              group_id="00000000-0000-4000-8000-000000000000",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.SecurityGroups.Rules.Delete(
          		context.TODO(),
          		"00000000-0000-4000-8000-000000000000",
          		cloud.SecurityGroupRuleDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			GroupID:   "00000000-0000-4000-8000-000000000000",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/securitygroups/{project_id}/{region_id}:
    get:
      operationId: SecurityGroupViewSet.get
      summary: List security groups
      description: List all security groups in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 10
          description: Limit of items on a single page
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Optional. Filter by name. Must be specified a full name of the security group.
        schema:
          description: Optional. Filter by name. Must be specified a full name of the security group.
          example: my_security_group
          examples:
          - my_security_group
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id035
          - key1
          - key2
          examples:
          - *id035
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id036
            key: value
          examples:
          - *id036
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: Security groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.security_groups.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.SecurityGroups.List(context.TODO(), cloud.SecurityGroupListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
    post:
      operationId: SecurityGroupViewSet.post
      summary: Create security group
      description: '**Deprecated** Use `/v2/security_groups/<project_id>/<region_id>` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: Security group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecurityGroupSerializer'
      tags:
      - Security Groups
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}:
    get:
      operationId: SecurityGroupInstanceViewSet.get
      summary: Get security group
      description: Get detailed information about a specific security group.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Security group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          security_group = client.cloud.security_groups.get(
              group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(security_group.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	securityGroup, err := client.Cloud.SecurityGroups.Get(
          		context.TODO(),
          		"024a29e9-b4b7-4c91-9a46-505be123d9f8",
          		cloud.SecurityGroupGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", securityGroup.ID)
          }
    delete:
      operationId: SecurityGroupInstanceViewSet.delete
      summary: Delete security group
      description: Delete a specific security group and all its associated rules.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.security_groups.delete(
              group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.SecurityGroups.Delete(
          		context.TODO(),
          		"024a29e9-b4b7-4c91-9a46-505be123d9f8",
          		cloud.SecurityGroupDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
    patch:
      operationId: SecurityGroupInstanceViewSet.patch
      summary: Update security group
      description: '**Deprecated** Use `/v2/security_groups/<project_id>/<region_id>/<group_id>` instead.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Security group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSecurityGroupSerializer'
      tags:
      - Security Groups
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy:
    post:
      operationId: SecurityGroupCopy.post
      summary: Copy security group
      description: Create a deep copy of an existing security group.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Security group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NameSerializerPydantic'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          security_group = client.cloud.security_groups.copy(
              group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
              name="some_name",
          )
          print(security_group.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	securityGroup, err := client.Cloud.SecurityGroups.Copy(
          		context.TODO(),
          		"024a29e9-b4b7-4c91-9a46-505be123d9f8",
          		cloud.SecurityGroupCopyParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Name:      "some_name",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", securityGroup.ID)
          }
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert:
    post:
      operationId: SecurityGroupRestore.post
      summary: Revert security group
      description: Revert a security group to its previous state.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Security group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          security_group = client.cloud.security_groups.revert_to_default(
              group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
          )
          print(security_group.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	securityGroup, err := client.Cloud.SecurityGroups.RevertToDefault(
          		context.TODO(),
          		"024a29e9-b4b7-4c91-9a46-505be123d9f8",
          		cloud.SecurityGroupRevertToDefaultParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", securityGroup.ID)
          }
  /cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}:
    put:
      operationId: SecurityGroupRuleInstanceViewSet.put
      summary: Update security group rule
      description: |-
        Update the configuration of an existing security group rule.

        **Deprecated** Use `/v2/security_groups/<project_id>/<region_id>/<group_id>/rules/<rule_id>`
        to delete and `/v2/security_groups/<project_id>/<region_id>/<group_id>/rules` to create a new rule.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: rule_id
        required: true
        description: Rule ID
        schema:
          description: Rule ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Rule Id
          type: string
      responses:
        '200':
          description: Security group rule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupRuleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecurityGroupRuleSerializer'
      tags:
      - Security Groups
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          security_group_rule = client.cloud.security_groups.rules.replace(
              rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8",
              project_id=1,
              region_id=1,
              direction="ingress",
          )
          print(security_group_rule.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	securityGroupRule, err := client.Cloud.SecurityGroups.Rules.Replace(
          		context.TODO(),
          		"024a29e9-b4b7-4c91-9a46-505be123d9f8",
          		cloud.SecurityGroupRuleReplaceParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Direction: cloud.SecurityGroupRuleReplaceParamsDirectionIngress,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", securityGroupRule.ID)
          }
    delete:
      operationId: SecurityGroupRuleInstanceViewSet.delete
      summary: Delete security group rule
      description: |-
        Delete a specific rule from a security group.

        **Deprecated** Use `/v2/security_groups/<project_id>/<region_id>/<group_id>/rules/<rule_id>` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: rule_id
        required: true
        description: Rule ID
        schema:
          description: Rule ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Rule Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Security Groups
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/metadata:
    post:
      operationId: SecurityGroupMetadataHandler.post
      summary: Create or update security group tags
      description: |-
        Add or update tags for a security group.

        **Deprecated**: Use `PATCH /v1/securitygroups/{project_id}/{region_id}/{group_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Security Groups
    get:
      operationId: SecurityGroupMetadataHandler.get
      summary: List security group tags
      description: |-
        List all tags associated with a security group.

        **Deprecated**: Use `GET /v1/securitygroups/{project_id}/{region_id}/{group_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Key-value tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Security Groups
    put:
      operationId: SecurityGroupMetadataHandler.put
      summary: Replace security group tags
      description: |-
        Replace all tags for a security group.

        **Deprecated**: Use `PATCH /v1/securitygroups/{project_id}/{region_id}/{group_id}` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagsSerializer'
      tags:
      - Security Groups
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/metadata_item:
    get:
      operationId: SecurityGroupMetadataItemHandler.get
      summary: Get security group tag
      description: Please use `/v1/securitygroups/{project_id}/{region_id}/{group_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: key1
          examples:
          - key1
          title: Key
          type: string
      responses:
        '200':
          description: Security group tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Security Groups
    delete:
      operationId: SecurityGroupMetadataItemHandler.delete
      summary: Delete security group tag
      description: Please use PATCH `/v1/securitygroups/{project_id}/{region_id}/{group_id}` instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: key1
          examples:
          - key1
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Security Groups
  /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules:
    post:
      operationId: SecurityRulesView.post
      summary: Add security group rule
      description: |-
        Add a new rule to an existing security group.

        **Deprecated** Use `/v2/security_groups/<project_id>/<region_id>/<group_id>/rules` instead.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: group_id
        required: true
        description: Security group ID
        schema:
          description: Security group ID
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Group Id
          type: string
      responses:
        '200':
          description: Security group rule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroupRuleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecurityGroupRuleSerializer'
      tags:
      - Security Groups
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}:
    post:
      operationId: PoliciesViewSet.post
      summary: Create snapshot policy
      description: Create a new snapshot policy with the specified configuration.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLifecyclePolicySerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.create(
              project_id=1,
              region_id=1,
              action="volume_snapshot",
              name="schedule_1",
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.New(context.TODO(), cloud.SnapshotScheduleNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Action:    cloud.SnapshotScheduleNewParamsActionVolumeSnapshot,
          		Name:      "schedule_1",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
    get:
      operationId: PoliciesViewSet.get
      summary: List snapshot policies
      description: List all snapshot policies in the specified project and region.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicyCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          snapshot_schedules = client.cloud.snapshot_schedules.list(
              project_id=1,
              region_id=1,
          )
          print(snapshot_schedules.count)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	snapshotSchedules, err := client.Cloud.SnapshotSchedules.List(context.TODO(), cloud.SnapshotScheduleListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", snapshotSchedules.Count)
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/{policy_id}:
    get:
      operationId: PolicyViewSet.get
      summary: Get snapshot policy
      description: Get detailed information about a specific snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.get(
              policy_id=1,
              project_id=1,
              region_id=1,
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.Get(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
    patch:
      operationId: PolicyViewSet.patch
      summary: Update snapshot policy
      description: Update the configuration of an existing snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLifecyclePolicySerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.update(
              policy_id=1,
              project_id=1,
              region_id=1,
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.Update(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
    delete:
      operationId: PolicyViewSet.delete
      summary: Delete snapshot policy
      description: Delete a specific snapshot policy and all its associated schedules.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.snapshot_schedules.delete(
              policy_id=1,
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.SnapshotSchedules.Delete(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/{policy_id}/add_schedules:
    post:
      operationId: AddSchedulesToPolicyViewSet.post
      summary: Add schedules to policy
      description: Add new schedules to an existing snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSchedulesSerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.add_schedules(
              policy_id=1,
              project_id=1,
              region_id=1,
              schedules=[{
                  "type": "cron"
              }, {
                  "type": "interval"
              }],
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.AddSchedules(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleAddSchedulesParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Schedules: []cloud.SnapshotScheduleAddSchedulesParamsScheduleUnion{{
          				OfCron: &cloud.SnapshotScheduleAddSchedulesParamsScheduleCron{},
          			}, {
          				OfInterval: &cloud.SnapshotScheduleAddSchedulesParamsScheduleInterval{},
          			}},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/{policy_id}/add_volumes_to_policy:
    put:
      operationId: AddVolumesInPolicyViewSet.put
      summary: Add volumes to policy
      description: Add volumes to an existing snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeIdsSerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.add_volumes(
              policy_id=1,
              project_id=1,
              region_id=1,
              volume_ids=["1488e2ce-f906-47fb-ba32-c25a3f63df4f"],
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.AddVolumes(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleAddVolumesParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			VolumeIDs: []string{"1488e2ce-f906-47fb-ba32-c25a3f63df4f"},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/{policy_id}/remove_schedules:
    post:
      operationId: RemoveSchedulesFromPolicyViewSet.post
      summary: Remove schedules from policy
      description: Remove schedules from an existing snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveScheduleSerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.remove_schedules(
              policy_id=1,
              project_id=1,
              region_id=1,
              schedule_ids=["1488e2ce-f906-47fb-ba32-c25a3f63df4f"],
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.RemoveSchedules(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleRemoveSchedulesParams{
          			ProjectID:   gcore.Int(1),
          			RegionID:    gcore.Int(1),
          			ScheduleIDs: []string{"1488e2ce-f906-47fb-ba32-c25a3f63df4f"},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/{policy_id}/remove_volumes_from_policy:
    put:
      operationId: RemoveVolumesFromPolicyViewSet.put
      summary: Remove volumes from policy
      description: Remove volumes from an existing snapshot policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: policy_id
        required: true
        description: Lifecycle policy ID.
        schema:
          description: Lifecycle policy ID.
          example: 1
          examples:
          - 1
          title: Policy Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicySerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeIdsSerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          lifecycle_policy = client.cloud.snapshot_schedules.remove_volumes(
              policy_id=1,
              project_id=1,
              region_id=1,
              volume_ids=["1488e2ce-f906-47fb-ba32-c25a3f63df4f"],
          )
          print(lifecycle_policy.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	lifecyclePolicy, err := client.Cloud.SnapshotSchedules.RemoveVolumes(
          		context.TODO(),
          		1,
          		cloud.SnapshotScheduleRemoveVolumesParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			VolumeIDs: []string{"1488e2ce-f906-47fb-ba32-c25a3f63df4f"},
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", lifecyclePolicy.ID)
          }
  /cloud/v1/lifecycle_policy/{project_id}/{region_id}/estimate_max_policy_usage:
    post:
      operationId: PolicyCostViewSet.post
      summary: Check snapshot policy quota
      description: Calculate the maximum resource usage if all snapshots are created by the policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifecyclePolicyUsageSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLifecyclePolicySerializer'
      tags:
      - Snapshot Schedules
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          response = client.cloud.snapshot_schedules.estimate_max_usage(
              project_id=1,
              region_id=1,
              action="volume_snapshot",
              name="schedule_1",
          )
          print(response.max_cost)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	response, err := client.Cloud.SnapshotSchedules.EstimateMaxUsage(context.TODO(), cloud.SnapshotScheduleEstimateMaxUsageParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Action:    cloud.SnapshotScheduleEstimateMaxUsageParamsActionVolumeSnapshot,
          		Name:      "schedule_1",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", response.MaxCost)
          }
  /cloud/v2/pricing/{project_id}/{region_id}/lifecycle_policy:
    post:
      operationId: LifecyclePolicyPricingV2ViewSet.post
      summary: Preview snapshot policy price
      description: Get the maximum usage cost for resources if the policy creates all snapshots.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LifeCyclePolicyV2ResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingLifecyclePolicyV2Serializer'
      tags:
      - Snapshot Schedules
  /cloud/v1/schedule/{project_id}/{region_id}/{schedule_id}:
    get:
      operationId: SnapshotScheduleViewSet.get
      summary: Get schedule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: schedule_id
        required: true
        description: Schedule ID
        schema:
          description: Schedule ID
          example: 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Schedule Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshot Schedules
    patch:
      operationId: SnapshotScheduleViewSet.patch
      summary: Update schedule
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: schedule_id
        required: true
        description: Schedule ID
        schema:
          description: Schedule ID
          example: 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Schedule Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchScheduleSerializer'
      tags:
      - Snapshot Schedules
  /cloud/v1/pricing/{project_id}/{region_id}/lifecycle_policy:
    post:
      operationId: MaxLifecyclePolicyPricingViewSet.post
      summary: Preview snapshot policy price
      description: Get maximum usage cost of resources if all snapshots are created by the policy
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLifecyclePolicySerializer'
      tags:
      - Snapshot Schedules
  /cloud/v1/pricing/{project_id}/{region_id}/snapshots:
    post:
      operationId: SnapshotPricingHandler.post
      summary: Preview snapshot price
      description: Preview the billing price for snapshots.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SnapshotPricingRequestSerializer'
      tags:
      - Snapshots
  /cloud/v1/snapshots/{project_id}/{region_id}:
    post:
      operationId: SnapshotViewSet.post
      summary: Create snapshot
      description: Create a new snapshot from a volume.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSnapshotSerializer'
      tags:
      - Snapshots
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volume_snapshots.create(
              project_id=1,
              region_id=1,
              name="my-snapshot",
              volume_id="67baa7d1-08ea-4fc5-bef2-6b2465b7d227",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.VolumeSnapshots.New(context.TODO(), cloud.VolumeSnapshotNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		Name:      "my-snapshot",
          		VolumeID:  "67baa7d1-08ea-4fc5-bef2-6b2465b7d227",
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: SnapshotViewSet.get
      summary: List snapshots
      description: |-
        List all volume snapshots in the specified project and region.
        Results can be filtered by volume, instance, schedule, or lifecycle policy.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: instance_id
        required: false
        description: Optional. Filter snapshots by the instance whose volumes were snapshotted
        schema:
          description: Optional. Filter snapshots by the instance whose volumes were snapshotted
          example: 550e8400-e29b-41d4-a716-446655440000
          examples:
          - 550e8400-e29b-41d4-a716-446655440000
          title: Instance Id
          type: string
      - in: query
        name: lifecycle_policy_id
        required: false
        description: Optional. Filter by lifecycle policy ID
        schema:
          description: Optional. Filter by lifecycle policy ID
          example: 1
          examples:
          - 1
          title: Lifecycle Policy Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Limit of items on a single page
        schema:
          default: 1000
          description: Limit of items on a single page
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset in results list
        schema:
          default: 0
          description: Offset in results list
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: schedule_id
        required: false
        description: Optional. Filter by schedule ID
        schema:
          description: Optional. Filter by schedule ID
          example: 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          examples:
          - 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          title: Schedule Id
          type: string
      - in: query
        name: volume_id
        required: false
        description: Optional. Filter by volume ID
        schema:
          description: Optional. Filter by volume ID
          example: 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshots
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.volume_snapshots.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.VolumeSnapshots.List(context.TODO(), cloud.VolumeSnapshotListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/snapshots/{project_id}/{region_id}/{snapshot_id}:
    get:
      operationId: SnapshotInstanceViewSet.get
      summary: Get snapshot
      description: Get detailed information about a specific snapshot.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: snapshot_id
        required: true
        description: Unique identifier of the snapshot
        schema:
          description: Unique identifier of the snapshot
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Snapshot Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshots
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          snapshot = client.cloud.volume_snapshots.get(
              snapshot_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(snapshot.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	snapshot, err := client.Cloud.VolumeSnapshots.Get(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeSnapshotGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", snapshot.ID)
          }
    patch:
      operationId: SnapshotInstanceViewSet.patch
      summary: Update snapshot
      description: Rename snapshot or update tags.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: snapshot_id
        required: true
        description: Unique identifier of the snapshot
        schema:
          description: Unique identifier of the snapshot
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Snapshot Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSnapshotSerializer'
      tags:
      - Snapshots
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          snapshot = client.cloud.volume_snapshots.update(
              snapshot_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(snapshot.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	snapshot, err := client.Cloud.VolumeSnapshots.Update(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeSnapshotUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", snapshot.ID)
          }
    delete:
      operationId: SnapshotInstanceViewSet.delete
      summary: Delete snapshot
      description: Delete a specific snapshot.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: snapshot_id
        required: true
        description: Unique identifier of the snapshot
        schema:
          description: Unique identifier of the snapshot
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Snapshot Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Snapshots
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volume_snapshots.delete(
              snapshot_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.VolumeSnapshots.Delete(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeSnapshotDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/snapshots/{project_id}/{region_id}/{snapshot_id}/metadata:
    put:
      operationId: SnapshotInstanceMetadataViewSet.put
      summary: Replace snapshot tags
      description: |-
        Replace all tags for a snapshot.
        Existing tags are deleted and replaced with the tags from the request.

        Use PATCH /v1/snapshots/{`project_id`}/{`region_id`}/{`snapshot_id`} instead

        Deprecated
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: snapshot_id
        required: true
        description: Unique identifier of the snapshot
        schema:
          description: Unique identifier of the snapshot
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Snapshot Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagsSerializer'
      tags:
      - Snapshots
  /cloud/v1/tasks:
    get:
      operationId: TaskViewSet.get
      summary: List tasks
      description: ''
      parameters:
      - in: query
        name: from_timestamp
        required: false
        description: ISO formatted datetime string. Filter the tasks by creation date greater than or equal to `from_timestamp`
        schema:
          description: ISO formatted datetime string. Filter the tasks by creation date greater than or equal to `from_timestamp`
          format: date-time
          title: From Timestamp
          type: string
      - in: query
        name: is_acknowledged
        required: false
        description: Filter the tasks by their acknowledgement status
        schema:
          description: Filter the tasks by their acknowledgement status
          title: Is Acknowledged
          type: boolean
      - in: query
        name: limit
        required: false
        description: Limit the number of returned tasks. Falls back to default of 10 if not specified. Limited by max limit value of 1000
        schema:
          default: 10
          description: Limit the number of returned tasks. Falls back to default of 10 if not specified. Limited by max limit value of 1000
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Sorting by creation date. Oldest first, or most recent first
        schema:
          $ref: '#/components/schemas/TaskOrderByChoices'
          default: desc
          description: Sorting by creation date. Oldest first, or most recent first
          examples:
          - asc
          - desc
      - in: query
        name: project_id
        required: false
        description: The project ID to filter the tasks by project. Supports multiple values of kind key=value1&key=value2
        schema:
          description: The project ID to filter the tasks by project. Supports multiple values of kind key=value1&key=value2
          example: 123
          examples:
          - 123
          items:
            type: integer
          title: Project Id
          type: array
      - in: query
        name: region_id
        required: false
        description: The region ID to filter the tasks by region. Supports multiple values of kind key=value1&key=value2
        schema:
          description: The region ID to filter the tasks by region. Supports multiple values of kind key=value1&key=value2
          example: 123
          examples:
          - 123
          items:
            type: integer
          title: Region Id
          type: array
      - in: query
        name: sorting
        required: false
        description: (DEPRECATED Use 'order_by' instead) Sorting by creation date. Oldest first, or most recent first
        schema:
          $ref: '#/components/schemas/TaskOrderByChoices'
          default: desc
          deprecated: true
          description: (DEPRECATED Use 'order_by' instead) Sorting by creation date. Oldest first, or most recent first
          examples:
          - asc
          - desc
      - in: query
        name: state
        required: false
        description: Filter the tasks by state. Supports multiple values of kind key=value1&key=value2
        schema:
          description: Filter the tasks by state. Supports multiple values of kind key=value1&key=value2
          example: NEW
          examples:
          - NEW
          - RUNNING
          - FINISHED
          - ERROR
          items:
            $ref: '#/components/schemas/TaskState'
          title: State
          type: array
      - in: query
        name: task_type
        required: false
        description: Filter the tasks by their type one of ['activate_ddos_profile', 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface', 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'convert_fip_to_reserved_fixed_ip', 'convert_port_to_fip', 'convert_reserved_fixed_ip_to_fip', 'create_ai_cluster_gpu', 'create_basic_vm', 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster', 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace', 'create_fip', 'create_gpu_virtual_cluster', 'create_image', 'create_inference_application', 'create_inference_instance', 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy', 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_port', 'create_reserved_fixed_ip', 'create_router', 'create_secret', 'create_security_group', 'create_security_group_rule', 'create_servergroup', 'create_sfs', 'create_slurm_cluster', 'create_slurm_node_set', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_basic_vm', 'delete_bm', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', 'delete_inference_instance', 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy', 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_port', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', 'delete_slurm_cluster', 'delete_slurm_node_set', 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', 'extend_volume', 'failover_loadbalancer', 'hard_reboot_bm', 'hard_reboot_gpu_baremetal_cluster', 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_gpu_baremetal_server', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_bm', 'soft_reboot_gpu_baremetal_cluster', 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster', 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm', 'start_bm', 'start_gpu_baremetal_cluster', 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster', 'start_gpu_virtual_server', 'start_vm', 'stop_bm', 'stop_gpu_baremetal_cluster', 'stop_gpu_baremetal_server', 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm', 'sync_private_flavors', 'update_basic_vm', 'update_bm', 'update_ddos_profile', 'update_floating_ip', 'update_inference_application', 'update_inference_instance', 'update_k8s_cluster_v2', 'update_l7policy', 'update_lbmember', 'update_lbmetadata', 'update_lbpool_health_monitor', 'update_loadbalancer', 'update_network', 'update_port', 'update_port_allowed_address_pairs', 'update_router', 'update_security_group', 'update_sfs', 'update_slurm_cluster', 'update_slurm_node_set', 'update_tags_gpu_virtual_cluster', 'update_vm', 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu', 'upscale_gpu_virtual_cluster']
        schema:
          description: Filter the tasks by their type one of ['activate_ddos_profile', 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface', 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'convert_fip_to_reserved_fixed_ip', 'convert_port_to_fip', 'convert_reserved_fixed_ip_to_fip', 'create_ai_cluster_gpu', 'create_basic_vm', 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster', 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace', 'create_fip', 'create_gpu_virtual_cluster', 'create_image', 'create_inference_application', 'create_inference_instance', 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy', 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_port', 'create_reserved_fixed_ip', 'create_router', 'create_secret', 'create_security_group', 'create_security_group_rule', 'create_servergroup', 'create_sfs', 'create_slurm_cluster', 'create_slurm_node_set', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_basic_vm', 'delete_bm', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', 'delete_inference_instance', 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy', 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_port', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', 'delete_slurm_cluster', 'delete_slurm_node_set', 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', 'extend_volume', 'failover_loadbalancer', 'hard_reboot_bm', 'hard_reboot_gpu_baremetal_cluster', 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_gpu_baremetal_server', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_bm', 'soft_reboot_gpu_baremetal_cluster', 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster', 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm', 'start_bm', 'start_gpu_baremetal_cluster', 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster', 'start_gpu_virtual_server', 'start_vm', 'stop_bm', 'stop_gpu_baremetal_cluster', 'stop_gpu_baremetal_server', 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm', 'sync_private_flavors', 'update_basic_vm', 'update_bm', 'update_ddos_profile', 'update_floating_ip', 'update_inference_application', 'update_inference_instance', 'update_k8s_cluster_v2', 'update_l7policy', 'update_lbmember', 'update_lbmetadata', 'update_lbpool_health_monitor', 'update_loadbalancer', 'update_network', 'update_port', 'update_port_allowed_address_pairs', 'update_router', 'update_security_group', 'update_sfs', 'update_slurm_cluster', 'update_slurm_node_set', 'update_tags_gpu_virtual_cluster', 'update_vm', 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu', 'upscale_gpu_virtual_cluster']
          title: Task Type
          type: string
      - in: query
        name: to_timestamp
        required: false
        description: ISO formatted datetime string. Filter the tasks by creation date less than or equal to `to_timestamp`
        schema:
          description: ISO formatted datetime string. Filter the tasks by creation date less than or equal to `to_timestamp`
          format: date-time
          title: To Timestamp
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Tasks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.tasks.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Tasks.List(context.TODO(), cloud.TaskListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/tasks/{project_id}/{region_id}/active:
    get:
      operationId: TasksActiveInProjectViewSet.get
      summary: List active tasks
      description: ''
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      - in: query
        name: limit
        required: false
        description: Limit the number of returned tasks. Falls back to default of 10 if not specified. Limited by max limit value of 1000
        schema:
          default: 10
          description: Limit the number of returned tasks. Falls back to default of 10 if not specified. Limited by max limit value of 1000
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: task_type
        required: false
        description: Filter the tasks by their type one of ['activate_ddos_profile', 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface', 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'convert_fip_to_reserved_fixed_ip', 'convert_port_to_fip', 'convert_reserved_fixed_ip_to_fip', 'create_ai_cluster_gpu', 'create_basic_vm', 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster', 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace', 'create_fip', 'create_gpu_virtual_cluster', 'create_image', 'create_inference_application', 'create_inference_instance', 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy', 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_port', 'create_reserved_fixed_ip', 'create_router', 'create_secret', 'create_security_group', 'create_security_group_rule', 'create_servergroup', 'create_sfs', 'create_slurm_cluster', 'create_slurm_node_set', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_basic_vm', 'delete_bm', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', 'delete_inference_instance', 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy', 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_port', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', 'delete_slurm_cluster', 'delete_slurm_node_set', 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', 'extend_volume', 'failover_loadbalancer', 'hard_reboot_bm', 'hard_reboot_gpu_baremetal_cluster', 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_gpu_baremetal_server', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_bm', 'soft_reboot_gpu_baremetal_cluster', 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster', 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm', 'start_bm', 'start_gpu_baremetal_cluster', 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster', 'start_gpu_virtual_server', 'start_vm', 'stop_bm', 'stop_gpu_baremetal_cluster', 'stop_gpu_baremetal_server', 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm', 'sync_private_flavors', 'update_basic_vm', 'update_bm', 'update_ddos_profile', 'update_floating_ip', 'update_inference_application', 'update_inference_instance', 'update_k8s_cluster_v2', 'update_l7policy', 'update_lbmember', 'update_lbmetadata', 'update_lbpool_health_monitor', 'update_loadbalancer', 'update_network', 'update_port', 'update_port_allowed_address_pairs', 'update_router', 'update_security_group', 'update_sfs', 'update_slurm_cluster', 'update_slurm_node_set', 'update_tags_gpu_virtual_cluster', 'update_vm', 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu', 'upscale_gpu_virtual_cluster']
        schema:
          description: Filter the tasks by their type one of ['activate_ddos_profile', 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface', 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'convert_fip_to_reserved_fixed_ip', 'convert_port_to_fip', 'convert_reserved_fixed_ip_to_fip', 'create_ai_cluster_gpu', 'create_basic_vm', 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster', 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace', 'create_fip', 'create_gpu_virtual_cluster', 'create_image', 'create_inference_application', 'create_inference_instance', 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy', 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_port', 'create_reserved_fixed_ip', 'create_router', 'create_secret', 'create_security_group', 'create_security_group_rule', 'create_servergroup', 'create_sfs', 'create_slurm_cluster', 'create_slurm_node_set', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_basic_vm', 'delete_bm', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', 'delete_inference_instance', 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy', 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_port', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', 'delete_slurm_cluster', 'delete_slurm_node_set', 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', 'extend_volume', 'failover_loadbalancer', 'hard_reboot_bm', 'hard_reboot_gpu_baremetal_cluster', 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_gpu_baremetal_server', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_bm', 'soft_reboot_gpu_baremetal_cluster', 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster', 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm', 'start_bm', 'start_gpu_baremetal_cluster', 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster', 'start_gpu_virtual_server', 'start_vm', 'stop_bm', 'stop_gpu_baremetal_cluster', 'stop_gpu_baremetal_server', 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm', 'sync_private_flavors', 'update_basic_vm', 'update_bm', 'update_ddos_profile', 'update_floating_ip', 'update_inference_application', 'update_inference_instance', 'update_k8s_cluster_v2', 'update_l7policy', 'update_lbmember', 'update_lbmetadata', 'update_lbpool_health_monitor', 'update_loadbalancer', 'update_network', 'update_port', 'update_port_allowed_address_pairs', 'update_router', 'update_security_group', 'update_sfs', 'update_slurm_cluster', 'update_slurm_node_set', 'update_tags_gpu_virtual_cluster', 'update_vm', 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu', 'upscale_gpu_virtual_cluster']
          items:
            type: string
          title: Task Type
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Tasks
  /cloud/v1/tasks/{task_id}:
    get:
      operationId: TaskInstanceViewSet.get
      summary: Get task
      description: ''
      parameters:
      - in: path
        name: task_id
        required: true
        description: Task ID
        schema:
          description: Task ID
          title: Task Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Tasks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task = client.cloud.tasks.get(
              "task_id",
          )
          print(task.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	task, err := client.Cloud.Tasks.Get(context.TODO(), "task_id")
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", task.ID)
          }
  /cloud/v1/tasks/{task_id}/acknowledge:
    post:
      operationId: TaskInstanceAcknowledge.post
      summary: Acknowledge one task
      description: ''
      parameters:
      - in: path
        name: task_id
        required: true
        description: Task ID
        schema:
          description: Task ID
          title: Task Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Tasks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task = client.cloud.tasks.acknowledge_one(
              "task_id",
          )
          print(task.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	task, err := client.Cloud.Tasks.AcknowledgeOne(context.TODO(), "task_id")
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", task.ID)
          }
  /cloud/v1/tasks/acknowledge_all:
    post:
      operationId: TasksAcknowledgeAll.post
      summary: Acknowledge all tasks
      description: ''
      parameters:
      - in: query
        name: project_id
        required: false
        description: Project ID
        schema:
          description: Project ID
          title: Project Id
          type: integer
      - in: query
        name: region_id
        required: false
        description: Region ID
        schema:
          description: Region ID
          title: Region Id
          type: integer
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Tasks
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.tasks.acknowledge_all()
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Tasks.AcknowledgeAll(context.TODO(), cloud.TaskAcknowledgeAllParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/tasks/acknowledge:
    post:
      operationId: TasksAcknowledge.post
      summary: Acknowledge tasks
      description: |-
        Deprecated

        Use `/v1/tasks/acknowledge_all` instead
      parameters:
      - in: query
        name: project_id
        required: false
        description: Project ID of the project where tasks should be acknowledged
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Project ID of the project where tasks should be acknowledged
          examples:
          - 123
          title: Project Id
      - in: query
        name: region_id
        required: false
        description: Region ID of the region where tasks should be acknowledged
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Region ID of the region where tasks should be acknowledged
          examples:
          - 123
          title: Region Id
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeprecatedTasksAcknowledgeBodySerializer'
      tags:
      - Tasks
  /cloud/v1/user_actions:
    get:
      operationId: UserActionLogClientViewSet.get
      summary: List user actions
      description: Retrieve user action log for one client or a set of projects
      parameters:
      - in: query
        name: action_type
        required: false
        description: User action type. Several options can be specified.
        schema:
          description: User action type. Several options can be specified.
          example: &id037
          - activate
          - delete
          examples:
          - *id037
          items:
            $ref: '#/components/schemas/ActionType'
          title: Action Type
          type: array
      - in: query
        name: api_group
        required: false
        description: API group that requested action belongs to. Several options can be specified.
        schema:
          description: API group that requested action belongs to. Several options can be specified.
          example: &id038
          - ai_cluster
          - image
          examples:
          - *id038
          items:
            enum:
            - ai_cluster
            - baremetal
            - basic_vm
            - caas_container
            - caas_key
            - caas_pull_secret
            - dbaas_postgres
            - ddos_profile
            - faas_function
            - faas_key
            - faas_namespace
            - file_shares
            - floating_ip
            - image
            - inference_at_the_edge
            - instance
            - instance_isolation
            - k8s_cluster
            - k8s_cluster_template
            - k8s_pool
            - laas
            - laas_topic
            - lb_health_monitor
            - lb_l7policy
            - lb_l7rule
            - lblistener
            - lbpool
            - lbpool_member
            - lifecycle_policy
            - lifecycle_policy_volume_member
            - loadbalancer
            - network
            - port
            - project
            - quota_limit_request
            - registry
            - reservation
            - reserved_fixed_ip
            - role
            - router
            - rtbh
            - secret
            - securitygroup
            - securitygrouprule
            - servergroup
            - shared_flavor
            - shared_image
            - shared_network
            - slurm
            - snapshot
            - snapshot_schedule
            - ssh_key
            - subnet
            - user
            - vip_ip_addresses
            - volume
            type: string
          title: Api Group
          type: array
      - in: query
        name: from_timestamp
        required: false
        description: ISO formatted datetime string. Starting timestamp from which user actions are requested
        schema:
          description: ISO formatted datetime string. Starting timestamp from which user actions are requested
          example: '2019-11-14T10:30:32Z'
          examples:
          - '2019-11-14T10:30:32Z'
          format: date-time
          title: From Timestamp
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Sorting by timestamp. Oldest first, or most recent first
        schema:
          $ref: '#/components/schemas/UserActionOrderByChoices'
          default: desc
          description: Sorting by timestamp. Oldest first, or most recent first
          examples:
          - asc
      - in: query
        name: project_id
        required: false
        description: Project ID. Several options can be specified.
        schema:
          description: Project ID. Several options can be specified.
          example: &id039
          - 1
          - 2
          - 3
          examples:
          - *id039
          items:
            format: int64
            type: integer
          title: Project Id
          type: array
      - in: query
        name: region_id
        required: false
        description: Region ID. Several options can be specified.
        schema:
          description: Region ID. Several options can be specified.
          example: &id040
          - 1
          - 2
          - 3
          examples:
          - *id040
          items:
            format: int64
            type: integer
          title: Region Id
          type: array
      - in: query
        name: resource_id
        required: false
        description: Resource ID. Several options can be specified.
        schema:
          description: Resource ID. Several options can be specified.
          items:
            type: string
          title: Resource Id
          type: array
      - in: query
        name: search_field
        required: false
        description: Extra search field for common object properties such as name, IP address, or other, depending on the `resource_type`
        schema:
          description: Extra search field for common object properties such as name, IP address, or other, depending on the `resource_type`
          example: default
          examples:
          - default
          title: Search Field
          type: string
      - in: query
        name: sorting
        required: false
        description: (DEPRECATED Use 'order_by' instead) Sorting by timestamp. Oldest first, or most recent first
        schema:
          $ref: '#/components/schemas/UserActionOrderByChoices'
          default: desc
          deprecated: true
          description: (DEPRECATED Use 'order_by' instead) Sorting by timestamp. Oldest first, or most recent first
          examples:
          - asc
      - in: query
        name: source_user_ips
        required: false
        description: Originating IP address of the client making the request. Several options can be specified.
        schema:
          description: Originating IP address of the client making the request. Several options can be specified.
          example: &id041
          - 203.0.113.42
          - 192.168.1.100
          examples:
          - *id041
          items:
            type: string
          title: Source User Ips
          type: array
      - in: query
        name: to_timestamp
        required: false
        description: ISO formatted datetime string. Ending timestamp until which user actions are requested
        schema:
          description: ISO formatted datetime string. Ending timestamp until which user actions are requested
          example: '2019-11-14T10:30:32Z'
          examples:
          - '2019-11-14T10:30:32Z'
          format: date-time
          title: To Timestamp
          type: string
      - in: query
        name: user_agents
        required: false
        description: User-Agent string identifying the client making the request. Several options can be specified.
        schema:
          description: User-Agent string identifying the client making the request. Several options can be specified.
          example: &id042
          - Mozilla/5.0
          - MyApp/1.0.0
          examples:
          - *id042
          items:
            type: string
          title: User Agents
          type: array
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.audit_logs.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.AuditLogs.List(context.TODO(), cloud.AuditLogListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/user_actions/amqp_subscriptions/{subscription_id}:
    get:
      operationId: UserActionLogAmqpSubscription.get
      summary: Get ampq subscription
      description: ''
      parameters:
      - in: path
        name: subscription_id
        required: true
        description: Subscription ID
        schema:
          description: Subscription ID
          example: 17
          examples:
          - 17
          title: Subscription Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionSubscriptionMqResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
    patch:
      operationId: UserActionLogAmqpSubscription.patch
      summary: Update amqp subscription
      description: ''
      parameters:
      - in: path
        name: subscription_id
        required: true
        description: Subscription ID
        schema:
          description: Subscription ID
          example: 17
          examples:
          - 17
          title: Subscription Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionSubscriptionMqResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserActionSubscriptionUpdateSerializer'
      tags:
      - User Actions
  /cloud/v1/user_actions/amqp_subscriptions_list:
    get:
      operationId: UserActionLogAmqpSubscribtionListViewSet.get
      summary: List amqp subscriptions
      description: Retrieve all existing AMQP subscriptions for user action logs.
      parameters:
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionsSubscriptionMqCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
  /cloud/v1/user_actions/subscribe:
    post:
      operationId: UserActionLogSubscribtionViewSet.post
      summary: Create subscription
      description: |-
        Subscribe to the user action log. Subscription is created for the `client_id` that is taken from the JWT token.
        For details on how to obtain a token, refer to the "Account / Login" section of the documentation.
      parameters: []
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserActionSubscriptionSerializer'
      tags:
      - User Actions
  /cloud/v1/user_actions/subscribe_amqp:
    post:
      operationId: UserActionLogSubscribtionMqViewSet.post
      summary: Create amqp subscription
      description: |-
        Subscribe to the user action log over AMQP. Subscription is created for the `client_id` that is taken from the
        JWT token. See how to get the token in the Account / Login section of this documentation
      parameters: []
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserActionSubscriptionMqSerializer'
      tags:
      - User Actions
  /cloud/v1/user_actions/subscribe_amqp_test:
    post:
      operationId: UserActionAmqpSubscriptionTest.post
      summary: Send test message
      description: Sending a test message to a specified message broker
      parameters: []
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestMessageMQBodySerializer'
      tags:
      - User Actions
  /cloud/v1/user_actions/subscriptions_list:
    get:
      operationId: UserActionLogSubscribtionListViewSet.get
      summary: List subscriptions
      description: Retrieve all existing HTTP webhook subscriptions for user action logs.
      parameters:
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionsSubscriptionCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
  /cloud/v1/user_actions/unsubscribe:
    post:
      operationId: UserActionLogSubscribtionCancelViewSet.post
      summary: Delete subscription
      description: Unsubscribe from the user action log
      parameters: []
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
  /cloud/v1/user_actions/unsubscribe_amqp:
    post:
      operationId: UserActionLogSubscribtionMqCancelViewSet.post
      summary: Delete amqp subscription
      description: Unsubscribe from the user action log over AMQP
      parameters: []
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Actions
  /cloud/v1/users:
    get:
      operationId: UsersListHandler.get
      summary: List users
      description: List all users in the account.
      parameters:
      - in: query
        name: limit
        required: false
        description: Limit the number of returned items. Falls back to default of 1000 if not specified. Limited by max limit value of 1000
        schema:
          default: 1000
          description: Limit the number of returned items. Falls back to default of 1000 if not specified. Limited by max limit value of 1000
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: user_id
        required: false
        description: User ID for filtering
        schema:
          description: User ID for filtering
          example: 123
          examples:
          - 123
          title: User Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientUsersCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Role Assignments
  /cloud/v1/users/assignments:
    post:
      operationId: AssignmentHandler.post
      summary: Create role assignment
      description: Assign a role to an existing user in the specified scope.
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleAssignmentSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAssignmentSerializer'
      tags:
      - User Role Assignments
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          role_assignment = client.cloud.users.role_assignments.create(
              role="ClientAdministrator",
              user_id=777,
          )
          print(role_assignment.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	roleAssignment, err := client.Cloud.Users.RoleAssignments.New(context.TODO(), cloud.UserRoleAssignmentNewParams{
          		Role:   cloud.UserRoleAssignmentNewParamsRoleClientAdministrator,
          		UserID: 777,
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", roleAssignment.ID)
          }
    get:
      operationId: AssignmentHandler.get
      summary: List role assignments
      description: List all role assignments in the specified scope.
      parameters:
      - in: query
        name: limit
        required: false
        description: Limit the number of returned items. Falls back to default of 1000 if not specified. Limited by max limit value of 1000
        schema:
          default: 1000
          description: Limit the number of returned items. Falls back to default of 1000 if not specified. Limited by max limit value of 1000
          example: 100
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: project_id
        required: false
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      - in: query
        name: user_id
        required: false
        description: User ID for filtering
        schema:
          description: User ID for filtering
          example: 123
          examples:
          - 123
          title: User Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleAssignmentCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Role Assignments
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.users.role_assignments.list()
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Users.RoleAssignments.List(context.TODO(), cloud.UserRoleAssignmentListParams{})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/users/assignments/{assignment_id}:
    patch:
      operationId: PatchDeleteAssignmentHandler.patch
      summary: Update role assignment
      description: Modify an existing role assignment for a user.
      parameters:
      - in: path
        name: assignment_id
        required: true
        description: Assignment ID
        schema:
          description: Assignment ID
          example: 123
          examples:
          - 123
          title: Assignment Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAssignmentSerializer'
      tags:
      - User Role Assignments
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          role_assignment_updated_deleted = client.cloud.users.role_assignments.update(
              assignment_id=123,
              role="ClientAdministrator",
              user_id=777,
          )
          print(role_assignment_updated_deleted.assignment_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	roleAssignmentUpdatedDeleted, err := client.Cloud.Users.RoleAssignments.Update(
          		context.TODO(),
          		123,
          		cloud.UserRoleAssignmentUpdateParams{
          			Role:   cloud.UserRoleAssignmentUpdateParamsRoleClientAdministrator,
          			UserID: 777,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", roleAssignmentUpdatedDeleted.AssignmentID)
          }
    delete:
      operationId: PatchDeleteAssignmentHandler.delete
      summary: Delete role assignment
      description: Delete an existing role assignment.
      parameters:
      - in: path
        name: assignment_id
        required: true
        description: Assignment ID
        schema:
          description: Assignment ID
          example: 123
          examples:
          - 123
          title: Assignment Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - User Role Assignments
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          role_assignment_updated_deleted = client.cloud.users.role_assignments.delete(
              123,
          )
          print(role_assignment_updated_deleted.assignment_id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	roleAssignmentUpdatedDeleted, err := client.Cloud.Users.RoleAssignments.Delete(context.TODO(), 123)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", roleAssignmentUpdatedDeleted.AssignmentID)
          }
  /cloud/v1/users/roles:
    get:
      operationId: RoleListHandler.get
      summary: List roles
      description: |-
        List of available roles is now exposed as an enum in endpoints where they are used,
        for example (/v1/users/assignments).
      parameters:
      - in: query
        name: project_id
        required: false
        description: Project ID
        schema:
          description: Project ID
          example: 123
          examples:
          - 123
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - User Role Assignments
  /cloud/v1/pricing/{project_id}/{region_id}/volumes:
    post:
      operationId: VolumePricingHandler.post
      summary: Preview volume price
      description: Preview the billing price of a volume's type and size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          format: int64
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          format: int64
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPriceResponseSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeOrSnapshotPricingRequestSerializer'
      tags:
      - Volumes
  /cloud/v1/volumes/{project_id}/{region_id}:
    post:
      operationId: VolumeViewSet.post
      summary: Create volume
      description: |-
        Create a new volume in the project and region.
        The volume can be created from scratch, from an image, or from a snapshot.
        Optionally attach the volume to an instance during creation.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVolumeSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volumes.create(
              project_id=1,
              region_id=1,
              image_id="169942e0-9b53-42df-95ef-1a8b6525c2bd",
              name="volume-1",
              size=10,
              source="image",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Volumes.New(context.TODO(), cloud.VolumeNewParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          		OfNewVolume: &cloud.VolumeNewParamsBodyNewVolume{
          			Name: "volume-1",
          			Size: 10,
          		},
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
    get:
      operationId: VolumeViewSet.get
      summary: List volumes
      description: |-
        Retrieve a list of volumes in the project and region.
        The list can be filtered by various parameters like bootable status,
        metadata/tags, attachments, instance ID, name, and ID.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: query
        name: bootable
        required: false
        description: Filter by bootable field
        schema:
          description: Filter by bootable field
          example: false
          examples:
          - false
          title: Bootable
          type: boolean
      - in: query
        name: cluster_id
        required: false
        description: Filter volumes by k8s cluster ID
        schema:
          description: Filter volumes by k8s cluster ID
          example: t12345
          examples:
          - t12345
          title: Cluster Id
          type: string
      - in: query
        name: has_attachments
        required: false
        description: Filter by the presence of attachments
        schema:
          description: Filter by the presence of attachments
          example: true
          examples:
          - true
          title: Has Attachments
          type: boolean
      - in: query
        name: id_part
        required: false
        description: Filter the volume list result by the ID part of the volume
        schema:
          description: Filter the volume list result by the ID part of the volume
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          title: Id Part
          type: string
      - in: query
        name: instance_id
        required: false
        description: Filter volumes by instance ID
        schema:
          description: Filter volumes by instance ID
          example: 169942e0-9b53-42df-95ef-1a8b6525c2bd
          examples:
          - 169942e0-9b53-42df-95ef-1a8b6525c2bd
          format: uuid4
          title: Instance Id
          type: string
      - in: query
        name: limit
        required: false
        description: Optional. Limit the number of returned items
        schema:
          default: 1000
          description: Optional. Limit the number of returned items
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name_part
        required: false
        description: Filter volumes by `name_part` inclusion in volume name.Any substring can be used and volumes will be returned with names containing the substring.
        schema:
          description: Filter volumes by `name_part` inclusion in volume name.Any substring can be used and volumes will be returned with names containing the substring.
          example: test
          examples:
          - test
          title: Name Part
          type: string
      - in: query
        name: offset
        required: false
        description: Optional. Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Optional. Offset value is used to exclude the first set of records from the result
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: tag_key
        required: false
        description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
        schema:
          description: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
          example: &id043
          - key1
          - key2
          examples:
          - *id043
          items:
            description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
            example: my-tag
            examples:
            - my-tag
            maxLength: 255
            minLength: 1
            pattern: ^[^\s=]+$
            type: string
          title: Tag Key
          type: array
      - in: query
        name: tag_key_value
        required: false
        description: Optional. Filter by tag key-value pairs.
        schema:
          contentMediaType: application/json
          contentSchema:
            propertyNames:
              description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              examples:
              - my-tag
              maxLength: 255
              minLength: 1
              pattern: ^[^\s=]+$
            type: object
            additionalProperties:
              description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
              example: my-tag-value
              examples:
              - my-tag-value
              maxLength: 255
              minLength: 1
              pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
              type: string
          description: Optional. Filter by tag key-value pairs.
          example: &id044
            key: value
          examples:
          - *id044
          title: Tag Key Value
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          page = client.cloud.volumes.list(
              project_id=1,
              region_id=1,
          )
          page = page.results[0]
          print(page.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	page, err := client.Cloud.Volumes.List(context.TODO(), cloud.VolumeListParams{
          		ProjectID: gcore.Int(1),
          		RegionID:  gcore.Int(1),
          	})
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", page)
          }
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}:
    get:
      operationId: VolumeInstanceViewSet.get
      summary: Get volume
      description: Retrieve detailed information about a specific volume.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          volume = client.cloud.volumes.get(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(volume.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	volume, err := client.Cloud.Volumes.Get(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeGetParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", volume.ID)
          }
    patch:
      operationId: VolumeInstanceViewSet.patch
      summary: Update volume
      description: Rename a volume or update tags
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVolumeSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          volume = client.cloud.volumes.update(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(volume.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	volume, err := client.Cloud.Volumes.Update(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeUpdateParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", volume.ID)
          }
    delete:
      operationId: VolumeInstanceViewSet.delete
      summary: Delete volume
      description: |-
        Delete a volume and all its snapshots.
        The volume must be in an available state to be deleted.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      - in: query
        name: snapshots
        required: false
        description: Comma separated list of snapshot IDs to be deleted with the volume.
        schema:
          description: Comma separated list of snapshot IDs to be deleted with the volume.
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483,726ecfcc-7fd0-4e30-a86e-7892524aa484
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483,726ecfcc-7fd0-4e30-a86e-7892524aa484
          title: Snapshots
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volumes.delete(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Volumes.Delete(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeDeleteParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/volumes/{project_id}/{region_id}/{volume_id}/attach:
    post:
      operationId: VolumeInstanceAttachViewV2.post
      summary: Attach volume
      description: 'Attach the volume to instance. Note: ultra volume can only be attached to an instance with shared flavor'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachVolumeToInstanceSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volumes.attach_to_instance(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
              instance_id="169942e0-9b53-42df-95ef-1a8b6525c2bd",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Volumes.AttachToInstance(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeAttachToInstanceParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			InstanceID: "169942e0-9b53-42df-95ef-1a8b6525c2bd",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v2/volumes/{project_id}/{region_id}/{volume_id}/detach:
    post:
      operationId: VolumeInstanceDetachViewV2.post
      summary: Detach volume
      description: Detach the volume from instance
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceIdSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volumes.detach_from_instance(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
              instance_id="169942e0-9b53-42df-95ef-1a8b6525c2bd",
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Volumes.DetachFromInstance(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeDetachFromInstanceParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			InstanceID: "169942e0-9b53-42df-95ef-1a8b6525c2bd",
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/extend:
    post:
      operationId: VolumeInstanceExtendView.post
      summary: Extend volume
      description: |-
        Increase the size of a volume.
        The volume must be in an available or in-use state to be extended.
        The new size must be greater than the current size.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SizeSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          task_id_list = client.cloud.volumes.resize(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
              size=100,
          )
          print(task_id_list.tasks)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	taskIDList, err := client.Cloud.Volumes.Resize(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeResizeParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          			Size:      100,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", taskIDList.Tasks)
          }
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/retype:
    post:
      operationId: VolumeInstanceRetypeView.post
      summary: Change volume type
      description: |-
        Change the type of a volume.
        The volume must not have any snapshots to change its type.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeRetypeSerializer'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          volume = client.cloud.volumes.change_type(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
              volume_type="ssd_hiiops",
          )
          print(volume.id)
      - lang: Go
        source: |
          package main

          import (
          	"context"
          	"fmt"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	volume, err := client.Cloud.Volumes.ChangeType(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeChangeTypeParams{
          			ProjectID:  gcore.Int(1),
          			RegionID:   gcore.Int(1),
          			VolumeType: cloud.VolumeChangeTypeParamsVolumeTypeSsdHiiops,
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          	fmt.Printf("%+v\n", volume.ID)
          }
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/revert:
    post:
      operationId: VolumeInstanceRevertView.post
      summary: Revert volume
      description: Revert a volume to its last snapshot. The volume must be in an available state to be reverted.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      tags:
      - Volumes
      x-codeSamples:
      - lang: Python
        source: |-
          import os
          from gcore import Gcore

          client = Gcore(
              api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
          )
          client.cloud.volumes.revert_to_last_snapshot(
              volume_id="726ecfcc-7fd0-4e30-a86e-7892524aa483",
              project_id=1,
              region_id=1,
          )
      - lang: Go
        source: |
          package main

          import (
          	"context"

          	"github.com/G-Core/gcore-go"
          	"github.com/G-Core/gcore-go/cloud"
          	"github.com/G-Core/gcore-go/option"
          )

          func main() {
          	client := gcore.NewClient(
          		option.WithAPIKey("My API Key"),
          	)
          	err := client.Cloud.Volumes.RevertToLastSnapshot(
          		context.TODO(),
          		"726ecfcc-7fd0-4e30-a86e-7892524aa483",
          		cloud.VolumeRevertToLastSnapshotParams{
          			ProjectID: gcore.Int(1),
          			RegionID:  gcore.Int(1),
          		},
          	)
          	if err != nil {
          		panic(err.Error())
          	}
          }
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/attach:
    post:
      operationId: VolumeInstanceAttachView.post
      summary: Attach volume
      description: |-
        Attach a volume to an instance.
        The volume must be in an available state to be attached.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachVolumeToInstanceSerializer'
      tags:
      - Volumes
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/detach:
    post:
      operationId: VolumeInstanceDetachView.post
      summary: Detach volume
      description: |-
        Detach a volume from an instance.
        The volume must be in-use state to be detached.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceIdSerializer'
      tags:
      - Volumes
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/metadata:
    post:
      operationId: VolumeMetadataHandler.post
      summary: Create or update volume tags
      description: |-
        Create or update one or more tags for a volume.
        If a tag does not exist, it gets created.
        If a tag already exists, its value is overwritten.

        Use PATCH /v1/volumes/{`project_id`}/{`region_id`}/{`volume_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Volumes
    get:
      operationId: VolumeMetadataHandler.get
      summary: List volume tags
      description: |-
        Retrieve all tags associated with a volume.

        Use GET /v1/volumes/{`project_id`}/{`region_id`}/{`volume_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagCollectionSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Volumes
    put:
      operationId: VolumeMetadataHandler.put
      summary: Replace volume tags
      description: |-
        Delete all existing tags and replace them with the tags from the request.

        Use PATCH /v1/volumes/{`project_id`}/{`region_id`}/{`volume_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagsSerializer'
      tags:
      - Volumes
  /cloud/v1/volumes/{project_id}/{region_id}/{volume_id}/metadata_item:
    get:
      operationId: VolumeMetadataItemHandler.get
      summary: Get volume tag
      description: |-
        Retrieve a specific tag by its key from a volume.

        Use GET /v1/volumes/{`project_id`}/{`region_id`}/{`volume_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: cost-center
          examples:
          - cost-center
          title: Key
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSerializer'
        '400':
          $ref: '#/components/responses/ProblemBadRequestOnReadWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Volumes
    delete:
      operationId: VolumeMetadataItemHandler.delete
      summary: Delete volume tag
      description: |-
        Delete a specific tag by its key from a volume.

        Use PATCH /v1/volumes/{`project_id`}/{`region_id`}/{`volume_id`} instead
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
      - in: path
        name: region_id
        required: true
        description: Region ID
        schema:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
      - in: path
        name: volume_id
        required: true
        description: Volume ID
        schema:
          description: Volume ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Volume Id
          type: string
      - in: query
        name: key
        required: true
        description: Tag key
        schema:
          description: Tag key
          example: cost-center
          examples:
          - cost-center
          title: Key
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/ProblemBadRequestWithLegacyKeys'
        '401':
          $ref: '#/components/responses/ProblemUnauthorizedWithLegacyKeys'
        '403':
          $ref: '#/components/responses/ProblemForbiddenWithLegacyKeys'
        '404':
          $ref: '#/components/responses/ProblemNotFoundWithLegacyKeys'
        '409':
          $ref: '#/components/responses/ProblemConflictWithLegacyKeys'
        '500':
          $ref: '#/components/responses/ProblemInternalServerErrorWithLegacyKeys'
        '503':
          $ref: '#/components/responses/ProblemServiceUnavailableWithLegacyKeys'
      deprecated: true
      tags:
      - Volumes
components:
  schemas:
    AIAppCatalog:
      properties:
        components:
          additionalProperties:
            $ref: '#/components/schemas/AIAppCatalogComponent'
          description: Configurable components of the application
          example: &id045
            model:
              description: Llama 3.2 1B is a multilingual large language model developed by Meta.
              display_name: Llama 3.2 1B
              exposable: true
              license_url: https://example.com/license
              parameters:
                prefix_cache:
                  default_value: '1'
                  description: Controls automatic prefix caching; set to 1 to speed up inference for repetitive prompts, or 0 to disable for diverse inputs.
                  display_name: prefix_cache
                  examples:
                  - '0'
                  - '1'
              readme: Detailed documentation
              required: true
              suitable_flavors:
              - name: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - *id045
          title: Components
          type: object
        cover_url:
          description: URL to the application's cover image
          example: https://cdn.example.com
          examples:
          - https://cdn.example.com
          title: Cover Url
          type: string
        description:
          description: Brief overview of the application
          example: This is a demo application
          examples:
          - This is a demo application
          title: Description
          type: string
        display_name:
          description: Human-readable name of the application
          example: Llama-3.2-1B-Instruct
          examples:
          - Llama-3.2-1B-Instruct
          title: Display Name
          type: string
        name:
          description: Unique application identifier in the catalog
          example: demo-app
          examples:
          - demo-app
          title: Name
          type: string
        readme:
          description: Detailed documentation or instructions
          example: Detailed documentation
          examples:
          - Detailed documentation
          title: Readme
          type: string
        tags:
          additionalProperties:
            type: string
          description: Categorization key-value pairs
          example: &id046
            category: Model
            model_docs_endpoint: /docs
            model_inference_engine: vllm
            model_owner: Meta
            model_type: Text Generation
          examples:
          - *id046
          title: Tags
          type: object
      required:
      - name
      - display_name
      - cover_url
      - description
      - readme
      - tags
      - components
      title: AIAppCatalog
      type: object
    AIAppCatalogComponent:
      properties:
        description:
          description: Summary of the component's functionality
          example: Llama 3.2 1B is a multilingual large language model developed by Meta.
          examples:
          - Llama 3.2 1B is a multilingual large language model developed by Meta.
          title: Description
          type: string
        display_name:
          description: Human-readable name of the component
          example: meta-llama/Llama-3.2-3B-Instruct
          examples:
          - meta-llama/Llama-3.2-3B-Instruct
          title: Display Name
          type: string
        exposable:
          description: Indicates whether this component can expose a public-facing endpoint (e.g., for inference or API access).
          example: true
          examples:
          - true
          title: Exposable
          type: boolean
        license_url:
          description: URL to the component's license information
          example: https://example.com/license
          examples:
          - https://example.com/license
          title: License Url
          type: string
        parameters:
          additionalProperties:
            $ref: '#/components/schemas/AIAppCatalogParameter'
          description: Configurable parameters for the component
          example: &id047
            prefix_cache:
              default_value: '1'
              description: Controls automatic prefix caching; set to 1 to speed up inference for repetitive prompts, or 0 to disable for diverse inputs.
              display_name: prefix_cache
              examples:
              - '0'
              - '1'
          examples:
          - *id047
          title: Parameters
          type: object
        readme:
          description: Detailed documentation or usage instructions
          example: Detailed documentation
          examples:
          - Detailed documentation
          title: Readme
          type: string
        required:
          description: Specifies if the component is required for the application
          example: true
          examples:
          - true
          title: Required
          type: boolean
        suitable_flavors:
          description: List of compatible flavors or configurations
          items:
            $ref: '#/components/schemas/AIAppShortFlavor'
          title: Suitable Flavors
          type: array
      required:
      - display_name
      - license_url
      - description
      - readme
      - suitable_flavors
      - parameters
      - required
      - exposable
      title: AIAppCatalogComponent
      type: object
    AIAppCatalogList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AIAppCatalog'
          title: Results
          type: array
      required:
      - count
      - results
      title: AIAppCatalogList
      type: object
    AIAppCatalogParameter:
      properties:
        default_value:
          description: Default value assigned if not provided
          title: Default Value
          type: string
        description:
          description: Description of the parameter's purpose
          title: Description
          type: string
        display_name:
          description: User-friendly name of the parameter
          title: Display Name
          type: string
        enum_values:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Allowed values when type is "enum"
          examples:
          - 'true'
          - 'false'
          title: Enum Values
        max_value:
          anyOf:
          - type: string
          - type: 'null'
          description: Maximum value (applies to integer and float types)
          examples:
          - '100'
          - '111.1'
          title: Max Value
        min_value:
          anyOf:
          - type: string
          - type: 'null'
          description: Minimum value (applies to integer and float types)
          examples:
          - '0'
          - '1.1'
          title: Min Value
        pattern:
          anyOf:
          - type: string
          - type: 'null'
          description: Regexp pattern when type is "string"
          examples:
          - ^[a-zA-Z]+$
          title: Pattern
        required:
          description: Indicates is parameter mandatory
          title: Required
          type: boolean
        type:
          description: Determines the type of the parameter
          enum:
          - enum
          - float
          - integer
          - string
          example: string
          examples:
          - string
          title: Type
          type: string
      required:
      - display_name
      - description
      - default_value
      - required
      - type
      - min_value
      - max_value
      - enum_values
      - pattern
      title: AIAppCatalogParameter
      type: object
    AIAppShortFlavor:
      properties:
        name:
          description: Name of the flavor
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Name
          type: string
      required:
      - name
      title: AIAppShortFlavor
      type: object
    AIClusterCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AIClusterSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: AIClusterCollectionSerializer
      type: object
    AIClusterFlavorWithPriceCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AIClusterFlavorWithPriceSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: AIClusterFlavorWithPriceCollectionSerializer
      type: object
    AIClusterFlavorWithPriceSerializer:
      properties:
        capacity:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of available instances of given configuration
          examples:
          - 10
          title: Capacity
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        disabled:
          description: Disabled flavor flag
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        flavor_id:
          description: Flavor ID is the same as the name
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor Name
          type: string
        hardware_description:
          $ref: '#/components/schemas/FlavorHardwareDescriptionSerializer'
          description: Additional hardware description.
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          default: null
          description: Price status for the UI
          examples:
          - show
        resource_class:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Flavor resource class for mapping to hardware capacity
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Resource Class
      required:
      - flavor_id
      - flavor_name
      - disabled
      - hardware_description
      title: AI Flavor Object
      type: object
    AIClusterNetworkSerializer:
      properties:
        network_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Network ID
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          title: Network Id
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Network ID the subnet belongs to. Port will be plugged in this network
          examples:
          - 2c5eae5b-f76a-4c23-98ff-c77bc0a8bab5
          title: Port Id
        subnet_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Port is assigned to IP address from the subnet
          examples:
          - 91200a6c-07e0-42aa-98da-32d1f6545ae7
          title: Subnet Id
        type:
          description: Network type
          title: Type
          type: string
      required:
      - type
      - network_id
      - subnet_id
      - port_id
      title: AIClusterNetworkSerializer
      type: object
    AIClusterSerializer:
      properties:
        cluster_id:
          description: GPU Cluster ID
          example: d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          format: uuid4
          title: Cluster Id
          type: string
        cluster_name:
          description: GPU Cluster Name
          example: my-gpu-cluster
          examples:
          - my-gpu-cluster
          title: Cluster Name
          type: string
        cluster_status:
          $ref: '#/components/schemas/AIClusterStatusEnum'
          description: GPU Cluster status
          examples:
          - ACTIVE
        created_at:
          anyOf:
          - type: string
          - type: 'null'
          description: Datetime when the cluster was created
          examples:
          - '2025-04-17 12:05:22.597284'
          title: Created At
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          deprecated: true
          description: Task that created this entity
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          title: Creator Task Id
        flavor:
          description: Flavor ID is the same as the name
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        image_id:
          description: Image ID
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          format: uuid4
          title: Image Id
          type: string
        image_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Image name
          examples:
          - ubuntu-22.04-x64-nvidia-a100/h100-550-12.4-eni
          title: Image Name
        interfaces:
          anyOf:
          - items:
              $ref: '#/components/schemas/AIClusterNetworkSerializer'
            type: array
          - type: 'null'
          description: Networks managed by user and associated with the cluster
          title: Interfaces
        password:
          anyOf:
          - type: string
          - type: 'null'
          description: A password for a bare metal server. This parameter is used to set a password for the "Admin" user on a Windows instance, a default user or a new user on a Linux instance
          examples:
          - my-password
          title: Password
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        servers:
          description: GPU cluster servers
          items:
            $ref: '#/components/schemas/GPUClusterServerSerializer'
          title: Servers
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Keypair name to inject into new cluster(s)
          examples:
          - my-ssh-key
          title: Ssh Key Name
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id048
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id048
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task ID associated with the cluster
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          title: Task Id
        task_status:
          anyOf:
          - $ref: '#/components/schemas/TaskDetailedStateEnum'
          - type: 'null'
          description: Task status
          examples:
          - FINISHED
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          description: 'String in base64 format. Must not be passed together with ''username'' or ''password''. Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          title: User Data
        username:
          anyOf:
          - type: string
          - type: 'null'
          description: A name of a new user in the Linux instance. It may be passed with a 'password' parameter
          examples:
          - my-username
          title: Username
      required:
      - region_id
      - region
      - project_id
      - cluster_id
      - cluster_name
      - cluster_status
      - task_id
      - task_status
      - creator_task_id
      - created_at
      - flavor
      - image_id
      - image_name
      - interfaces
      - ssh_key_name
      - user_data
      - username
      - password
      - servers
      - tags
      title: AIClusterSerializer
      type: object
    AIClusterStatusEnum:
      enum:
      - ACTIVE
      - CREATING
      - DEGRADED
      - DELETING
      - ERROR
      - NEW
      - REBOOTING
      - REBUILDING
      - RESIZING
      - SHUTOFF
      title: AIClusterStatusEnum
      type: string
    AIImageCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AIImageSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: AIImageCollectionSerializer
      type: object
    AIImageSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: 'An image architecture type: aarch64, `x86_64`.'
          examples:
          - x86_64
        created_at:
          description: Datetime when the image was created
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - b10dd116-07f5-4225-abb7-f42da5cb78fb
          title: Creator Task Id
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Image description
          examples:
          - string
          title: Description
        disk_format:
          description: Disk format
          example: raw
          examples:
          - raw
          title: Disk Format
          type: string
        display_order:
          anyOf:
          - type: integer
          - type: 'null'
          description: ''
          examples:
          - 2010
          title: Display Order
        gpu_driver:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the GPU driver vendor
          examples:
          - nvidia
          title: Gpu Driver
        gpu_driver_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Type of the GPU driver
          examples:
          - open
          title: Gpu Driver Type
        gpu_driver_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of the installed GPU driver
          examples:
          - 570.148.08
          title: Gpu Driver Version
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          anyOf:
          - $ref: '#/components/schemas/HwMachineTypeEnum'
          - type: 'null'
          description: A virtual chipset type.
          examples:
          - q35
        id:
          description: Image ID
          example: 44e136a7-15c1-4b5f-a086-20b7b3237d40
          examples:
          - 44e136a7-15c1-4b5f-a086-20b7b3237d40
          title: Id
          type: string
        is_baremetal:
          description: Set to true if the image will be used by bare metal servers.
          example: false
          examples:
          - false
          title: Is Baremetal
          type: boolean
        min_disk:
          description: Minimal boot volume required
          example: 3
          examples:
          - 3
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal VM RAM required
          example: 0
          examples:
          - 0
          title: Min Ram
          type: integer
        name:
          description: Image display name
          example: ubuntu-20.10-x64
          examples:
          - ubuntu-20.10-x64
          title: Name
          type: string
        os_distro:
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          example: ubuntu
          examples:
          - ubuntu
          title: Os Distro
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          description: The operating system installed on the image.
          examples:
          - linux
        os_version:
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          example: '20.10'
          examples:
          - '20.10'
          title: Os Version
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          description: Price status for the UI
          examples:
          - show
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        sdk_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Poplar SDK version
          examples:
          - 3.0.0
          title: Sdk Version
        size:
          anyOf:
          - type: integer
          - type: 'null'
          description: Image size in bytes
          examples:
          - 2361393152
          title: Size
        ssh_key:
          anyOf:
          - $ref: '#/components/schemas/SshKeyEnum'
          - type: 'null'
          description: Whether the image supports SSH key or not
          examples:
          - allow
        status:
          description: Image status, i.e. active
          example: active
          examples:
          - active
          title: Status
          type: string
        tags_v2:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id049
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id049
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags V2
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the image was updated
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Updated At
          type: string
        vipu_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: vIPU controller version
          examples:
          - 1.16.0
          title: Vipu Version
        visibility:
          description: Image visibility. Globally visible images are public
          example: public
          examples:
          - public
          title: Visibility
          type: string
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      - project_id
      - region_id
      - region
      - id
      - name
      - description
      - status
      - visibility
      - min_disk
      - min_ram
      - os_distro
      - os_version
      - ssh_key
      - display_order
      - created_at
      - updated_at
      - size
      - creator_task_id
      - task_id
      - disk_format
      - is_baremetal
      - os_type
      - hw_firmware_type
      - hw_machine_type
      - architecture
      - tags_v2
      - gpu_driver
      - gpu_driver_version
      - gpu_driver_type
      title: Poplar Image schema
      type: object
    AccessLevelChoices:
      enum:
      - ro
      - rw
      title: AccessLevelChoices
      type: string
    AccessRuleCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AccessRuleSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: AccessRuleCollectionSerializer
      type: object
    AccessRuleSerializer:
      properties:
        access_level:
          $ref: '#/components/schemas/AccessLevelChoices'
          description: Access mode
          examples:
          - ro
        access_to:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: Source IP or network
          examples:
          - 192.168.1.1
          - 2001:db8::1
          - 10.0.0.0/24
          - fd00::/8
          - 0.0.0.0/0
          - ::/0
          title: Access To
        id:
          description: Access Rule ID
          example: 4f09d7dd-f1f8-4352-b015-741b2192db47
          examples:
          - 4f09d7dd-f1f8-4352-b015-741b2192db47
          format: uuid4
          title: Id
          type: string
        state:
          $ref: '#/components/schemas/AccessRuleStateChoices'
          description: Access Rule state
          examples:
          - active
      required:
      - access_level
      - access_to
      - id
      - state
      title: AccessRuleSerializer
      type: object
    AccessRuleStateChoices:
      enum:
      - active
      - applying
      - denying
      - error
      - new
      - queued_to_apply
      - queued_to_deny
      title: AccessRuleStateChoices
      type: string
    AccessStatusSerializer:
      properties:
        http_code:
          description: HTTP status code of the response from the Advanced DDoS protection service.
          example: 200
          examples:
          - 200
          title: Http Code
          type: integer
        is_accessible:
          description: Is the current region covered by the Advanced DDoS protection features.
          example: true
          examples:
          - true
          title: Is Accessible
          type: boolean
        message:
          description: Message from the Advanced DDoS protection service.
          example: Advanced DDoS protection is accessible.
          examples:
          - Advanced DDoS protection is accessible.
          title: Message
          type: string
      required:
      - is_accessible
      - http_code
      - message
      title: AccessStatusSerializer
      type: object
    ActionType:
      enum:
      - activate
      - attach
      - change_logging_resources
      - create
      - create_access_rule
      - deactivate
      - delete
      - delete_access_rule
      - delete_metadata
      - detach
      - disable_logging
      - disable_portsecurity
      - download
      - enable_logging
      - enable_portsecurity
      - failover
      - get_certificate
      - get_console
      - get_kubeconfig
      - get_logs
      - put_into_servergroup
      - reboot
      - reboot_hard
      - rebuild
      - regenerate_credentials
      - remove_from_servergroup
      - replace
      - replace_metadata
      - resize
      - resume
      - retype
      - revert
      - scale_down
      - scale_up
      - start
      - stop
      - suspend
      - update
      - update_metadata
      - upgrade
      title: ActionType
      type: string
    ActivateDeactivateProfileSerializer:
      properties:
        active:
          description: Controls whether to enable or disable the DDoS protection profile
          title: Active
          type: boolean
        bgp:
          description: Controls whether to enable or disable BGP routing for DDoS protection traffic
          title: Bgp
          type: boolean
      required:
      - active
      - bgp
      title: ActivateDeactivateProfileSerializer
      type: object
    ActivateWithInstanceSerializer:
      properties:
        activate_profile:
          default: true
          description: Automatically activates the DDoS protection profile when the associated instance is started
          example: true
          examples:
          - true
          title: Activate Profile
          type: boolean
      title: ActivateWithInstanceSerializer
      type: object
    AddRouterInterfaceSerializer:
      properties:
        ip_address:
          description: IP address to assign for router's interface, if not specified, address will be selected automatically
          format: ipvanyaddress
          title: Ip Address
          type: string
        subnet_id:
          description: Subnet ID on which router interface will be created
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      title: AddRouterInterfaceSerializer
      type: object
    AddSchedulesSerializer:
      properties:
        schedules:
          description: List of schedules associated with the policy.
          example: &id050
          - day_of_week: fri, tue
            hour: 0, 20
            max_quantity: 2
            minute: '30'
            resource_name_template: CRON reserve snap of the volume {volume_id}
            retention_time:
              weeks: 2
            timezone: UTC
            type: cron
          - days: 0
            hours: 2
            max_quantity: 2
            minutes: 1
            resource_name_template: INTERVAL reserve snap of the volume {volume_id}
            retention_time:
              days: 1
            type: interval
            weeks: 0
          examples:
          - *id050
          items:
            $ref: '#/components/schemas/CreateScheduleSerializer'
          title: Schedules
          type: array
      required:
      - schedules
      title: AddSchedulesSerializer
      type: object
    AllClientQuotasLimitsSerializer:
      properties:
        global_limits:
          $ref: '#/components/schemas/CreateGlobalQuotasLimitsSerializer'
          description: Global entity quota limits
        regional_limits:
          description: Regions and their quota limits
          items:
            $ref: '#/components/schemas/RegionalQuotasLimitsSerializer'
          title: Regional Limits
          type: array
      title: Global and regional quota limits of the client.
      type: object
    AllClientQuotasSerializer:
      properties:
        global_quotas:
          $ref: '#/components/schemas/GlobalQuotasSerializer'
          description: Global entity quotas
        regional_quotas:
          description: Regional entity quotas. Only contains initialized quotas.
          items:
            $ref: '#/components/schemas/RegionalQuotasSerializer'
          title: Regional Quotas
          type: array
      title: Global and regional quotas of the client.
      type: object
    AllVolumeTypeEnum:
      enum:
      - cold
      - ssd_hiiops
      - ssd_local
      - ssd_lowlatency
      - standard
      - ultra
      title: AllVolumeTypeEnum
      type: string
    AllowedAddressPairsResponseSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: Subnet mask or IP address of the allowed address pair
          examples:
          - 192.168.123.20
          title: Ip Address
      required:
      - ip_address
      title: AllowedAddressPairsResponseSerializer
      type: object
    AllowedAddressPairsSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: Subnet mask or IP address of the port specified in `allowed_address_pairs`
          title: Ip Address
        mac_address:
          anyOf:
          - type: string
          - type: 'null'
          description: MAC address of the port specified in `allowed_address_pairs`. Null when the pair has no explicit MAC.
          title: Mac Address
      required:
      - ip_address
      - mac_address
      title: AllowedAddressPairsSerializer
      type: object
    AnySubnetInterfaceInputSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          description: Floating IP config for this subnet attachment
        ip_family:
          default: ipv4
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack'
          enum:
          - dual
          - ipv4
          - ipv6
          example: ipv4
          examples:
          - ipv4
          title: Ip Family
          type: string
        name:
          description: Interface name
          maxLength: 37
          title: Name
          type: string
        network_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
          - 59905c8e-2619-420a-b046-536096473370
          format: uuid4
          title: Network Id
          type: string
        port_security_enabled:
          description: Controls port security for this interface. When omitted, the default applies (port security enabled, default security group attached). When false, the port is created with port security off and no security group attached; `security_groups` must not be set in that case. Not allowed for interfaces on a public network, nor for bare metal servers without a DPU (their ports cannot enforce port security).
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          example: &id051
          - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
          - *id051
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: any_subnet
          title: Type
          type: string
      required:
      - network_id
      - type
      title: AnySubnetInterfaceInputSerializer
      type: object
    AnySubnetInterfaceOutputSerializer:
      properties:
        floating_ip:
          anyOf:
          - $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          - type: 'null'
          description: Floating IP config for this subnet attachment
        ip_address:
          anyOf:
          - type: string
          - type: 'null'
          description: Fixed IP address
          examples:
          - 192.168.6.9
          title: Ip Address
        ip_family:
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack'
          enum:
          - dual
          - ipv4
          - ipv6
          example: ipv4
          examples:
          - ipv4
          title: Ip Family
          type: string
        name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          description: Interface name
          title: Name
        network_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
          - 59905c8e-2619-420a-b046-536096473370
          title: Network Id
          type: string
        port_security_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Shows the port security state of this interface. A `null` value means port security is on, with the default security group attached. A `true` or `false` value shows the state set at creation.
          examples:
          - true
          title: Port Security Enabled
        security_groups:
          description: Resolved security groups applied to this interface.
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        type:
          const: any_subnet
          title: Type
          type: string
      required:
      - network_id
      - name
      - security_groups
      - port_security_enabled
      - type
      - ip_family
      - ip_address
      - floating_ip
      title: AnySubnetInterfaceOutputSerializer
      type: object
    ApiKeyCreateRequestSerializer:
      properties:
        description:
          description: Description of the API Key.
          example: This key is used for accessing the inference service.
          examples:
          - This key is used for accessing the inference service.
          maxLength: 300
          title: Description
          type: string
        expires_at:
          description: Expiration date of the API Key in ISO 8601 format.
          example: '2024-10-01T12:00:00Z'
          examples:
          - '2024-10-01T12:00:00Z'
          title: Expires At
          type: string
        name:
          description: Name of the API Key.
          example: my-api-key
          examples:
          - my-api-key
          maxLength: 63
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
          title: Name
          type: string
      required:
      - name
      title: ApiKeyCreateRequestSerializer
      type: object
    ApiKeyListResponseSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GetApiKeyResponseSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ApiKeyListResponseSerializer
      type: object
    ApiKeyUpdateRequestSerializer:
      properties:
        description:
          anyOf:
          - maxLength: 300
            type: string
          - type: 'null'
          description: Description of the API Key.
          examples:
          - This key is used for accessing the inference service.
          title: Description
      title: ApiKeyUpdateRequestSerializer
      type: object
    ApiKeysOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - expire.asc
      - expire.desc
      - name.asc
      - name.desc
      title: ApiKeysOrderByChoices
      type: string
    AppDeployment:
      properties:
        api_keys:
          description: List of API keys for the application
          example: &id052
          - key1
          - key2
          examples:
          - *id052
          items:
            type: string
          title: Api Keys
          type: array
        application_name:
          description: Identifier of the application template from the catalog
          title: Application Name
          type: string
        components_configuration:
          additionalProperties:
            $ref: '#/components/schemas/ComponentConfiguration'
          description: 'Mapping of component names to their configuration (e.g., `"model": {...}`)'
          title: Components Configuration
          type: object
        name:
          description: Unique identifier of the deployment
          title: Name
          type: string
        regions:
          description: Geographical regions where the deployment is active
          example: &id053
          - 1
          - 2
          examples:
          - *id053
          items:
            type: integer
          title: Regions
          type: array
        status:
          $ref: '#/components/schemas/Status'
          description: Current state of the deployment across regions
      required:
      - application_name
      - name
      - api_keys
      - regions
      - components_configuration
      - status
      title: AppDeployment
      type: object
    AppDeploymentCreateRequest:
      properties:
        api_keys:
          description: List of API keys for the application
          example: &id054
          - key1
          - key2
          examples:
          - *id054
          items:
            type: string
          title: Api Keys
          type: array
        application_name:
          description: Identifier of the application from the catalog
          example: demo-app
          examples:
          - demo-app
          title: Application Name
          type: string
        components_configuration:
          additionalProperties:
            $ref: '#/components/schemas/CreateComponentConfiguration'
          description: 'Mapping of component names to their configuration (e.g., `"model": {...}`)'
          example: &id055
            model:
              exposed: true
              flavor: inference-16vcpu-232gib-1xh100-80gb
              scale:
                max: 1
                min: 1
          examples:
          - *id055
          title: Components Configuration
          type: object
        name:
          description: Desired name for the new deployment
          example: my-app-deployment
          examples:
          - my-app-deployment
          maxLength: 15
          title: Name
          type: string
        regions:
          description: Geographical regions where the deployment should be created
          example: &id056
          - 1
          - 2
          examples:
          - *id056
          items:
            type: integer
          title: Regions
          type: array
      required:
      - application_name
      - name
      - regions
      - components_configuration
      title: AppDeploymentCreateRequest
      type: object
    AppDeploymentList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AppDeployment'
          title: Results
          type: array
      required:
      - count
      - results
      title: AppDeploymentList
      type: object
    AppDeploymentPatchRequest:
      properties:
        api_keys:
          description: List of API keys for the application
          example: &id057
          - key1
          - key2
          examples:
          - *id057
          items:
            type: string
          title: Api Keys
          type: array
        components_configuration:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/ComponentConfigurationPatch'
            - type: 'null'
          description: 'Mapping of component names to their configuration (e.g., `"model": {...}`)'
          example: &id058
            model:
              scale:
                max: 2
          examples:
          - *id058
          - model:
              flavor: inference-16vcpu-232gib-1xh100-80gb
          title: Components Configuration
          type: object
        regions:
          description: Geographical regions to be updated for the deployment
          example: &id059
          - 1
          - 2
          examples:
          - *id059
          items:
            type: integer
          title: Regions
          type: array
      title: AppDeploymentPatchRequest
      type: object
    AppInference:
      properties:
        flavor:
          description: Flavor of the inference
          title: Flavor
          type: string
        name:
          description: Name of the inference
          title: Name
          type: string
      required:
      - name
      - flavor
      title: AppInference
      type: object
    AppTemplateCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/AppTemplateSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: AppTemplateCollectionSerializer
      type: object
    AppTemplateConfigSerializer:
      properties:
        description:
          description: Description
          example: tf2_hostname.description
          examples:
          - tf2_hostname.description
          title: Description
          type: string
        label:
          description: Label
          example: tf2_hostname.label
          examples:
          - tf2_hostname.label
          title: Label
          type: string
        name:
          description: Name
          example: tf2_hostname
          examples:
          - tf2_hostname
          title: Name
          type: string
        required:
          description: Required
          example: true
          examples:
          - true
          title: Required
          type: boolean
        type:
          description: Type
          example: string
          examples:
          - string
          title: Type
          type: string
      required:
      - description
      - label
      - name
      - required
      - type
      title: AppTemplateConfigSerializer
      type: object
    AppTemplateConfigWithDefaultSerializer:
      properties:
        default:
          type: string
          description: Default value
          example: Server name
          examples:
          - Server name
          title: Default
        description:
          description: Description
          example: tf2_hostname.description
          examples:
          - tf2_hostname.description
          title: Description
          type: string
        label:
          description: Label
          example: tf2_hostname.label
          examples:
          - tf2_hostname.label
          title: Label
          type: string
        name:
          description: Name
          example: tf2_hostname
          examples:
          - tf2_hostname
          title: Name
          type: string
        required:
          description: Required
          example: true
          examples:
          - true
          title: Required
          type: boolean
        type:
          description: Type
          example: string
          examples:
          - string
          title: Type
          type: string
      required:
      - description
      - label
      - name
      - required
      - type
      - default
      title: AppTemplateConfigWithDefaultSerializer
      type: object
    AppTemplateSerializer:
      properties:
        app_config:
          anyOf:
          - items:
              anyOf:
              - $ref: '#/components/schemas/AppTemplateConfigSerializer'
              - $ref: '#/components/schemas/AppTemplateConfigWithDefaultSerializer'
            type: array
          - type: 'null'
          description: Config
          title: App Config
        category:
          description: Application category
          example: gaming
          examples:
          - gaming
          title: Category
          type: string
        description:
          description: Description
          example: tf2server.description
          examples:
          - tf2server.description
          title: Description
          type: string
        developer:
          description: Developer name
          example: Team Fortress 2 team
          examples:
          - Team Fortress 2 team
          title: Developer
          type: string
        display_name:
          description: Application display name
          example: Team Fortress 2 server
          examples:
          - Team Fortress 2 server
          title: Display Name
          type: string
        id:
          description: Application id
          example: tf2server
          examples:
          - tf2server
          title: Id
          type: string
        image_name:
          description: Image used to deploy the application
          example: ubuntu-20.04-x64
          examples:
          - ubuntu-20.04-x64
          title: Image Name
          type: string
        min_disk:
          description: Application disk requirements
          example: 30
          examples:
          - 30
          title: Min Disk
          type: integer
        min_ram:
          description: Application RAM requirements
          example: 16
          examples:
          - 16
          title: Min Ram
          type: integer
        min_vcpus:
          anyOf:
          - type: integer
          - type: 'null'
          description: Application VCPUs requirements
          examples:
          - 4
          title: Min Vcpus
        os_name:
          description: OS name
          example: Ubuntu 20.04
          examples:
          - Ubuntu 20.04
          title: Os Name
          type: string
        os_version:
          anyOf:
          - type: number
          - type: 'null'
          description: OS version
          examples:
          - 20.04
          title: Os Version
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Region id
          examples:
          - 1
          title: Region Id
        short_description:
          description: Short description
          example: tf2server.short_description
          examples:
          - tf2server.short_description
          title: Short Description
          type: string
        usage:
          description: Usage
          example: tf2server.usage
          examples:
          - tf2server.usage
          title: Usage
          type: string
        version:
          description: Application version
          example: latest
          examples:
          - latest
          title: Version
          type: string
        website:
          description: Application website
          example: www.tf2server.com
          examples:
          - www.tf2server.com
          title: Website
          type: string
      required:
      - id
      - region_id
      - category
      - version
      - os_name
      - os_version
      - display_name
      - short_description
      - description
      - website
      - developer
      - image_name
      - usage
      - min_disk
      - min_vcpus
      - min_ram
      - app_config
      title: AppTemplateSerializer
      type: object
    ApplicationComponentPricingSerializer:
      properties:
        containers:
          description: List of containers for the component.
          items:
            $ref: '#/components/schemas/ApplicationContainerPricingSerializer'
          minItems: 1
          title: Containers
          type: array
      required:
      - containers
      title: ApplicationComponentPricingSerializer
      type: object
    ApplicationContainerPricingSerializer:
      properties:
        flavor_name:
          description: Flavor name for this specific container
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Flavor Name
          type: string
        scale:
          $ref: '#/components/schemas/ApplicationContainerScalePricingSerializer'
          description: Scale for the container
      required:
      - scale
      - flavor_name
      title: ApplicationContainerPricingSerializer
      type: object
    ApplicationContainerScalePricingSerializer:
      properties:
        max:
          description: Maximum number of containers
          example: 3
          examples:
          - 3
          maximum: 10000
          minimum: 1
          title: Max
          type: integer
      required:
      - max
      title: ApplicationContainerScalePricingSerializer
      type: object
    AppliedSpec:
      properties:
        image_id:
          title: Image Id
          type: string
        servers_settings:
          additionalProperties: true
          title: Servers Settings
          type: object
      required:
      - image_id
      - servers_settings
      title: AppliedSpec
      type: object
    ApplySettingsBody:
      properties:
        max_disruption:
          $ref: '#/components/schemas/MaxDisruption'
          default: none
          description: The most disruptive operation the request is permitted to perform on existing servers. Applying settings re-images the servers, so this must be set to 'rebuild' to proceed. The default 'none' always fails with a validation error and exists only to prevent accidental destructive applies.
          examples:
          - rebuild
      title: ApplySettingsBody
      type: object
    AssignFloatingIPSerializer:
      properties:
        fixed_ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          default: null
          description: Fixed IP address
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        port_id:
          description: Port ID
          example: ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          format: uuid4
          title: Port Id
          type: string
      required:
      - port_id
      title: AssignFloatingIPSerializer
      type: object
    AssignmentSerializer:
      properties:
        assignment_id:
          description: Assignment ID
          example: 12
          examples:
          - 12
          title: Assignment Id
          type: integer
      required:
      - assignment_id
      title: AssignmentSerializer
      type: object
    AttachInterfaceAnySubnetRequestSerializer:
      properties:
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/AttachInterfaceDdosProfileSerializer'
          - type: 'null'
          default: null
          description: Advanced DDoS protection.
        interface_name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          default: null
          description: Interface name.
          title: Interface Name
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: null
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both. If omitted, the API selects `ipv4` when the network has an IPv4 subnet, `ipv6` otherwise.
        network_id:
          description: Port will get an IP address in this network subnet.
          format: uuid4
          title: Network Id
          type: string
        port_group:
          default: 0
          description: Each group will be added to a separate trunk.
          example: 0
          examples:
          - 0
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        security_groups:
          anyOf:
          - items:
              $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
            type: array
          - type: 'null'
          default: null
          description: List of security group IDs.
          title: Security Groups
        type:
          const: any_subnet
          default: any_subnet
          description: Port will get an IP address in the subnet with the largest count of free IPs. If the instance already has an IP address in a subnet of `network_id` with the same IP family, the API tries to reuse that subnet.
          title: Type
          type: string
      required:
      - network_id
      title: AttachInterfaceAnySubnetRequestSerializer
      type: object
    AttachInterfaceBodySerializer:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/AttachInterfaceAnySubnetRequestSerializer'
          external: '#/components/schemas/AttachInterfaceExternalRequestSerializer'
          reserved_fixed_ip: '#/components/schemas/AttachInterfaceReservedFixedIpRequestSerializer'
          subnet: '#/components/schemas/AttachInterfaceSubnetRequestSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AttachInterfaceExternalRequestSerializer'
      - $ref: '#/components/schemas/AttachInterfaceSubnetRequestSerializer'
      - $ref: '#/components/schemas/AttachInterfaceAnySubnetRequestSerializer'
      - $ref: '#/components/schemas/AttachInterfaceReservedFixedIpRequestSerializer'
      title: AttachInterfaceBodySerializer
    AttachInterfaceDdosProfileFieldSerializer:
      properties:
        base_field:
          description: ID of DDoS profile field.
          title: Base Field
          type: integer
        field_value:
          default: null
          description: Complex value for the DDoS profile field.
          title: Field Value
        value:
          anyOf:
          - maxLength: 500
            type: string
          - type: 'null'
          default: null
          description: Basic type value.
          title: Value
      required:
      - base_field
      title: AttachInterfaceDdosProfileFieldSerializer
      type: object
    AttachInterfaceDdosProfileSerializer:
      properties:
        fields:
          description: Protection parameters.
          items:
            $ref: '#/components/schemas/AttachInterfaceDdosProfileFieldSerializer'
          title: Fields
          type: array
        profile_template:
          description: DDoS profile template ID.
          title: Profile Template
          type: integer
        profile_template_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: DDoS profile template name.
          title: Profile Template Name
      required:
      - profile_template
      title: AttachInterfaceDdosProfileSerializer
      type: object
    AttachInterfaceExternalRequestSerializer:
      properties:
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/AttachInterfaceDdosProfileSerializer'
          - type: 'null'
          default: null
          description: Advanced DDoS protection.
        interface_name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          default: null
          description: Interface name.
          title: Interface Name
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: null
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both. If omitted, the API selects `ipv4` when the network has an IPv4 subnet, `ipv6` otherwise.
        port_group:
          default: 0
          description: Each group will be added to a separate trunk.
          example: 0
          examples:
          - 0
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        security_groups:
          anyOf:
          - items:
              $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
            type: array
          - type: 'null'
          default: null
          description: List of security group IDs.
          title: Security Groups
        type:
          const: external
          default: external
          description: Port will get an IP address in a subnet of the external network with the largest count of free IPs. If the instance already has an IP address in a subnet of the external network with the same IP family, the API tries to reuse that subnet.
          title: Type
          type: string
      title: AttachInterfaceExternalRequestSerializer
      type: object
    AttachInterfaceReservedFixedIpRequestSerializer:
      properties:
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/AttachInterfaceDdosProfileSerializer'
          - type: 'null'
          default: null
          description: Advanced DDoS protection.
        interface_name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          default: null
          description: Interface name.
          title: Interface Name
        port_group:
          default: 0
          description: Each group will be added to a separate trunk.
          example: 0
          examples:
          - 0
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        port_id:
          description: Port ID.
          format: uuid4
          title: Port Id
          type: string
        security_groups:
          anyOf:
          - items:
              $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
            type: array
          - type: 'null'
          default: null
          description: List of security group IDs.
          title: Security Groups
        type:
          const: reserved_fixed_ip
          default: reserved_fixed_ip
          title: Type
          type: string
      required:
      - port_id
      title: AttachInterfaceReservedFixedIpRequestSerializer
      type: object
    AttachInterfaceSubnetRequestSerializer:
      properties:
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/AttachInterfaceDdosProfileSerializer'
          - type: 'null'
          default: null
          description: Advanced DDoS protection.
        interface_name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          default: null
          description: Interface name.
          title: Interface Name
        port_group:
          default: 0
          description: Each group will be added to a separate trunk.
          example: 0
          examples:
          - 0
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        security_groups:
          anyOf:
          - items:
              $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
            type: array
          - type: 'null'
          default: null
          description: List of security group IDs.
          title: Security Groups
        subnet_id:
          description: Port will get an IP address from this subnet.
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          default: subnet
          title: Type
          type: string
      required:
      - subnet_id
      title: AttachInterfaceSubnetRequestSerializer
      type: object
    AttachVolumeToInstanceSerializer:
      description: Attach volume to instance schema
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags).
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        instance_id:
          description: Instance ID.
          example: 169942e0-9b53-42df-95ef-1a8b6525c2bd
          examples:
          - 169942e0-9b53-42df-95ef-1a8b6525c2bd
          format: uuid4
          title: Instance Id
          type: string
      required:
      - instance_id
      title: AttachVolumeToInstanceSerializer
      type: object
    AttachmentSerializer:
      properties:
        resource_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Resource ID. Null when the attachment's resource is unknown.
          examples:
          - 83ed4ea6-bcae-4100-9e4d-36e541ff919b
          title: Resource Id
        resource_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Resource type. Null when the attachment's resource type is unknown.
          examples:
          - instance
          title: Resource Type
      required:
      - resource_type
      - resource_id
      title: AttachmentSerializer
      type: object
    AvailableBaremetalFlavorsBodySerializer:
      properties:
        apptemplate_id:
          description: Apptemplate ID. Either `image_id` or `apptemplate_id` is required
          example: tf2server
          examples:
          - tf2server
          title: Apptemplate Id
          type: string
        image_id:
          description: Image ID. Either `image_id` or `apptemplate_id` is required
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          title: Image Id
          type: string
      title: AvailableBaremetalFlavorsBodySerializer
      type: object
    AvailableInstanceNamesPydanticSerializer:
      properties:
        allowed_bm_name_templates:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Clients will only be able to use these strings as bare metal server "bm_name_templates".
          examples:
          - - ed-b9-{ip_octets}
          title: Allowed Bm Name Templates
        allowed_bm_name_win_templates:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Clients will only be able to use these strings as bare metal server "bm_name_templates".
          examples:
          - - ed-c4-{two_ip_octets}
          title: Allowed Bm Name Win Templates
        allowed_name_templates:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: If "name_templates_limited" is True, this is the list of allowed instance name templates.
          examples:
          - - ed-c4-{ip_octets}
          title: Allowed Name Templates
        allowed_name_win_templates:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: If "name_templates_limited" is True, this is the list of allowed windows instance name templates.
          examples:
          - - ed-b9-{one_ip_octet}
          title: Allowed Name Win Templates
        custom_name_allowed:
          description: If true, instances can be created using "names" field.
          example: false
          examples:
          - false
          title: Custom Name Allowed
          type: boolean
        name_templates_limited:
          description: If true, only specific strings are allowed in "name_templates" fields.
          example: true
          examples:
          - true
          title: Name Templates Limited
          type: boolean
      required:
      - custom_name_allowed
      - name_templates_limited
      - allowed_name_templates
      - allowed_bm_name_templates
      - allowed_name_win_templates
      - allowed_bm_name_win_templates
      title: Instance available names schema
      type: object
    AwsIamData:
      properties:
        aws_access_key_id:
          description: AWS IAM key ID.
          example: fake-key-id
          examples:
          - fake-key-id
          title: Aws Access Key Id
          type: string
        aws_secret_access_key:
          description: AWS IAM secret key.
          example: fake-secret
          examples:
          - fake-secret
          title: Aws Secret Access Key
          type: string
      required:
      - aws_access_key_id
      - aws_secret_access_key
      title: AwsIamData
      type: object
    BareMetalActionSerializer:
      anyOf:
      - $ref: '#/components/schemas/StartActionInstanceSerializer'
      - $ref: '#/components/schemas/BasicBareMetalActionInstanceSerializer'
      title: BareMetalActionSerializer
    BareMetalConsoleType:
      enum:
      - serial
      - vnc
      title: BareMetalConsoleType
      type: string
    BareMetalFixedAddressSerializer:
      description: IP addresses of the trunk port and its subports.
      properties:
        addr:
          description: Address
          example: 10.0.0.17
          examples:
          - 10.0.0.17
          title: Addr
          type: string
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. This field will be `null` if `with_interfaces_name=true` is not set in the request when listing servers. It will also be `null` if the `interface_name` was not specified during server creation or when attaching the interface.
          examples:
          - my-interface
          title: Interface Name
        subnet_id:
          description: The unique identifier of the subnet associated with this address.
          example: ba83aec4-7bc1-4979-b934-a11fc1d36cf3
          examples:
          - ba83aec4-7bc1-4979-b934-a11fc1d36cf3
          title: Subnet Id
          type: string
        subnet_name:
          description: The name of the subnet associated with this address.
          example: my-subnet
          examples:
          - my-subnet
          title: Subnet Name
          type: string
        type:
          const: fixed
          description: Type of the address
          example: fixed
          examples:
          - fixed
          title: Type
          type: string
      required:
      - type
      - addr
      - interface_name
      - subnet_name
      - subnet_id
      title: Fixed IP Address
      type: object
    BareMetalFlavorExtendedCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BareMetalFlavorExtendedSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BareMetalFlavorExtendedCollectionSerializer
      type: object
    BareMetalFlavorExtendedSerializer:
      description: Bare metal flavor schema
      properties:
        architecture:
          description: Flavor architecture type
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        capacity:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of available instances of given configuration
          examples:
          - 1
          title: Capacity
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        disabled:
          description: Disabled flavor flag
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          additionalProperties:
            type: string
          default: {}
          description: Additional hardware description
          title: Hardware Description
          type: object
        os_type:
          description: Flavor operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          default: null
          description: Price status for the UI
          examples:
          - show
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        reserved_capacity:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of available instances of given flavor from reservations
          examples:
          - 5
          title: Reserved Capacity
        resource_class:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor resource class for mapping to hardware capacity
          examples:
          - bm1-ai-small
          title: Resource Class
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - disabled
      - os_type
      - architecture
      - resource_class
      title: Bare metal flavor schema
      type: object
    BareMetalFlavorHardwareDescriptionSerializer:
      properties:
        cpu:
          description: Human-readable CPU description
          example: 1x Intel Xeon 4C/8T 3.7 GHz
          examples:
          - 1x Intel Xeon 4C/8T 3.7 GHz
          title: Cpu
          type: string
        disk:
          description: Human-readable disk description
          example: 2x 250GiB SSD
          examples:
          - 2x 250GiB SSD
          title: Disk
          type: string
        license:
          description: If the flavor is licensed, this field contains the license type
          example: Windows License
          examples:
          - Windows License
          title: License
          type: string
        network:
          description: Human-readable NIC description
          example: 1x 500Mbps
          examples:
          - 1x 500Mbps
          title: Network
          type: string
        ram:
          description: Human-readable RAM description
          example: 32 GiB
          examples:
          - 32 GiB
          title: Ram
          type: string
      required:
      - cpu
      - ram
      - disk
      - license
      - network
      title: Detailed flavor hardware description of bare metal server flavor
      type: object
    BareMetalFlavorSerializer:
      description: Bare metal flavor schema embedded into instance schema
      properties:
        architecture:
          description: CPU architecture
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          $ref: '#/components/schemas/BareMetalFlavorHardwareDescriptionSerializer'
          description: Additional hardware description
        os_type:
          description: Operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        resource_class:
          description: Flavor resource class for mapping to hardware capacity
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Resource Class
          type: string
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - hardware_description
      - os_type
      - architecture
      - resource_class
      title: Bare metal flavor
      type: object
    BareMetalFloatingAddressSerializer:
      properties:
        addr:
          description: Address
          example: 10.0.0.17
          examples:
          - 10.0.0.17
          title: Addr
          type: string
        type:
          const: floating
          description: Type of the address
          example: floating
          examples:
          - floating
          title: Type
          type: string
      required:
      - type
      - addr
      title: Floating IP Address
      type: object
    BareMetalGPUClusterInterfacePricingSerializer:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/GPUClusterAnySubnetInterfaceSerializer'
          external: '#/components/schemas/GPUClusterExternalInterfaceSerializer'
          subnet: '#/components/schemas/GPUClusterSpecificSubnetInterfaceSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/GPUClusterExternalInterfaceSerializer'
      - $ref: '#/components/schemas/GPUClusterSpecificSubnetInterfaceSerializer'
      - $ref: '#/components/schemas/GPUClusterAnySubnetInterfaceSerializer'
      title: BareMetalGPUClusterInterfacePricingSerializer
    BareMetalImageCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BareMetalImageSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BareMetalImageCollectionSerializer
      type: object
    BareMetalImageSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: 'An image architecture type: aarch64, `x86_64`.'
          examples:
          - x86_64
        created_at:
          description: Datetime when the image was created
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - b10dd116-07f5-4225-abb7-f42da5cb78fb
          title: Creator Task Id
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Image description
          examples:
          - string
          title: Description
        disk_format:
          description: Disk format
          example: raw
          examples:
          - raw
          title: Disk Format
          type: string
        display_order:
          anyOf:
          - type: integer
          - type: 'null'
          description: ''
          examples:
          - 2010
          title: Display Order
        gpu_driver:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the GPU driver vendor
          examples:
          - nvidia
          title: Gpu Driver
        gpu_driver_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Type of the GPU driver
          examples:
          - open
          title: Gpu Driver Type
        gpu_driver_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of the installed GPU driver
          examples:
          - 570.148.08
          title: Gpu Driver Version
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          anyOf:
          - $ref: '#/components/schemas/HwMachineTypeEnum'
          - type: 'null'
          description: A virtual chipset type.
          examples:
          - q35
        id:
          description: Image ID
          example: 44e136a7-15c1-4b5f-a086-20b7b3237d40
          examples:
          - 44e136a7-15c1-4b5f-a086-20b7b3237d40
          title: Id
          type: string
        is_baremetal:
          anyOf:
          - type: boolean
          - type: 'null'
          description: For bare metal servers this value is always set to true
          examples:
          - true
          title: Is Baremetal
        min_disk:
          description: Minimal boot volume required
          example: 3
          examples:
          - 3
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal VM RAM required
          example: 0
          examples:
          - 0
          title: Min Ram
          type: integer
        name:
          description: Image display name
          example: ubuntu-20.10-x64
          examples:
          - ubuntu-20.10-x64
          title: Name
          type: string
        os_distro:
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          example: ubuntu
          examples:
          - ubuntu
          title: Os Distro
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          description: The operating system installed on the image.
          examples:
          - linux
        os_version:
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          example: '20.10'
          examples:
          - '20.10'
          title: Os Version
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          description: Price status for the UI
          examples:
          - show
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        size:
          anyOf:
          - type: integer
          - type: 'null'
          description: Image size in bytes
          examples:
          - 2361393152
          title: Size
        ssh_key:
          anyOf:
          - $ref: '#/components/schemas/SshKeyEnum'
          - type: 'null'
          description: Whether the image supports SSH key or not
          examples:
          - allow
        status:
          description: Image status, i.e. active
          example: active
          examples:
          - active
          title: Status
          type: string
        tags_v2:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id060
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id060
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags V2
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the image was updated
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Updated At
          type: string
        visibility:
          description: Image visibility. Globally visible images are public
          example: public
          examples:
          - public
          title: Visibility
          type: string
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      - project_id
      - region_id
      - region
      - id
      - name
      - description
      - status
      - visibility
      - min_disk
      - min_ram
      - os_distro
      - os_version
      - ssh_key
      - display_order
      - created_at
      - updated_at
      - size
      - creator_task_id
      - task_id
      - disk_format
      - is_baremetal
      - os_type
      - hw_firmware_type
      - hw_machine_type
      - architecture
      - tags_v2
      - gpu_driver
      - gpu_driver_version
      - gpu_driver_type
      title: Image schema
      type: object
    BareMetalOrderByChoices:
      enum:
      - created.asc
      - created.desc
      - name.asc
      - name.desc
      - status.asc
      - status.desc
      title: BareMetalOrderByChoices
      type: string
    BareMetalServerCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BareMetalServerSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BareMetalServerCollectionSerializer
      type: object
    BareMetalServerSerializer:
      properties:
        addresses:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/BareMetalFloatingAddressSerializer'
              - $ref: '#/components/schemas/BareMetalFixedAddressSerializer'
            type: array
          description: Map of `network_name` to list of addresses in that network
          title: Addresses
          type: object
        blackhole_ports:
          description: IP addresses of the instances that are blackholed by DDoS mitigation system
          items:
            $ref: '#/components/schemas/BlackholePortSerializer'
          title: Blackhole Ports
          type: array
        created_at:
          description: Datetime when bare metal server was created
          example: '2023-11-29T10:56:49Z'
          examples:
          - '2023-11-29T10:56:49Z'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          title: Creator Task Id
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/GetClientProfileSerializer'
          - type: 'null'
          description: Bare metal advanced DDoS protection profile. It is always `null` if query parameter `with_ddos=true` is not set.
        fixed_ip_assignments:
          description: Fixed IP assigned to instance
          items:
            $ref: '#/components/schemas/IpAssignmentsSerializer'
          title: Fixed Ip Assignments
          type: array
        flavor:
          $ref: '#/components/schemas/BareMetalFlavorSerializer'
          description: Flavor details
        id:
          description: Bare metal server ID
          example: 6c6aa80f-7836-4dc2-a2ae-125e248be476
          examples:
          - 6c6aa80f-7836-4dc2-a2ae-125e248be476
          format: uuid4
          title: Id
          type: string
        instance_isolation:
          anyOf:
          - $ref: '#/components/schemas/IsolationSerializer'
          - type: 'null'
          description: Instance isolation information
        name:
          description: Bare metal server name
          example: my-server-1
          examples:
          - my-server-1
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key assigned to bare metal server
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Bare metal server status
          examples:
          - ACTIVE
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id061
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id061
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        task_state:
          anyOf:
          - type: string
          - type: 'null'
          description: Task state
          title: Task State
        vm_state:
          $ref: '#/components/schemas/InstanceVMState'
          description: Bare metal server state
          examples:
          - active
      required:
      - id
      - name
      - created_at
      - status
      - vm_state
      - flavor
      - tags
      - addresses
      - ssh_key_name
      - creator_task_id
      - task_state
      - task_id
      - blackhole_ports
      - fixed_ip_assignments
      - instance_isolation
      - ddos_profile
      - region
      - region_id
      - project_id
      title: Bare metal server
      type: object
    BareMetalStatusQueryChoices:
      enum:
      - ACTIVE
      - BUILD
      - ERROR
      - HARD_REBOOT
      - REBOOT
      - REBUILD
      - RESCUE
      - SHUTOFF
      - SUSPENDED
      title: BareMetalStatusQueryChoices
      type: string
    BaremetalClusterCreateSerializer:
      properties:
        flavor:
          description: Cluster flavor ID
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        image_id:
          description: System image ID
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          title: Image Id
          type: string
        name:
          description: Cluster name
          example: gpu-cluster-1
          examples:
          - gpu-cluster-1
          maxLength: 63
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        servers_count:
          description: Number of servers in the cluster
          example: 3
          examples:
          - 3
          exclusiveMaximum: 1000
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
        servers_settings:
          $ref: '#/components/schemas/BaremetalServerSettingsInputSerializer'
          description: Configuration settings for the servers in the cluster
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      required:
      - name
      - flavor
      - image_id
      - servers_count
      - servers_settings
      title: BaremetalClusterCreateSerializer
      type: object
    BaremetalClusterInstanceServer:
      properties:
        applied_servers_settings:
          $ref: '#/components/schemas/AppliedSpec'
          description: Snapshot of cluster spec (`image_id` and `servers_settings`) applied when this server was last created or rebuilt. Compare with the cluster current spec to see what changed.
          examples:
          - image_id: ded40aad-505c-463b-aa59-8f5f455d1b6f
            servers_settings:
              credentials:
                ssh_key_name: my-key
        created_at:
          description: Server creation date and time
          example: '2025-03-17T13:22:23Z'
          examples:
          - '2025-03-17T13:22:23Z'
          format: date-time
          title: Created At
          type: string
        flavor:
          description: Unique flavor identifier
          example: g3-ai-64-384-3000-l40s-48-2
          examples:
          - g3-ai-64-384-3000-l40s-48-2
          title: Flavor
          type: string
        has_pending_changes:
          description: True if there are pending (not yet applied) server settings changes
          example: false
          examples:
          - false
          title: Has Pending Changes
          type: boolean
        id:
          description: Server unique identifier
          example: b6e58490-58d3-451c-bb77-4178157c98b2
          examples:
          - b6e58490-58d3-451c-bb77-4178157c98b2
          format: uuid4
          title: Id
          type: string
        image_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Server's image UUID
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Image Id
        ip_addresses:
          description: List of IP addresses
          example: &id062
          - 192.168.1.1
          examples:
          - *id062
          items:
            type: string
          title: Ip Addresses
          type: array
        name:
          description: Server's name generated using cluster's name
          example: my-server-e2241889
          examples:
          - my-server-e2241889
          title: Name
          type: string
        security_groups:
          description: Security groups
          example: &id063
          - id: ae74714c-c380-48b4-87f8-758d656cdad6
            name: default
          examples:
          - *id063
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key pair assigned to the server
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Current server status
          examples:
          - ACTIVE
        tags:
          description: User defined tags
          example: &id064
          - key: task_id
            read_only: true
            value: d74c2bb9-cea7-4b23-a009-2f13518ae66d
          examples:
          - *id064
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Identifier of the task currently modifying the GPU cluster
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Task Id
        updated_at:
          description: Server update date and time
          example: '2025-03-17T13:22:23Z'
          examples:
          - '2025-03-17T13:22:23Z'
          format: date-time
          title: Updated At
          type: string
        user_data_applied:
          description: True if user data (cloud-init) was applied when this server was last created or rebuilt.
          example: true
          examples:
          - true
          title: User Data Applied
          type: boolean
      required:
      - id
      - image_id
      - task_id
      - flavor
      - ssh_key_name
      - name
      - status
      - ip_addresses
      - tags
      - created_at
      - updated_at
      - security_groups
      - has_pending_changes
      - user_data_applied
      - applied_servers_settings
      title: BaremetalClusterInstanceServer
      type: object
    BaremetalClusterInstanceServersList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BaremetalClusterInstanceServer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BaremetalClusterInstanceServersList
      type: object
    BaremetalClusterListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BaremetalClusterSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BaremetalClusterListSerializer
      type: object
    BaremetalClusterSerializer:
      properties:
        created_at:
          description: Cluster creation date time
          example: '2024-12-31T23:59:59Z'
          examples:
          - '2024-12-31T23:59:59Z'
          format: date-time
          title: Created At
          type: string
        flavor:
          description: Cluster flavor name
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        has_pending_changes:
          description: True if any server in the cluster has pending (not yet applied) settings changes
          example: false
          examples:
          - false
          title: Has Pending Changes
          type: boolean
        id:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Id
          type: string
        image_id:
          description: Image ID
          example: 76645f69-3219-417b-be59-99361f02e0d3
          examples:
          - 76645f69-3219-417b-be59-99361f02e0d3
          title: Image Id
          type: string
        managed_by:
          $ref: '#/components/schemas/ClusterManagedBy'
          description: User type managing the resource
          examples:
          - user
        name:
          description: Cluster name
          example: my virtual gpu cluster
          examples:
          - my virtual gpu cluster
          title: Name
          type: string
        servers_count:
          description: Cluster servers count
          example: 2
          examples:
          - 2
          title: Servers Count
          type: integer
        servers_ids:
          description: List of cluster nodes
          example: &id065
          - b4522653-fbcd-44a0-a949-541570a52281
          - e56192de-ed28-452a-b775-eeeacc795e3b
          examples:
          - *id065
          items:
            format: uuid4
            type: string
          title: Servers Ids
          type: array
        servers_settings:
          $ref: '#/components/schemas/BaremetalServerSettingsOutputSerializer'
        status:
          $ref: '#/components/schemas/GPUClusterStatus'
          description: Cluster status
          examples:
          - active
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id066
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id066
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Cluster update date time
          examples:
          - '2025-01-11T23:59:59Z'
          title: Updated At
      required:
      - id
      - name
      - status
      - flavor
      - tags
      - servers_count
      - created_at
      - updated_at
      - servers_ids
      - servers_settings
      - managed_by
      - image_id
      - has_pending_changes
      title: BaremetalClusterSerializer
      type: object
    BaremetalClusterServerReplaceBodySerializer:
      properties:
        keep_ip_addresses:
          default: true
          description: Retain the original Public/Private IPs on the replacement node (ethernet only). When false, new IPs are assigned. No effect on InfiniBand interfaces.
          example: true
          examples:
          - true
          title: Keep Ip Addresses
          type: boolean
      title: BaremetalClusterServerReplaceBodySerializer
      type: object
    BaremetalGPUClusterActionSerializer:
      discriminator:
        mapping:
          hard_reboot: '#/components/schemas/HardRebootGPUClusterSerializer'
          soft_reboot: '#/components/schemas/SoftRebootGPUClusterSerializer'
          start: '#/components/schemas/StartGPUClusterSerializer'
          stop: '#/components/schemas/StopGPUClusterSerializer'
        propertyName: action
      oneOf:
      - $ref: '#/components/schemas/StartGPUClusterSerializer'
      - $ref: '#/components/schemas/StopGPUClusterSerializer'
      - $ref: '#/components/schemas/SoftRebootGPUClusterSerializer'
      - $ref: '#/components/schemas/HardRebootGPUClusterSerializer'
      title: BaremetalGPUClusterActionSerializer
    BaremetalGPUClusterPricingPreviewRequestSerializer:
      properties:
        flavor:
          description: Bare metal GPU cluster flavor
          example: bm1-ai-small-v1pod-4
          examples:
          - bm1-ai-small-v1pod-4
          title: Flavor
          type: string
        instances_count:
          default: 1
          description: A multiplier that would be used to calculate the price, multiplying the flavor and IP prices by this number. Must be greater than zero.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Instances Count
          type: integer
        interfaces:
          description: Subnet IPs and floating IPs. Only new floating IPs are supported.
          items:
            $ref: '#/components/schemas/BareMetalGPUClusterInterfacePricingSerializer'
          title: Interfaces
          type: array
        name:
          description: Bare metal GPU cluster name
          example: poplar-ubuntu
          examples:
          - poplar-ubuntu
          title: Name
          type: string
      required:
      - name
      - flavor
      - interfaces
      title: BaremetalGPUClusterPricingPreviewRequestSerializer
      type: object
    BaremetalGPUClusterPricingPreviewResponseSerializer:
      properties:
        currency_code:
          anyOf:
          - enum:
            - AZN
            - EUR
            - USD
            type: string
          - type: 'null'
          description: Currency code (3-letter code per ISO 4217).
          examples:
          - USD
          - EUR
          title: Currency Code
        discount_details:
          description: Discount details per resource.
          example: &id067
            discount: '0.5'
            resource: ssd_hiiops
          examples:
          - *id067
          items:
            $ref: '#/components/schemas/ResourceDiscountSerializer'
          title: Discount Details
          type: array
        discount_percent:
          description: Actual discount as a relative value.
          example: '10.50'
          examples:
          - '10.50'
          - '5.00'
          title: Discount Percent
          type: string
        per_gb:
          anyOf:
          - $ref: '#/components/schemas/BaremetalPricingPerGBSerializer'
          - type: 'null'
          description: Pricing details per category charged per GB.
          examples:
          - egress_traffic_baremetal: 1.3
        per_hour:
          $ref: '#/components/schemas/DetailedBaremetalInstancePricingSerializer'
          description: Prices per category charged per hour.
          examples:
          - external_ip: 0.02
            flavor: 0.8
            floating_ip: 0.05
        per_month:
          $ref: '#/components/schemas/DetailedBaremetalInstancePricingSerializer'
          description: Prices per category charged per month.
          examples:
          - external_ip: 14.4
            flavor: 576
            floating_ip: 36
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI.
          examples:
          - show
          - hide
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount.
          examples:
          - '800.00'
          - '1000.50'
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: 0
          examples:
          - 0
          - 17
          - 12
          title: Tax Percent
          type: number
        total_price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour.
          examples:
          - '1.02'
          - '2.50'
          title: Total Price Per Hour
        total_price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month.
          examples:
          - '734.4'
          - '1200.00'
          title: Total Price Per Month
      required:
      - currency_code
      - discount_percent
      - per_hour
      - per_month
      - price_status
      - price_without_discount_per_month
      - total_price_per_hour
      - total_price_per_month
      - tax_percent
      - per_gb
      - discount_details
      title: BaremetalGPUClusterPricingPreviewResponseSerializer
      type: object
    BaremetalGpuServerSettingsQuotaSerializer:
      properties:
        interfaces:
          description: List of interfaces
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceInputSerializer'
                external: '#/components/schemas/ExternalInterfaceInputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceInputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
          title: Interfaces
          type: array
      title: BaremetalGpuServerSettingsQuotaSerializer
      type: object
    BaremetalPricingPerGBSerializer:
      properties:
        egress_traffic_baremetal:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: The price of egress traffic per GB for bare metal instances.
          examples:
          - 0.05
          - 0.1
          title: Egress Traffic Baremetal
      title: BaremetalPricingPerGBSerializer
      type: object
    BaremetalServerRebuildBodySerializer:
      properties:
        image_id:
          description: New or existing image to rebuild the node with. Omit to keep the cluster's current image.
          example: ded40aad-505c-463b-aa59-8f5f455d1b6f
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          format: uuid4
          title: Image Id
          type: string
        ssh_key_name:
          description: New or existing SSH keypair name. Omit to keep the cluster's current SSH key.
          example: my-ssh-key
          examples:
          - my-ssh-key
          minLength: 1
          title: Ssh Key Name
          type: string
        user_data:
          description: New or existing user data (Base64-encoded). Omit to keep the cluster's current user data.
          example: eyJ0ZXN0IjogImRhdGEifQ==
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
          type: string
      title: BaremetalServerRebuildBodySerializer
      type: object
    BaremetalServerSettingsInputSerializer:
      properties:
        credentials:
          $ref: '#/components/schemas/ServerCredentialsSerializer'
          description: Optional server access credentials
        file_shares:
          description: List of file shares to be mounted across the cluster.
          items:
            $ref: '#/components/schemas/FileShareMountSerializer'
          title: File Shares
          type: array
        interfaces:
          description: Subnet IPs and floating IPs
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceInputSerializer'
                external: '#/components/schemas/ExternalInterfaceInputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceInputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
          minItems: 1
          title: Interfaces
          type: array
        security_groups:
          deprecated: true
          description: Deprecated. Use per-interface `security_groups` inside `interfaces[]` instead. Cannot be combined with per-interface `security_groups`. If omitted everywhere, the project's default security group is applied.
          example: &id068
          - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
          - *id068
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        user_data:
          description: Optional custom user data (Base64-encoded)
          example: eyJ0ZXN0IjogImRhdGEifQ==
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
          type: string
      required:
      - interfaces
      title: BaremetalServerSettingsInputSerializer
      type: object
    BaremetalServerSettingsOutputSerializer:
      properties:
        file_shares:
          description: List of file shares mounted across the cluster.
          items:
            $ref: '#/components/schemas/FileShareMountSerializer'
          title: File Shares
          type: array
        interfaces:
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceOutputSerializer'
                external: '#/components/schemas/ExternalInterfaceOutputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceOutputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceOutputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceOutputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceOutputSerializer'
          title: Interfaces
          type: array
        security_groups:
          deprecated: true
          description: Deprecated. Deduplicated union of security groups across all interfaces; the actual assignment may differ per interface. Use `interfaces[].security_groups` for the authoritative per-interface list.
          example: &id069
          - id: ae74714c-c380-48b4-87f8-758d656cdad6
            name: default
          examples:
          - *id069
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key name
          examples:
          - my-ssh-key
          title: Ssh Key Name
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional custom user data
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
        username:
          anyOf:
          - type: string
          - type: 'null'
          description: Shows the username that `credentials.username` set at creation. The value is `null` when the cluster uses only `credentials.ssh_key_name`, or has no credentials.
          examples:
          - admin
          title: Username
      required:
      - user_data
      - ssh_key_name
      - username
      - interfaces
      - file_shares
      - security_groups
      title: BaremetalServerSettingsOutputSerializer
      type: object
    BaseCreateClientProfileSerializer:
      properties:
        fields:
          description: List of field configurations that customize the protection parameters for this profile
          example: &id070
          - base_field: 10
            field_value:
            - 45046
            - 45047
          examples:
          - *id070
          items:
            $ref: '#/components/schemas/CreateClientProfileFieldSerializer'
          title: Fields
          type: array
        profile_template:
          description: Unique identifier of the DDoS protection template to use for this profile
          example: 123
          examples:
          - 123
          title: Profile Template
          type: integer
      required:
      - profile_template
      title: BaseCreateClientProfileSerializer
      type: object
    BaseCreateLbPoolSerializer:
      properties:
        ca_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA certificate bundle
          title: Ca Secret Id
        crl_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA revocation list file
          title: Crl Secret Id
        healthmonitor:
          anyOf:
          - $ref: '#/components/schemas/CreateLbHealthMonitorSerializer'
          - type: 'null'
          default: null
          description: Health monitor details
          examples:
          - delay: 10
            domain_name: example.com
            http_method: GET
            http_version: '1.1'
            max_retries: 3
            max_retries_down: 3
            timeout: 5
            type: HTTP
            url_path: /
        lb_algorithm:
          $ref: '#/components/schemas/LbAlgorithmEnum'
          description: Load balancer algorithm
          examples:
          - ROUND_ROBIN
        members:
          description: Pool members
          example: &id071
          - address: 192.168.1.101
            instance_id: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
            protocol_port: 8000
            weight: 2
          - address: 192.168.1.102
            instance_id: 169942e0-9b53-42df-95ef-1a8b6525c2bd
            protocol_port: 8000
            weight: 4
          examples:
          - *id071
          items:
            $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
          title: Members
          type: array
        name:
          description: Pool name
          example: pool_name
          examples:
          - pool_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          $ref: '#/components/schemas/LbPoolProtocolEnum'
          description: Protocol
          examples:
          - HTTP
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID for TLS client authentication to the member servers
          title: Secret Id
        session_persistence:
          anyOf:
          - $ref: '#/components/schemas/MutateLbSessionPersistence'
          - type: 'null'
          default: null
          description: Session persistence details
          examples:
          - cookie_name: cookie_name
            type: APP_COOKIE
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          deprecated: true
          description: Frontend client inactivity timeout in milliseconds. We are recommending to use `listener.timeout_client_data` instead.
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Backend member connection timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Backend member inactivity timeout in milliseconds
          title: Timeout Member Data
      required:
      - name
      - lb_algorithm
      - protocol
      title: BaseCreateLbPoolSerializer
      type: object
    BaseFlavorSerializer:
      properties:
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      title: BaseFlavorSerializer
      type: object
    BasicActionInstanceSerializer:
      properties:
        action:
          description: Instance action name
          enum:
          - reboot
          - reboot_hard
          - resume
          - stop
          - suspend
          example: stop
          examples:
          - stop
          title: Action
          type: string
      required:
      - action
      title: BasicActionInstanceSerializer
      type: object
    BasicBareMetalActionInstanceSerializer:
      properties:
        action:
          description: Instance action name
          enum:
          - reboot
          - reboot_hard
          - stop
          example: stop
          examples:
          - stop
          title: Action
          type: string
      required:
      - action
      title: BasicBareMetalActionInstanceSerializer
      type: object
    BillingReservationV2CollectionResponseSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/BillingReservationV2ItemResponseSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: BillingReservationV2CollectionResponseSerializer
      type: object
    BillingReservationV2CommitSerializer:
      properties:
        active_from:
          description: Billing subscription active from date
          example: '2025-04-03T00:00:00'
          examples:
          - '2025-04-03T00:00:00'
          format: date-time
          title: Active From
          type: string
        active_to:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Billing subscription active to date
          examples:
          - '2026-04-03T00:00:00'
          title: Active To
        price_per_month:
          description: Price per month, per one resource
          example: '224.80198100'
          examples:
          - '224.80198100'
          title: Price Per Month
          type: string
        price_per_unit:
          description: Price per unit, per one resource (hourly)
          example: '0.30215320'
          examples:
          - '0.30215320'
          title: Price Per Unit
          type: string
        price_total:
          description: Total price for the reservation period for the full reserved amount
          example: '2697.62377200'
          examples:
          - '2697.62377200'
          title: Price Total
          type: string
        subscription_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Billing subscription ID for commit
          examples:
          - 12345
          title: Subscription Id
      required:
      - active_from
      - active_to
      - subscription_id
      - price_per_unit
      - price_per_month
      - price_total
      title: BillingReservationV2CommitSerializer
      type: object
    BillingReservationV2HardwareInfoSerializer:
      properties:
        cpu:
          anyOf:
          - type: string
          - type: 'null'
          description: CPU specification
          examples:
          - 2xIntel Xeon 8468
          title: Cpu
        disk:
          anyOf:
          - type: string
          - type: 'null'
          description: Disk specification
          examples:
          - 8 x 3.84 TB NVMe
          title: Disk
        ram:
          anyOf:
          - type: string
          - type: 'null'
          description: RAM specification
          examples:
          - 2TB RAM
          title: Ram
      required:
      - cpu
      - ram
      - disk
      title: BillingReservationV2HardwareInfoSerializer
      type: object
    BillingReservationV2ItemResponseSerializer:
      properties:
        active_billing_plan_id:
          description: Active billing plan ID
          example: 207114
          examples:
          - 207114
          title: Active Billing Plan Id
          type: integer
        active_overcommit:
          $ref: '#/components/schemas/BillingReservationV2OvercommitSerializer'
          description: Overcommit pricing details
        commit:
          $ref: '#/components/schemas/BillingReservationV2CommitSerializer'
          description: Commit pricing details
        hardware_info:
          $ref: '#/components/schemas/BillingReservationV2HardwareInfoSerializer'
          description: Hardware specifications
        region_name:
          description: Region name
          example: LUX-4
          examples:
          - LUX-4
          title: Region Name
          type: string
        resource_count:
          description: Number of reserved resource items
          example: 1
          examples:
          - 1
          title: Resource Count
          type: integer
        resource_name:
          description: Resource name
          example: bm1-hf-medium
          examples:
          - bm1-hf-medium
          title: Resource Name
          type: string
        unit_name:
          description: Unit name (e.g., 'H' for hours)
          example: H
          examples:
          - H
          title: Unit Name
          type: string
        unit_size_month:
          description: Unit size per month (e.g., 744 hours)
          example: '744.00000000'
          examples:
          - '744.00000000'
          title: Unit Size Month
          type: string
        unit_size_total:
          description: Unit size month multiplied by count of resources in the reservation
          example: '8928.00000000'
          examples:
          - '8928.00000000'
          title: Unit Size Total
          type: string
      required:
      - active_billing_plan_id
      - region_name
      - resource_name
      - resource_count
      - unit_size_month
      - unit_name
      - unit_size_total
      - commit
      - active_overcommit
      - hardware_info
      title: BillingReservationV2ItemResponseSerializer
      type: object
    BillingReservationV2OrderByChoices:
      enum:
      - active_from.asc
      - active_from.desc
      - active_to.asc
      - active_to.desc
      title: BillingReservationV2OrderByChoices
      type: string
    BillingReservationV2OvercommitSerializer:
      properties:
        active_from:
          description: Billing subscription active from date
          example: '2025-04-03T00:00:00'
          examples:
          - '2025-04-03T00:00:00'
          format: date-time
          title: Active From
          type: string
        plan_item_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Billing plan item ID
          examples:
          - 666
          title: Plan Item Id
        price_per_month:
          description: Price per month
          example: '236.63366400'
          examples:
          - '236.63366400'
          title: Price Per Month
          type: string
        price_per_unit:
          description: Price per unit (hourly)
          example: '0.31805600'
          examples:
          - '0.31805600'
          title: Price Per Unit
          type: string
        price_total:
          description: Total price for the reservation period
          example: '2839.60396800'
          examples:
          - '2839.60396800'
          title: Price Total
          type: string
        subscription_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Billing subscription ID for overcommit
          examples:
          - 12344
          title: Subscription Id
      required:
      - active_from
      - subscription_id
      - plan_item_id
      - price_per_unit
      - price_per_month
      - price_total
      title: BillingReservationV2OvercommitSerializer
      type: object
    BlackholePortAlarmState:
      enum:
      - ALARM
      - CLEAR
      - MANUAL_CLEAR
      - MANUAL_START
      title: BlackholePortAlarmState
      type: string
    BlackholePortSerializer:
      properties:
        AlarmEnd:
          description: A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z
          example: '2025-02-05 12:04:30'
          examples:
          - '2025-02-05 12:04:30'
          format: date-time
          title: Alarmend
          type: string
        AlarmStart:
          description: A date-time string giving the time that the alarm started
          example: '2025-02-05 12:04:11'
          examples:
          - '2025-02-05 12:04:11'
          format: date-time
          title: Alarmstart
          type: string
        AlarmState:
          $ref: '#/components/schemas/BlackholePortAlarmState'
          description: Current state of alarm
          examples:
          - alarm
        AlertDuration:
          description: Total alert duration
          example: 2 hours
          examples:
          - 2 hours
          title: Alertduration
          type: string
        DestinationIP:
          description: Notification destination IP address
          example: 80.240.114.116
          examples:
          - 80.240.114.116
          title: Destinationip
          type: string
        ID:
          description: ''
          title: Id
          type: integer
      required:
      - ID
      - AlarmState
      - AlarmStart
      - AlarmEnd
      - AlertDuration
      - DestinationIP
      title: BlackholePortSerializer
      type: object
    BmCapacityResponse:
      properties:
        capacity:
          additionalProperties:
            type: integer
          description: Bare metal capacity. Keys are flavor names, values are available node counts.
          title: Capacity
          type: object
        reserved_capacity:
          additionalProperties:
            type: integer
          description: Reserved capacity. Keys are flavor names, values are reserved node counts.
          title: Reserved Capacity
          type: object
      required:
      - capacity
      - reserved_capacity
      title: BmCapacityResponse
      type: object
    CaasApiKeyCreateResultSerializer:
      properties:
        containers:
          description: List of containers using key
          example: &id072
          - name: my-container
            namespace: space
          examples:
          - *id072
          items:
            $ref: '#/components/schemas/CaasNamespacedName'
          title: Containers
          type: array
        created_at:
          description: Key starts to work
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          format: date-time
          title: Created At
          type: string
        description:
          description: Key description
          example: my first key
          examples:
          - my first key
          title: Description
          type: string
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Key expires at
          examples:
          - '2023-07-31T00:00:00Z'
          title: Expire
        is_disabled:
          description: Set to true if key is disabled
          example: false
          examples:
          - false
          title: Is Disabled
          type: boolean
        name:
          description: Key name
          example: my-key
          examples:
          - my-key
          title: Name
          type: string
        secret:
          description: Secret api key
          example: my-secret
          examples:
          - my-secret
          title: Secret
          type: string
        source:
          description: Source of the apikey, can be 'cloud' or 'iate'
          example: cloud
          examples:
          - cloud
          title: Source
          type: string
        status:
          description: Key status
          example: Expired
          examples:
          - Expired
          title: Status
          type: string
      required:
      - name
      - description
      - secret
      - created_at
      - status
      - source
      - expire
      - is_disabled
      - containers
      title: CaasApiKeyCreateResultSerializer
      type: object
    CaasApiKeyCreateSerializer:
      properties:
        containers:
          description: List of containers using key
          example: &id073
          - name: my-container
            namespace: space
          examples:
          - *id073
          items:
            $ref: '#/components/schemas/CaasNamespacedName'
          title: Containers
          type: array
        description:
          default: ''
          description: Key description
          example: my first key
          examples:
          - my first key
          title: Description
          type: string
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-07-31T00:00:00Z'
          title: Expire
        is_disabled:
          default: false
          description: Set to true if key is disabled
          example: false
          examples:
          - false
          title: Is Disabled
          type: boolean
        name:
          description: Key name
          example: my-key
          examples:
          - my-key
          pattern: ^[a-z][-a-z0-9]{0,62}[a-z0-9]$
          title: Name
          type: string
      required:
      - name
      - containers
      title: CaasApiKeyCreateSerializer
      type: object
    CaasApiKeyListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/CaasApiKeySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: CaasApiKeyListSerializer
      type: object
    CaasApiKeySerializer:
      properties:
        containers:
          description: List of containers using key
          example: &id074
          - name: my-container
            namespace: space
          examples:
          - *id074
          items:
            $ref: '#/components/schemas/CaasNamespacedName'
          title: Containers
          type: array
        created_at:
          description: Key starts to work
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          format: date-time
          title: Created At
          type: string
        description:
          description: Key description
          example: my first key
          examples:
          - my first key
          title: Description
          type: string
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Key expires at
          examples:
          - '2023-07-31T00:00:00Z'
          title: Expire
        is_disabled:
          description: Set to true if key is disabled
          example: false
          examples:
          - false
          title: Is Disabled
          type: boolean
        name:
          description: Key name
          example: my-key
          examples:
          - my-key
          title: Name
          type: string
        source:
          description: Source of the apikey, can be 'cloud' or 'iate'
          example: cloud
          examples:
          - cloud
          title: Source
          type: string
        status:
          description: Key status
          example: Expired
          examples:
          - Expired
          title: Status
          type: string
      required:
      - name
      - description
      - created_at
      - status
      - source
      - expire
      - is_disabled
      - containers
      title: CaasApiKeySerializer
      type: object
    CaasApiKeyUpdateSerializer:
      properties:
        containers:
          anyOf:
          - items:
              $ref: '#/components/schemas/CaasNamespacedName'
            type: array
          - type: 'null'
          default: null
          description: List of containers using key
          examples:
          - - name: my-container
              namespace: space
          title: Containers
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key description
          examples:
          - my first key
          title: Description
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-07-31T00:00:00Z'
          title: Expire
        is_disabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Set to true if key is disabled
          examples:
          - false
          title: Is Disabled
      title: CaasApiKeyUpdateSerializer
      type: object
    CaasFlavorListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/CaasFlavorSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: CaasFlavorListSerializer
      type: object
    CaasFlavorSerializer:
      properties:
        cpu:
          description: Number of millicpu
          example: 128
          examples:
          - 128
          title: Cpu
          type: integer
        name:
          description: Flavor name
          example: 128mCPU-128MiB
          examples:
          - 128mCPU-128MiB
          title: Name
          type: string
        ram:
          description: Megabytes of RAM
          example: 128
          examples:
          - 128
          title: Ram
          type: integer
      required:
      - name
      - cpu
      - ram
      title: CaasFlavorSerializer
      type: object
    CaasLogsSerializer:
      properties:
        logs:
          description: Container logs
          items:
            additionalProperties: true
            type: object
          title: Logs
          type: array
      required:
      - logs
      title: CaasLogsSerializer
      type: object
    CaasNamespacedName:
      properties:
        name:
          description: Container name
          example: my-container
          examples:
          - my-container
          pattern: ^[a-z][-a-z0-9]{0,62}[a-z0-9]$
          title: Name
          type: string
        namespace:
          description: Namespace name
          example: space
          examples:
          - space
          title: Namespace
          type: string
      required:
      - name
      - namespace
      title: CaasNamespacedName
      type: object
    CapacityDetailsSerializer:
      properties:
        capacity:
          description: Available capacity.
          example: 42
          examples:
          - 42
          minimum: 0
          title: Capacity
          type: integer
        flavor_name:
          description: Flavor name.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Flavor Name
          type: string
      required:
      - flavor_name
      - capacity
      title: CapacityDetailsSerializer
      type: object
    ChangeFlavorBodySerializer:
      properties:
        flavor_id:
          description: Flavor ID
          example: g1s-shared-1-0.5
          examples:
          - g1s-shared-1-0.5
          title: Flavor Id
          type: string
      required:
      - flavor_id
      title: ChangeFlavorBodySerializer
      type: object
    ChangeFunctionSerializer:
      properties:
        autoscaling:
          anyOf:
          - $ref: '#/components/schemas/FaasAutoscalingSerializer'
          - type: 'null'
          default: null
          description: Autoscaling configuration for the function. Keys must be 'min_instances' or 'max_instances', and values must be integers between 0 and 50.
          examples:
          - max_instances: 5
            min_instances: 1
        code_text:
          anyOf:
          - maxLength: 100000
            minLength: 1
            type: string
          - type: 'null'
          default: null
          description: Function code text.
          examples:
          - |-
            def main():
                return 'Hello World'
          title: Code Text
        dependencies:
          anyOf:
          - maxLength: 100000
            type: string
          - type: 'null'
          default: null
          description: Dependencies for the function to install.
          examples:
          - |-
            numpy==1.21.0
            pandas==1.3.0
          title: Dependencies
        description:
          anyOf:
          - maxLength: 255
            minLength: 0
            type: string
          - type: 'null'
          default: null
          description: Description of the function.
          examples:
          - This is a sample function.
          title: Description
        disabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Set to true if the function is disabled.
          examples:
          - false
          title: Disabled
        enable_api_key:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Enable or disable API key authentication. Enable api key is temporarily disabled. As a result, using Functions with authorization is currently not supported.
          examples:
          - true
          title: Enable Api Key
        envs:
          anyOf:
          - propertyNames:
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
            type: object
            additionalProperties:
              maxLength: 255
              minLength: 0
              type: string
          - type: 'null'
          default: null
          description: Environment variables for the function. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          examples:
          - ENV_VAR: value
          title: Envs
        flavor:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The name of the flavor associated with the function.
          examples:
          - 128m-128MB
          title: Flavor
        keys:
          anyOf:
          - items:
              pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
              type: string
            type: array
          - type: 'null'
          default: null
          description: List of used authentication API keys, matching a specific regex pattern.
          examples:
          - - key1
            - key2
          title: Keys
        main_method:
          anyOf:
          - maxLength: 100
            minLength: 1
            type: string
          - type: 'null'
          default: null
          description: The main startup method name.
          examples:
          - run
          title: Main Method
        timeout:
          anyOf:
          - maximum: 180
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Function timeout in seconds.
          examples:
          - 60
          title: Timeout
      title: ChangeFunctionSerializer
      type: object
    ChangeListenerNameSerializer:
      properties:
        name:
          description: Name.
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      required:
      - name
      title: ChangeListenerNameSerializer
      type: object
    ChangeNamespaceSerializer:
      properties:
        description:
          anyOf:
          - maxLength: 255
            minLength: 0
            type: string
          - type: 'null'
          default: null
          description: Namespace description.
          examples:
          - This is a sample namespace.
          title: Description
        envs:
          anyOf:
          - propertyNames:
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
            type: object
            additionalProperties:
              maxLength: 255
              minLength: 0
              type: string
          - type: 'null'
          default: null
          description: Namespace environment variables. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          examples:
          - ENV_VAR: value
          title: Envs
      title: ChangeNamespaceSerializer
      type: object
    CheckAIClusterLimitsSerializer:
      additionalProperties: true
      properties:
        flavor:
          description: AI cluster flavor name
          title: Flavor
          type: string
        instances_count:
          default: 1
          description: Number of instances to create
          minimum: 1
          title: Instances Count
          type: integer
        interfaces:
          description: Subnet IPs and floating IPs
          items:
            $ref: '#/components/schemas/CreateGPUClusterInterfaceSerializer'
          title: Interfaces
          type: array
      required:
      - flavor
      title: CheckAIClusterLimitsSerializer
      type: object
    CheckFlavorVolumeItemPydanticSerializer:
      properties:
        apptemplate_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: App template ID. Mandatory if source is 'apptemplate'.
          title: Apptemplate Id
        boot_index:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: 0 should be set for primary boot device; Unique positive values for other bootable devices; negative - boot prohibited.
          title: Boot Index
        image_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Image ID. Mandatory if volume is created from image.
          title: Image Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Volume name. Non-important, may be omitted.
          title: Name
        size:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Volume size. Must be specified when source is 'new-volume' or 'image'. If specified for source 'snapshot' or 'existing-volume', value must be equal to respective snapshot or volume size
          title: Size
        snapshot_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Volume snapshot ID. Mandatory if volume is created from a snapshot
          title: Snapshot Id
        source:
          $ref: '#/components/schemas/VolumeSource'
          description: Volume source
        type_name:
          anyOf:
          - $ref: '#/components/schemas/VolumeTypeName'
          - type: 'null'
          default: null
          description: One of 'standard', 'ssd_hiiops', 'ssd_local', 'ssd_lowlatency', 'cold', 'ultra'
        volume_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Volume ID. Mandatory if source is 'existing-volume'.
          title: Volume Id
      required:
      - source
      title: CheckFlavorVolumeItemPydanticSerializer
      type: object
    CheckFlavorVolumeListPydanticSerializer:
      properties:
        volumes:
          description: Volumes details. Non-important info such as names may be omitted.
          items:
            $ref: '#/components/schemas/CheckFlavorVolumeItemPydanticSerializer'
          minItems: 1
          title: Volumes
          type: array
      required:
      - volumes
      title: CheckFlavorVolumeListPydanticSerializer
      type: object
    CheckQuotaBeforeBMCreationSerializer:
      properties:
        flavor:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Bare metal flavor name.
          examples:
          - bm1-basic-medium
          title: Flavor
        interfaces:
          description: Subnet IPs and floating IPs
          example: &id075
          - network_id: 024a29e9-b4b7-4c91-9a46-505be123d9f8
            subnet_id: 91200a6c-07e0-42aa-98da-32d1f6545ae7
            type: subnet
          examples:
          - *id075
          items:
            $ref: '#/components/schemas/NewVmInterfaceSerializersPydantic'
          title: Interfaces
          type: array
        name_templates:
          description: A list of instance name templates. Either this or `names` must be specified.
          example: &id076
          - my-instance-{ip_octets}
          examples:
          - *id076
          items:
            anyOf:
            - type: string
            - type: 'null'
          title: Name Templates
          type: array
        names:
          description: A list of instance names. Either this or `name_templates` must be specified.
          example: &id077
          - my-instance-1
          examples:
          - *id077
          items:
            type: string
          title: Names
          type: array
      title: CheckQuotaBeforeBMCreationSerializer
      type: object
    CheckQuotaBeforeBaremetalGpuClusterCreationSerializer:
      properties:
        flavor:
          description: Cluster flavor
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        servers_count:
          description: Number of servers in the cluster
          example: 3
          examples:
          - 3
          exclusiveMaximum: 1000
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
        servers_settings:
          $ref: '#/components/schemas/BaremetalGpuServerSettingsQuotaSerializer'
          description: Configuration settings for the servers in the cluster
      required:
      - flavor
      - servers_count
      title: CheckQuotaBeforeBaremetalGpuClusterCreationSerializer
      type: object
    CheckQuotaBeforeContainerCreation:
      properties:
        flavor:
          description: Container flavor
          example: 250mCPU-512MiB
          examples:
          - 250mCPU-512MiB
          pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}M[i]?B$
          title: Flavor
          type: string
        max_replicas:
          description: Maximum number of instances
          maximum: 25
          minimum: 1
          title: Max Replicas
          type: integer
      required:
      - flavor
      - max_replicas
      title: CheckQuotaBeforeContainerCreation
      type: object
    CheckQuotaBeforeInferenceCreationSerializer:
      properties:
        containers:
          description: List of containers for the inference instance.
          example: &id078
          - region_id: 1
            scale:
              max: 3
              min: 1
          examples:
          - *id078
          items:
            $ref: '#/components/schemas/ContainerInSerializerV3'
          minItems: 1
          title: Containers
          type: array
        flavor_name:
          description: Inference flavor name.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          minLength: 1
          title: Flavor Name
          type: string
      required:
      - flavor_name
      - containers
      title: CheckQuotaBeforeInferenceCreationSerializer
      type: object
    CheckQuotaBeforeInstanceCreatingSerializer:
      properties:
        flavor:
          description: Instance flavor name.
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        interfaces:
          description: Subnet IPs and floating IPs.
          items:
            $ref: '#/components/schemas/_CheckLimitsInterfaceSerializer'
          title: Interfaces
          type: array
        name_templates:
          description: List of instance name templates. Either this or `names` must be specified.
          items:
            anyOf:
            - type: string
            - type: 'null'
          title: Name Templates
          type: array
        names:
          description: List of instance names. Either this or `name_templates` must be specified.
          items:
            type: string
          title: Names
          type: array
        volumes:
          description: List of volumes.
          items:
            $ref: '#/components/schemas/InstanceVolumePricingRequestSerializer'
          title: Volumes
          type: array
      title: CheckQuotaBeforeInstanceCreatingSerializer
      type: object
    CheckQuotaBeforeLoadbalancerCreationPydanticSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewInterfaceFloatingIpPydanticSerializer'
          description: Floating IP configuration for assignment
        logging:
          $ref: '#/components/schemas/LoadbalancerLoggingSerializer'
          description: Logging configuration
        vip_ip_family:
          $ref: '#/components/schemas/InterfaceIPFamily'
          description: IP family for load balancer subnet auto-selection if `vip_network_id` is specified
          examples:
          - ipv4
        vip_network_id:
          description: Network ID for load balancer
          format: uuid4
          title: Vip Network Id
          type: string
        vip_port_id:
          description: Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with `vip_network_id`
          example: ff83e13a-b256-4be2-ba5d-028d3f0ab450
          examples:
          - ff83e13a-b256-4be2-ba5d-028d3f0ab450
          format: uuid4
          title: Vip Port Id
          type: string
      title: CheckQuotaBeforeLoadbalancerCreationPydanticSerializer
      type: object
    CheckQuotaBeforeSfsCreationSerializer:
      properties:
        size:
          description: File Share size in GiB
          example: 5
          examples:
          - 5
          minimum: 1
          title: Size
          type: integer
      required:
      - size
      title: CheckQuotaBeforeSfsCreationSerializer
      type: object
    CheckQuotaBeforeVirtualGpuClusterCreationSerializer:
      properties:
        flavor:
          description: Cluster flavor
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        servers_count:
          description: Number of servers in the cluster
          example: 3
          examples:
          - 3
          exclusiveMaximum: 1000
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
        servers_settings:
          $ref: '#/components/schemas/VirtualGpuServerSettingsQuotaSerializer'
          description: Configuration settings for the servers in the cluster
      required:
      - flavor
      - servers_count
      title: CheckQuotaBeforeVirtualGpuClusterCreationSerializer
      type: object
    CheckQuotasBeforeRegistryCreation:
      properties:
        storage_limit:
          default: 0
          description: Registry storage limit, GiB
          example: 5
          examples:
          - 5
          title: Storage Limit
          type: integer
      title: CheckQuotasBeforeRegistryCreation
      type: object
    ClientMixedQuotasLimitsSerializer:
      properties:
        global_limits:
          $ref: '#/components/schemas/CreateGlobalQuotasLimitsSerializer'
          description: Global entity quota limits
        regional_limits:
          description: Regions and their quota limits
          items:
            $ref: '#/components/schemas/RegionalQuotasLimitsSerializer'
          title: Regional Limits
          type: array
      title: ClientMixedQuotasLimitsSerializer
      type: object
    ClientProfileFieldSerializer:
      properties:
        base_field:
          description: ID of DDoS profile field
          example: 10
          examples:
          - 10
          title: Base Field
          type: integer
        default:
          anyOf:
          - maxLength: 100
            type: string
          - type: 'null'
          description: Predefined default value for the field if not specified
          examples:
          - null
          title: Default
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Detailed description explaining the field's purpose and usage guidelines
          examples:
          - ARK server ports. Valid port values are in range 1000-65535
          title: Description
        field_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Data type classification of the field (e.g., string, integer, array)
          examples:
          - null
          title: Field Type
        field_value:
          description: Complex value for the DDoS profile field
          examples:
          - 45046
          - 45047
          title: Field Value
        id:
          description: Unique identifier for the DDoS protection field
          example: 11
          examples:
          - 11
          title: Id
          type: integer
        name:
          description: Human-readable name of the protection field
          example: ARK Ports
          examples:
          - ARK Ports
          maxLength: 30
          title: Name
          type: string
        required:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates whether this field must be provided when creating a protection profile
          examples:
          - true
          title: Required
        validation_schema:
          description: JSON schema defining validation rules and constraints for the field value
          examples:
          - items:
              maximum: 65535
              minimum: 1000
              type: integer
            minItems: 1
            type: array
          title: Validation Schema
      required:
      - id
      - name
      - description
      - field_type
      - required
      - default
      - validation_schema
      - field_value
      - base_field
      title: ClientProfileFieldSerializer
      type: object
    ClientProfileSerializer:
      properties:
        fields:
          description: List of configured field values for the protection profile
          items:
            $ref: '#/components/schemas/ClientProfileFieldSerializer'
          title: Fields
          type: array
        id:
          description: Unique identifier for the DDoS protection profile
          example: 0
          examples:
          - 0
          title: Id
          type: integer
        ip_address:
          anyOf:
          - format: ipv4
            type: string
          - format: ipv6
            type: string
          - format: ipv4network
            type: string
          - format: ipv6network
            type: string
          - type: 'null'
          description: IP address or network range (CIDR) that is protected by this DDoS profile
          examples:
          - 203.0.113.1
          - 203.0.113.0/24
          title: Ip Address
        managed_by:
          $ref: '#/components/schemas/DdosManagedBy'
          description: Specifies the entity responsible for managing the resource.
          examples:
          - user
        options:
          $ref: '#/components/schemas/ProfileOptionsSerializer'
          description: Configuration options controlling profile activation and BGP routing
          examples:
          - active: true
            bgp: true
        profile_template:
          anyOf:
          - $ref: '#/components/schemas/ClientProfileTemplateSerializer'
          - type: 'null'
          description: Complete template configuration data used for this profile
        profile_template_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Detailed description of the protection template used for this profile
          examples:
          - ARK server ports. Valid port values are in range 1000-65535
          title: Profile Template Description
        protocols:
          description: List of network protocols and ports configured for protection
          example: &id079
          - port: '80'
            protocols:
            - TCP
            - HTTP
          - port: '53'
            protocols:
            - UDP
          examples:
          - *id079
          items:
            $ref: '#/components/schemas/ProtocolsOnPortSerializer'
          title: Protocols
          type: array
        site:
          description: Geographic site identifier where the protection is deployed
          example: ED
          examples:
          - ED
          maxLength: 50
          title: Site
          type: string
        status:
          $ref: '#/components/schemas/DdosProfileStatusSerializer'
          description: Current operational status and any error information for the profile
          examples:
          - error_description: ''
            status: Updated
      required:
      - id
      - options
      - site
      - protocols
      - status
      - profile_template_description
      - profile_template
      - fields
      - ip_address
      - managed_by
      title: ClientProfileSerializer
      type: object
    ClientProfileSerializerList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ClientProfileSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ClientProfileSerializerList
      type: object
    ClientProfileTemplateFieldSerializer:
      properties:
        default:
          anyOf:
          - maxLength: 100
            type: string
          - type: 'null'
          description: Predefined default value for the field if not specified
          examples:
          - null
          title: Default
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Detailed description explaining the field's purpose and usage guidelines
          examples:
          - ARK server ports. Valid port values are in range 1000-65535
          title: Description
        field_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Data type classification of the field (e.g., string, integer, array)
          examples:
          - null
          title: Field Type
        id:
          description: Unique identifier for the DDoS protection field
          example: 11
          examples:
          - 11
          title: Id
          type: integer
        name:
          description: Human-readable name of the protection field
          example: ARK Ports
          examples:
          - ARK Ports
          maxLength: 30
          title: Name
          type: string
        required:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates whether this field must be provided when creating a protection profile
          examples:
          - true
          title: Required
        validation_schema:
          description: JSON schema defining validation rules and constraints for the field value
          examples:
          - items:
              maximum: 65535
              minimum: 1000
              type: integer
            minItems: 1
            type: array
          title: Validation Schema
      required:
      - id
      - name
      - description
      - field_type
      - required
      - default
      - validation_schema
      title: ClientProfileTemplateFieldSerializer
      type: object
    ClientProfileTemplateSerializer:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Detailed description explaining the template's purpose and use cases
          examples:
          - description
          title: Description
        fields:
          description: List of configurable fields that define the template's protection parameters
          items:
            $ref: '#/components/schemas/ClientProfileTemplateFieldSerializer'
          title: Fields
          type: array
        id:
          description: Unique identifier for the DDoS protection template
          example: 123
          examples:
          - 123
          title: Id
          type: integer
        name:
          description: Human-readable name of the protection template
          example: ICMP port
          examples:
          - ICMP port
          maxLength: 100
          title: Name
          type: string
      required:
      - id
      - name
      - description
      - fields
      title: ClientProfileTemplateSerializer
      type: object
    ClientProfileTemplateSerializerList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ClientProfileTemplateSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ClientProfileTemplateSerializerList
      type: object
    ClientUsersCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ClientUsersSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ClientUsersCollectionSerializer
      type: object
    ClientUsersSerializer:
      properties:
        activated:
          description: True if the user is active
          example: true
          examples:
          - true
          title: Activated
          type: boolean
        email:
          description: User email
          example: johnsmith@gmail.com
          examples:
          - johnsmith@gmail.com
          format: email
          title: Email
          type: string
        id:
          description: User ID
          example: 123
          examples:
          - 123
          title: Id
          type: integer
        is_admin:
          description: True if the user has admin role
          example: true
          examples:
          - true
          title: Is Admin
          type: boolean
        name:
          description: User name
          example: John
          examples:
          - John
          title: Name
          type: string
      required:
      - id
      - name
      - email
      - activated
      - is_admin
      title: Client users schema
      type: object
    ClusterCreateSerializer:
      properties:
        flavor:
          description: Cluster flavor ID
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        name:
          description: Cluster name
          example: gpu-cluster-1
          examples:
          - gpu-cluster-1
          maxLength: 63
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        servers_count:
          description: Number of servers in the cluster
          example: 3
          examples:
          - 3
          exclusiveMaximum: 1000
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
        servers_settings:
          $ref: '#/components/schemas/VirtualServerSettingsInputSerializer'
          description: Configuration settings for the servers in the cluster
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      required:
      - name
      - flavor
      - servers_count
      - servers_settings
      title: ClusterCreateSerializer
      type: object
    ClusterInstanceServer:
      properties:
        applied_servers_settings:
          $ref: '#/components/schemas/AppliedSpec'
          description: Snapshot of cluster spec (`image_id` and `servers_settings`) applied when this server was last created or rebuilt. Compare with the cluster current spec to see what changed.
          examples:
          - image_id: ded40aad-505c-463b-aa59-8f5f455d1b6f
            servers_settings:
              credentials:
                ssh_key_name: my-key
        created_at:
          description: Server creation date and time
          example: '2025-03-17T13:22:23Z'
          examples:
          - '2025-03-17T13:22:23Z'
          format: date-time
          title: Created At
          type: string
        flavor:
          description: Unique flavor identifier
          example: g3-ai-64-384-3000-l40s-48-2
          examples:
          - g3-ai-64-384-3000-l40s-48-2
          title: Flavor
          type: string
        has_pending_changes:
          description: True if there are pending (not yet applied) server settings changes
          example: false
          examples:
          - false
          title: Has Pending Changes
          type: boolean
        id:
          description: Server unique identifier
          example: b6e58490-58d3-451c-bb77-4178157c98b2
          examples:
          - b6e58490-58d3-451c-bb77-4178157c98b2
          format: uuid4
          title: Id
          type: string
        image_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Server's image UUID
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Image Id
        ip_addresses:
          description: List of IP addresses
          example: &id080
          - 192.168.1.1
          examples:
          - *id080
          items:
            type: string
          title: Ip Addresses
          type: array
        name:
          description: Server's name generated using cluster's name
          example: my-server-e2241889
          examples:
          - my-server-e2241889
          title: Name
          type: string
        security_groups:
          description: Security groups
          example: &id081
          - id: ae74714c-c380-48b4-87f8-758d656cdad6
            name: default
          examples:
          - *id081
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key pair assigned to the server
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Current server status
          examples:
          - ACTIVE
        tags:
          description: User defined tags
          example: &id082
          - key: task_id
            read_only: true
            value: d74c2bb9-cea7-4b23-a009-2f13518ae66d
          examples:
          - *id082
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Identifier of the task currently modifying the GPU cluster
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          title: Task Id
        updated_at:
          description: Server update date and time
          example: '2025-03-17T13:22:23Z'
          examples:
          - '2025-03-17T13:22:23Z'
          format: date-time
          title: Updated At
          type: string
        user_data_applied:
          description: True if user data (cloud-init) was applied when this server was last created or rebuilt.
          example: true
          examples:
          - true
          title: User Data Applied
          type: boolean
      required:
      - id
      - image_id
      - task_id
      - flavor
      - ssh_key_name
      - name
      - status
      - ip_addresses
      - tags
      - created_at
      - updated_at
      - security_groups
      - has_pending_changes
      - user_data_applied
      - applied_servers_settings
      title: ClusterInstanceServer
      type: object
    ClusterInstanceServersList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ClusterInstanceServer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ClusterInstanceServersList
      type: object
    ClusterInstanceVolume:
      properties:
        bootable:
          description: True if this is bootable volume
          example: false
          examples:
          - false
          title: Bootable
          type: boolean
        created_at:
          description: Volume creation date and time
          example: '2025-03-17T13:22:23Z'
          examples:
          - '2025-03-17T13:22:23Z'
          format: date-time
          title: Created At
          type: string
        id:
          description: Volume unique identifier
          example: b6e58490-58d3-451c-bb77-4178157c98b2
          examples:
          - b6e58490-58d3-451c-bb77-4178157c98b2
          format: uuid4
          title: Id
          type: string
        name:
          description: User defined name
          example: my-volume
          examples:
          - my-volume
          title: Name
          type: string
        root_fs:
          description: True if this volume contains root file system
          example: false
          examples:
          - false
          title: Root Fs
          type: boolean
        server_id:
          description: Server UUID
          example: ded40aad-505c-463b-aa59-8f5f455d1b6f
          examples:
          - ded40aad-505c-463b-aa59-8f5f455d1b6f
          format: uuid4
          title: Server Id
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          title: Size
          type: integer
        status:
          $ref: '#/components/schemas/VolumeStatus'
          description: Current volume status
          examples:
          - in-use
        tags:
          description: User defined tags
          example: &id083
          - key: task_id
            read_only: true
            value: d74c2bb9-cea7-4b23-a009-2f13518ae66d
          examples:
          - *id083
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        type:
          description: Volume type
          example: standard
          examples:
          - standard
          title: Type
          type: string
      required:
      - id
      - server_id
      - name
      - type
      - status
      - size
      - bootable
      - root_fs
      - tags
      - created_at
      title: ClusterInstanceVolume
      type: object
    ClusterInstanceVolumesList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ClusterInstanceVolume'
          title: Results
          type: array
      required:
      - count
      - results
      title: ClusterInstanceVolumesList
      type: object
    ClusterManagedBy:
      enum:
      - k8s
      - user
      title: ClusterManagedBy
      type: string
    ClusterStatus:
      enum:
      - DELETING
      - FAILED
      - PREPARING
      - READY
      - UNHEALTHY
      - UNKNOWN
      - UPDATING
      title: ClusterStatus
      type: string
    CompareTypeEnum:
      enum:
      - CONTAINS
      - ENDS_WITH
      - EQUAL_TO
      - REGEX
      - STARTS_WITH
      title: CompareTypeEnum
      type: string
    ComponentConfiguration:
      properties:
        exposed:
          description: Indicates if the component will obtain a public address
          title: Exposed
          type: boolean
        flavor:
          description: Chosen flavor or variant of the component
          title: Flavor
          type: string
        parameter_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ParameterOverride'
          description: Map of parameter overrides for customization
          title: Parameter Overrides
          type: object
        scale:
          $ref: '#/components/schemas/Scale'
          description: Scaling parameters of the component
      required:
      - flavor
      - parameter_overrides
      - exposed
      - scale
      title: ComponentConfiguration
      type: object
    ComponentConfigurationPatch:
      properties:
        exposed:
          description: Whether the component should be exposed via a public endpoint (e.g., for external inference/API access).
          title: Exposed
          type: boolean
        flavor:
          description: Specifies the compute configuration (e.g., CPU/GPU size) to be used for the component.
          title: Flavor
          type: string
        parameter_overrides:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/ParameterOverride'
            - type: 'null'
          description: Map of parameter overrides for customization
          title: Parameter Overrides
          type: object
        scale:
          $ref: '#/components/schemas/ScalePatch'
          description: Scaling parameters of the component
      title: ComponentConfigurationPatch
      type: object
    ConnectedDevicesVIPCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ConnectedDevicesVIPSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ConnectedDevicesVIPCollectionSerializer
      type: object
    ConnectedDevicesVIPSerializer:
      properties:
        instance_id:
          description: ID of the instance that owns the port
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Instance Id
          type: string
        instance_name:
          description: Name of the instance that owns the port
          example: Virtual Machine 1
          examples:
          - Virtual Machine 1
          title: Instance Name
          type: string
        ip_assignments:
          description: IP addresses assigned to this port
          items:
            $ref: '#/components/schemas/PortIpWithSubnetSerializer'
          title: Ip Assignments
          type: array
        network:
          $ref: '#/components/schemas/NetworkSerializer'
          description: Network details
        port_id:
          description: Port ID that shares VIP
          example: 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - 351b0dd7-ca09-431c-be53-935db3785067
          format: uuid4
          title: Port Id
          type: string
      required:
      - port_id
      - instance_id
      - instance_name
      - network
      - ip_assignments
      title: ConnectedDevicesVIPSerializer
      type: object
    ConsoleType:
      enum:
      - novnc
      - serial
      - spice
      - vnc
      title: ConsoleType
      type: string
    ConsolidatedStatusEnum:
      enum:
      - Active
      - Failed
      - PartiallyDeployed
      - Unknown
      title: ConsolidatedStatusEnum
      type: string
    ContainerCreateSerializer:
      properties:
        commands:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Container's commands
          examples:
          - python3 app.py -m test
          title: Commands
        description:
          default: ''
          description: Container description
          example: My first container
          examples:
          - My first container
          maxLength: 255
          title: Description
          type: string
        envs:
          description: Container environment variables
          example: &id084
            ENVIRONMENT_VARIABLE: value 2
            ENV_VAR: value 1
          examples:
          - *id084
          propertyNames:
            maxLength: 255
            pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
          title: Envs
          type: object
          additionalProperties:
            maxLength: 255
            type: string
        flavor:
          description: Container flavor
          example: 250mCPU-512MiB
          examples:
          - 250mCPU-512MiB
          pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}M[i]?B$
          title: Flavor
          type: string
        image:
          description: Container image
          example: nginx:latest
          examples:
          - nginx:latest
          maxLength: 230
          title: Image
          type: string
        is_api_key_auth:
          default: false
          description: Enable/Disable api key authentication. Enable api key is temporarily disabled. As a result, using CaaS with authorization is currently not supported.
          example: false
          examples:
          - false
          title: Is Api Key Auth
          type: boolean
        is_disabled:
          default: false
          description: Set to true if container is disabled
          example: false
          examples:
          - false
          title: Is Disabled
          type: boolean
        listening_port:
          description: Container listening port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Listening Port
          type: integer
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingSerializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
          - enabled: false
        name:
          description: Container name
          example: nginx
          examples:
          - nginx
          maxLength: 43
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$
          title: Name
          type: string
        pull_secret:
          anyOf:
          - maxLength: 400
            type: string
          - type: 'null'
          default: null
          description: Image pull secret
          examples:
          - my-secret
          title: Pull Secret
        scale:
          $ref: '#/components/schemas/ScaleSerializer'
          description: Container autoscaling
          examples:
          - max: 2
            min: 1
        timeout:
          anyOf:
          - maximum: 180
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Container timeout in seconds
          examples:
          - 5
          title: Timeout
      required:
      - name
      - image
      - listening_port
      - flavor
      - scale
      title: ContainerCreateSerializer
      type: object
    ContainerInSerializerV3:
      properties:
        region_id:
          description: Region id for the container
          example: 1337
          examples:
          - 1337
          title: Region Id
          type: integer
        scale:
          $ref: '#/components/schemas/ContainerScaleSerializerV3'
          description: Scale for the container
          examples:
          - max: 3
            min: 1
      required:
      - region_id
      - scale
      title: ContainerInSerializerV3
      type: object
    ContainerInUpdateSerializerV3:
      properties:
        region_id:
          description: Region id for the container
          example: '1337'
          examples:
          - '1337'
          title: Region Id
          type: integer
        scale:
          $ref: '#/components/schemas/ContainerScaleUpdateSerializerV3'
          description: Scale for the container
          examples:
          - max: 3
            min: 1
      required:
      - region_id
      - scale
      title: ContainerInUpdateSerializerV3
      type: object
    ContainerListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ContainerSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ContainerListSerializer
      type: object
    ContainerOutSerializerV3:
      properties:
        address:
          anyOf:
          - format: uri
            minLength: 1
            type: string
          - type: 'null'
          description: Address of the inference instance
          examples:
          - https://example.com
          title: Address
        deploy_status:
          $ref: '#/components/schemas/DeployStatusSerializer'
          description: Status of the containers deployment
          examples:
          - ready: 1
            total: 3
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message if the container deployment failed
          examples:
          - Failed to pull image
          - No capacity available in the region
          title: Error Message
        region_id:
          description: Region name for the container
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        scale:
          $ref: '#/components/schemas/ContainerScaleOutSerializerV3'
          description: Scale for the container
          examples:
          - cooldown_period: 60
            max: 3
            min: 1
            triggers:
              cpu:
                threshold: 80
              memory:
                threshold: 70
      required:
      - region_id
      - address
      - scale
      - deploy_status
      - error_message
      title: ContainerOutSerializerV3
      type: object
    ContainerPatchSerializer:
      properties:
        commands:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Container's commands
          examples:
          - python3 app.py -m test
          title: Commands
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          default: null
          description: Container description
          examples:
          - My first container
          title: Description
        envs:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Container environment variables
          examples:
          - ENVIRONMENT_VARIABLE: value 2
            ENV_VAR: value 1
          title: Envs
        flavor:
          anyOf:
          - pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}M[i]?B$
            type: string
          - type: 'null'
          default: null
          description: Container flavor
          examples:
          - 250mCPU-512MiB
          title: Flavor
        image:
          anyOf:
          - maxLength: 230
            type: string
          - type: 'null'
          default: null
          description: Container image
          examples:
          - nginx:latest
          title: Image
        is_api_key_auth:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Enable/Disable api key authentication. Enable api key is temporarily disabled. As a result, using CaaS with authorization is currently not supported.
          examples:
          - false
          title: Is Api Key Auth
        is_disabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Set to true if container is disabled
          examples:
          - false
          title: Is Disabled
        listening_port:
          anyOf:
          - maximum: 65535
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Container listening port
          examples:
          - 80
          title: Listening Port
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingSerializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
          - enabled: false
        pull_secret:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Image pull secret
          examples:
          - my-secret
          title: Pull Secret
        scale:
          anyOf:
          - $ref: '#/components/schemas/ScaleSerializer'
          - type: 'null'
          default: null
          description: Container autoscaling
          examples:
          - max: 2
            min: 1
        timeout:
          anyOf:
          - maximum: 180
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Container timeout in seconds
          examples:
          - 5
          title: Timeout
      title: ContainerPatchSerializer
      type: object
    ContainerPriceRequestSerializer:
      properties:
        flavor:
          description: Container flavor
          example: 250mCPU-512MiB
          examples:
          - 250mCPU-512MiB
          pattern: ^[0-9]{0,12}mCPU-[0-9]{0,12}M[i]?B$
          title: Flavor
          type: string
        scale:
          $ref: '#/components/schemas/ScaleSerializer'
          description: Container autoscaling
          examples:
          - max: 2
            min: 1
      required:
      - flavor
      - scale
      title: ContainerPriceRequestSerializer
      type: object
    ContainerProbeExecConfigOutSerializerV2:
      properties:
        command:
          description: Command to be executed inside the running container.
          example: &id085
          - ls
          - -l
          examples:
          - *id085
          items:
            type: string
          title: Command
          type: array
      required:
      - command
      title: ContainerProbeExecConfigOutSerializerV2
      type: object
    ContainerProbeExecConfigSerializerV2:
      properties:
        command:
          description: Command to be executed inside the running container.
          example: &id086
          - ls
          - -l
          examples:
          - *id086
          items:
            type: string
          title: Command
          type: array
      required:
      - command
      title: ContainerProbeExecConfigSerializerV2
      type: object
    ContainerProbeHttpGetConfigOutSerializerV2:
      properties:
        headers:
          additionalProperties:
            type: string
          description: HTTP headers to be sent with the request.
          example: &id087
            Authorization: Bearer token 123
          examples:
          - *id087
          title: Headers
          type: object
        host:
          anyOf:
          - type: string
          - type: 'null'
          description: Host name to send HTTP request to.
          examples:
          - 127.0.0.1
          title: Host
        path:
          description: The endpoint to send the HTTP request to.
          example: /healthz
          examples:
          - /healthz
          - /readiness
          title: Path
          type: string
        port:
          description: Port number the probe should connect to.
          example: 80
          examples:
          - 80
          - 8080
          title: Port
          type: integer
        schema:
          description: Schema to use for the HTTP request.
          example: HTTP
          examples:
          - HTTP
          - HTTPS
          title: Schema
          type: string
      required:
      - headers
      - host
      - path
      - port
      - schema
      title: ContainerProbeHttpGetConfigOutSerializerV2
      type: object
    ContainerProbeHttpGetConfigSerializerV2:
      properties:
        headers:
          additionalProperties:
            type: string
          description: HTTP headers to be sent with the request.
          example: &id088
            Authorization: Bearer token 123
          examples:
          - *id088
          title: Headers
          type: object
        host:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Host name to send HTTP request to.
          examples:
          - 127.0.0.1
          title: Host
        path:
          default: /
          description: The endpoint to send the HTTP request to.
          example: /healthz
          examples:
          - /healthz
          - /readiness
          title: Path
          type: string
        port:
          description: Port number the probe should connect to.
          example: 80
          examples:
          - 80
          - 8080
          maximum: 65535
          minimum: 1
          title: Port
          type: integer
        schema:
          default: HTTP
          description: Schema to use for the HTTP request.
          example: HTTP
          examples:
          - HTTP
          - HTTPS
          pattern: ^(HTTP|HTTPS)$
          title: Schema
          type: string
      required:
      - port
      title: ContainerProbeHttpGetConfigSerializerV2
      type: object
    ContainerProbeOutSerializerV2:
      properties:
        exec:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeExecConfigOutSerializerV2'
          - type: 'null'
          description: Exec probe configuration
        failure_threshold:
          description: The number of consecutive probe failures that mark the container as unhealthy.
          example: 3
          examples:
          - 3
          title: Failure Threshold
          type: integer
        http_get:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeHttpGetConfigOutSerializerV2'
          - type: 'null'
          description: HTTP GET probe configuration
        initial_delay_seconds:
          description: The initial delay before starting the first probe.
          example: 0
          examples:
          - 0
          - 10
          title: Initial Delay Seconds
          type: integer
        period_seconds:
          description: How often (in seconds) to perform the probe.
          example: 5
          examples:
          - 5
          - 10
          title: Period Seconds
          type: integer
        success_threshold:
          description: The number of consecutive successful probes that mark the container as healthy.
          example: 1
          examples:
          - 1
          title: Success Threshold
          type: integer
        tcp_socket:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeTcpSocketConfigOutSerializerV2'
          - type: 'null'
          description: TCP socket probe configuration
        timeout_seconds:
          description: The timeout for each probe.
          example: 1
          examples:
          - 1
          - 5
          title: Timeout Seconds
          type: integer
      required:
      - failure_threshold
      - initial_delay_seconds
      - period_seconds
      - timeout_seconds
      - success_threshold
      - exec
      - tcp_socket
      - http_get
      title: ContainerProbeOutSerializerV2
      type: object
    ContainerProbeSerializerV2:
      properties:
        exec:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeExecConfigSerializerV2'
          - type: 'null'
          default: null
          description: Exec probe configuration
        failure_threshold:
          default: 3
          description: The number of consecutive probe failures that mark the container as unhealthy.
          example: 3
          examples:
          - 3
          minimum: 1
          title: Failure Threshold
          type: integer
        http_get:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeHttpGetConfigSerializerV2'
          - type: 'null'
          default: null
          description: HTTP GET probe configuration
        initial_delay_seconds:
          default: 0
          description: The initial delay before starting the first probe.
          example: 0
          examples:
          - 0
          - 10
          minimum: 0
          title: Initial Delay Seconds
          type: integer
        period_seconds:
          default: 10
          description: How often (in seconds) to perform the probe.
          example: 5
          examples:
          - 5
          - 10
          minimum: 1
          title: Period Seconds
          type: integer
        success_threshold:
          default: 1
          description: The number of consecutive successful probes that mark the container as healthy.
          example: 1
          examples:
          - 1
          minimum: 1
          title: Success Threshold
          type: integer
        tcp_socket:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeTcpSocketConfigSerializerV2'
          - type: 'null'
          default: null
          description: TCP socket probe configuration
        timeout_seconds:
          default: 3
          description: The timeout for each probe.
          example: 1
          examples:
          - 1
          - 5
          minimum: 1
          title: Timeout Seconds
          type: integer
      title: ContainerProbeSerializerV2
      type: object
    ContainerProbeTcpSocketConfigOutSerializerV2:
      properties:
        port:
          description: Port number to check if it's open.
          example: 80
          examples:
          - 80
          - 8080
          title: Port
          type: integer
      required:
      - port
      title: ContainerProbeTcpSocketConfigOutSerializerV2
      type: object
    ContainerProbeTcpSocketConfigSerializerV2:
      properties:
        port:
          description: Port number to check if it's open.
          example: 80
          examples:
          - 80
          - 8080
          maximum: 65535
          minimum: 1
          title: Port
          type: integer
      required:
      - port
      title: ContainerProbeTcpSocketConfigSerializerV2
      type: object
    ContainerQuotaCheckSerializer:
      description: |-
        Exceeded quota fields, present only when regional limits would be violated.

        An empty response means no quotas are exceeded.
      properties:
        caas_container_count_limit:
          description: Containers count limit
          example: 5
          examples:
          - 5
          title: Caas Container Count Limit
          type: integer
        caas_container_count_requested:
          description: Containers count requested
          example: 1
          examples:
          - 1
          title: Caas Container Count Requested
          type: integer
        caas_container_count_usage:
          description: Containers count usage
          example: 5
          examples:
          - 5
          title: Caas Container Count Usage
          type: integer
        caas_cpu_count_limit:
          description: Containers CPU count limit, mCPU
          example: 10
          examples:
          - 10
          title: Caas Cpu Count Limit
          type: integer
        caas_cpu_count_requested:
          description: Containers CPU count requested, mCPU
          example: 20
          examples:
          - 20
          title: Caas Cpu Count Requested
          type: integer
        caas_cpu_count_usage:
          description: Containers CPU count usage, mCPU
          example: 5
          examples:
          - 5
          title: Caas Cpu Count Usage
          type: integer
        caas_gpu_count_limit:
          description: Containers GPU count limit
          example: 4
          examples:
          - 4
          title: Caas Gpu Count Limit
          type: integer
        caas_gpu_count_requested:
          description: Containers GPU count requested
          example: 8
          examples:
          - 8
          title: Caas Gpu Count Requested
          type: integer
        caas_gpu_count_usage:
          description: Containers GPU count usage
          example: 2
          examples:
          - 2
          title: Caas Gpu Count Usage
          type: integer
        caas_ram_size_limit:
          description: Containers RAM size limit, MiB
          example: 2048
          examples:
          - 2048
          title: Caas Ram Size Limit
          type: integer
        caas_ram_size_requested:
          description: Containers RAM size requested, MiB
          example: 4096
          examples:
          - 4096
          title: Caas Ram Size Requested
          type: integer
        caas_ram_size_usage:
          description: Containers RAM size usage, MiB
          example: 1024
          examples:
          - 1024
          title: Caas Ram Size Usage
          type: integer
      title: ContainerQuotaCheckSerializer
      type: object
    ContainerScaleOutSerializerV3:
      properties:
        cooldown_period:
          anyOf:
          - type: integer
          - type: 'null'
          description: Cooldown period between scaling actions in seconds
          examples:
          - 60
          title: Cooldown Period
        max:
          description: Maximum scale for the container
          example: 3
          examples:
          - 3
          title: Max
          type: integer
        min:
          description: Minimum scale for the container
          example: 1
          examples:
          - 1
          title: Min
          type: integer
        polling_interval:
          anyOf:
          - type: integer
          - type: 'null'
          description: Polling interval for scaling triggers in seconds
          examples:
          - 30
          title: Polling Interval
        triggers:
          $ref: '#/components/schemas/ContainerScaleTriggersOutSerializer'
          description: Triggers for scaling actions
          examples:
          - cpu:
              threshold: 75
      required:
      - min
      - max
      - cooldown_period
      - polling_interval
      - triggers
      title: ContainerScaleOutSerializerV3
      type: object
    ContainerScaleSerializerV3:
      properties:
        cooldown_period:
          anyOf:
          - maximum: 3600
            minimum: 1
            type: integer
          - type: 'null'
          default: 60
          description: Cooldown period between scaling actions in seconds
          examples:
          - 60
          title: Cooldown Period
        max:
          description: Maximum scale for the container
          example: 3
          examples:
          - 3
          maximum: 300
          title: Max
          type: integer
        min:
          description: Minimum scale for the container
          example: 1
          examples:
          - 1
          minimum: 0
          title: Min
          type: integer
        polling_interval:
          anyOf:
          - maximum: 3600
            minimum: 5
            type: integer
          - type: 'null'
          default: 30
          description: Polling interval for scaling triggers in seconds
          examples:
          - 30
          title: Polling Interval
        triggers:
          $ref: '#/components/schemas/ContainerScaleTriggersSerializer'
          default:
            cpu:
              threshold: 80
            memory:
              threshold: 80
            gpu_utilization: null
            gpu_memory: null
            http: null
            sqs: null
          description: Triggers for scaling actions
          examples:
          - cpu:
              threshold: 75
      required:
      - min
      - max
      title: ContainerScaleSerializerV3
      type: object
    ContainerScaleTriggersOutSerializer:
      properties:
        cpu:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdOutSerializer'
          - type: 'null'
          description: CPU trigger configuration
          examples:
          - threshold: 80
        gpu_memory:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdOutSerializer'
          - type: 'null'
          description: GPU memory trigger configuration. Calculated by `DCGM_FI_DEV_MEM_COPY_UTIL` metric
          examples:
          - threshold: 80
        gpu_utilization:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdOutSerializer'
          - type: 'null'
          description: GPU utilization trigger configuration. Calculated by `DCGM_FI_DEV_GPU_UTIL` metric
          examples:
          - threshold: 80
        http:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersRateOutSerializer'
          - type: 'null'
          description: HTTP trigger configuration
          examples:
          - rate: 1
            window: 60
        memory:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdOutSerializer'
          - type: 'null'
          description: Memory trigger configuration
          examples:
          - threshold: 80
        sqs:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersSqsOutSerializer'
          - type: 'null'
          description: SQS trigger configuration
      required:
      - cpu
      - memory
      - gpu_utilization
      - gpu_memory
      - http
      - sqs
      title: ContainerScaleTriggersOutSerializer
      type: object
    ContainerScaleTriggersRateOutSerializer:
      properties:
        rate:
          description: Request count per 'window' seconds for the http trigger
          example: 1
          examples:
          - 1
          title: Rate
          type: integer
        window:
          description: Time window for rate calculation in seconds
          example: 60
          examples:
          - 60
          title: Window
          type: integer
      required:
      - rate
      - window
      title: ContainerScaleTriggersRateOutSerializer
      type: object
    ContainerScaleTriggersRateSerializer:
      properties:
        rate:
          description: Request count per 'window' seconds for the http trigger
          example: 1
          examples:
          - 1
          maximum: 1000
          minimum: 1
          title: Rate
          type: integer
        window:
          description: Time window for rate calculation in seconds
          example: 60
          examples:
          - 60
          maximum: 3600
          minimum: 1
          title: Window
          type: integer
      required:
      - rate
      - window
      title: ContainerScaleTriggersRateSerializer
      type: object
    ContainerScaleTriggersSerializer:
      properties:
        cpu:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdSerializer'
          - type: 'null'
          default: null
          description: CPU trigger configuration
          examples:
          - threshold: 80
        gpu_memory:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdSerializer'
          - type: 'null'
          default: null
          description: GPU memory trigger configuration. Calculated by `DCGM_FI_DEV_MEM_COPY_UTIL` metric
          examples:
          - threshold: 80
        gpu_utilization:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdSerializer'
          - type: 'null'
          default: null
          description: GPU utilization trigger configuration. Calculated by `DCGM_FI_DEV_GPU_UTIL` metric
          examples:
          - threshold: 80
        http:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersRateSerializer'
          - type: 'null'
          default: null
          description: HTTP trigger configuration
          examples:
          - rate: 1
            window: 60
        memory:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersThresholdSerializer'
          - type: 'null'
          default: null
          description: Memory trigger configuration
          examples:
          - threshold: 80
        sqs:
          anyOf:
          - $ref: '#/components/schemas/ContainerScaleTriggersSqsSerializer'
          - type: 'null'
          default: null
          description: SQS trigger configuration
      title: ContainerScaleTriggersSerializer
      type: object
    ContainerScaleTriggersSqsOutSerializer:
      properties:
        activation_queue_length:
          description: Number of messages for activation
          example: 5
          examples:
          - 5
          title: Activation Queue Length
          type: integer
        aws_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom AWS endpoint
          title: Aws Endpoint
        aws_region:
          description: AWS region
          example: us-east-1
          examples:
          - us-east-1
          title: Aws Region
          type: string
        queue_length:
          description: Number of messages for one replica
          example: 10
          examples:
          - 10
          title: Queue Length
          type: integer
        queue_url:
          description: SQS queue URL
          example: https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
          examples:
          - https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
          title: Queue Url
          type: string
        scale_on_delayed:
          description: Scale on delayed messages
          example: true
          examples:
          - true
          - false
          title: Scale On Delayed
          type: boolean
        scale_on_flight:
          description: Scale on in-flight messages
          example: true
          examples:
          - true
          - false
          title: Scale On Flight
          type: boolean
        secret_name:
          description: Auth secret name
          title: Secret Name
          type: string
      required:
      - queue_url
      - queue_length
      - activation_queue_length
      - scale_on_flight
      - scale_on_delayed
      - aws_region
      - aws_endpoint
      - secret_name
      title: ContainerScaleTriggersSqsOutSerializer
      type: object
    ContainerScaleTriggersSqsSerializer:
      properties:
        activation_queue_length:
          description: Number of messages for activation
          minimum: 1
          title: Activation Queue Length
          type: integer
        aws_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Custom AWS endpoint
          title: Aws Endpoint
        aws_region:
          description: AWS region
          example: us-east-1
          examples:
          - us-east-1
          minLength: 1
          title: Aws Region
          type: string
        queue_length:
          description: Number of messages for one replica
          example: 10
          examples:
          - 10
          minimum: 1
          title: Queue Length
          type: integer
        queue_url:
          description: SQS queue URL
          example: https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
          examples:
          - https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
          minLength: 1
          title: Queue Url
          type: string
        scale_on_delayed:
          default: false
          description: Scale on delayed messages
          title: Scale On Delayed
          type: boolean
        scale_on_flight:
          default: false
          description: Scale on in-flight messages
          title: Scale On Flight
          type: boolean
        secret_name:
          description: Auth secret name
          minLength: 1
          title: Secret Name
          type: string
      required:
      - queue_url
      - queue_length
      - activation_queue_length
      - aws_region
      - secret_name
      title: ContainerScaleTriggersSqsSerializer
      type: object
    ContainerScaleTriggersThresholdOutSerializer:
      properties:
        threshold:
          description: Threshold value for the trigger in percentage
          example: 75
          examples:
          - 75
          title: Threshold
          type: integer
      required:
      - threshold
      title: ContainerScaleTriggersThresholdOutSerializer
      type: object
    ContainerScaleTriggersThresholdSerializer:
      properties:
        threshold:
          description: Threshold value for the trigger in percentage
          example: 75
          examples:
          - 75
          maximum: 100
          minimum: 1
          title: Threshold
          type: integer
      required:
      - threshold
      title: ContainerScaleTriggersThresholdSerializer
      type: object
    ContainerScaleUpdateSerializerV3:
      properties:
        cooldown_period:
          description: Cooldown period between scaling actions in seconds
          example: 60
          examples:
          - 60
          maximum: 3600
          minimum: 1
          title: Cooldown Period
          type: integer
        max:
          description: Maximum scale for the container
          example: 3
          examples:
          - 3
          maximum: 300
          title: Max
          type: integer
        min:
          description: Minimum scale for the container
          example: 1
          examples:
          - 1
          minimum: 0
          title: Min
          type: integer
        polling_interval:
          description: Polling interval for scaling triggers in seconds
          example: 30
          examples:
          - 30
          maximum: 3600
          minimum: 5
          title: Polling Interval
          type: integer
        triggers:
          $ref: '#/components/schemas/ContainerScaleTriggersSerializer'
          description: Triggers for scaling actions
          examples:
          - cpu:
              threshold: 75
      required:
      - min
      - max
      title: ContainerScaleUpdateSerializerV3
      type: object
    ContainerSerializer:
      properties:
        address:
          description: Container address
          example: some.example.com
          examples:
          - some.example.com
          title: Address
          type: string
        commands:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Container's commands
          examples:
          - python3 app.py -m test
          title: Commands
        created_at:
          description: Container creation date
          example: '2021-01-01T00:00:00Z'
          examples:
          - '2021-01-01T00:00:00Z'
          format: date-time
          title: Created At
          type: string
        deploy_status:
          $ref: '#/components/schemas/DeployStatusSerializer'
          description: Container deploy status
        description:
          description: Container description
          example: My first container
          examples:
          - My first container
          title: Description
          type: string
        envs:
          description: Container environment variables
          example: &id089
            ENVIRONMENT_VARIABLE: value 2
            ENV_VAR: value 1
          examples:
          - *id089
          propertyNames:
            maxLength: 255
            pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
          title: Envs
          type: object
          additionalProperties:
            maxLength: 255
            type: string
        flavor:
          description: Container flavor
          example: 250mCPU-512MiB
          examples:
          - 250mCPU-512MiB
          title: Flavor
          type: string
        image:
          description: Container image
          example: nginx:latest
          examples:
          - nginx:latest
          title: Image
          type: string
        is_api_key_auth:
          description: Enable/Disable api key authentication
          example: false
          examples:
          - false
          title: Is Api Key Auth
          type: boolean
        is_disabled:
          description: Set to true if container is disabled
          example: false
          examples:
          - false
          title: Is Disabled
          type: boolean
        listening_port:
          description: Container listening port
          example: 80
          examples:
          - 80
          title: Listening Port
          type: integer
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingOutSerializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
        name:
          description: Container name
          example: nginx
          examples:
          - nginx
          title: Name
          type: string
        namespace:
          description: Container namespace
          example: default
          examples:
          - default
          title: Namespace
          type: string
        pull_secret:
          anyOf:
          - type: string
          - type: 'null'
          description: Image pull secret
          examples:
          - my-secret
          title: Pull Secret
        scale:
          $ref: '#/components/schemas/ScaleSerializer'
          description: Container autoscaling
          examples:
          - max: 2
            min: 1
        source:
          description: Source of the container, can be 'cloud' or 'iate'
          example: cloud
          examples:
          - cloud
          title: Source
          type: string
        status:
          description: Container status
          example: RUNNING
          examples:
          - RUNNING
          title: Status
          type: string
        status_message:
          anyOf:
          - type: string
          - type: 'null'
          description: Container status message
          examples:
          - Some container status
          title: Status Message
        timeout:
          description: Container timeout in seconds
          example: 5
          examples:
          - 5
          title: Timeout
          type: integer
      required:
      - name
      - image
      - listening_port
      - description
      - envs
      - timeout
      - flavor
      - source
      - scale
      - is_disabled
      - is_api_key_auth
      - pull_secret
      - status
      - status_message
      - namespace
      - address
      - created_at
      - deploy_status
      title: ContainerSerializer
      type: object
    ConvertFloatingIPSerializer:
      description: Serializer for floating IP conversion request.
      properties:
        target_type:
          $ref: '#/components/schemas/FloatingIPConversionTargetType'
          description: Target type for conversion
          examples:
          - reserved_fixed_ip
      required:
      - target_type
      title: ConvertFloatingIPSerializer
      type: object
    ConvertReservedFixedIPSerializer:
      description: Serializer for reserved fixed IP conversion request.
      properties:
        target_type:
          $ref: '#/components/schemas/ReservedFixedIPConversionTargetType'
          description: Target type for conversion
          examples:
          - floating_ip
      required:
      - target_type
      title: ConvertReservedFixedIPSerializer
      type: object
    Coordinate:
      properties:
        latitude:
          example: '41.40338'
          examples:
          - '41.40338'
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Latitude
          type: string
        longitude:
          example: '2.17403'
          examples:
          - '2.17403'
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Longitude
          type: string
      required:
      - latitude
      - longitude
      title: Coordinate
      type: object
    CostReportBreakdownGroupBy:
      description: Dimension the breakdown rows are summed down to, on top of the always-present date.
      enum:
      - flavor
      - project
      - region
      - type
      title: CostReportBreakdownGroupBy
      type: string
    CostReportBreakdownRequestSerializer:
      additionalProperties: false
      properties:
        enable_last_day:
          default: false
          description: Expenses for the last specified day are taken into account. As the default, False.
          example: false
          examples:
          - false
          title: Enable Last Day
          type: boolean
        group_by:
          $ref: '#/components/schemas/CostReportBreakdownGroupBy'
          default: region
          description: Dimension the daily rows are summed down to. Only one grouping per request.
          examples:
          - region
        project_ids:
          description: List of project IDs. Omit for all accessible projects.
          example: &id090
          - 16
          - 17
          - 18
          - 19
          - 20
          examples:
          - *id090
          items:
            type: integer
          minItems: 1
          title: Project Ids
          type: array
        region_ids:
          description: List of region IDs. Omit for all regions and global usage; an empty list is rejected. Use 0 for global usage that has no region.
          example: &id091
          - 0
          - 76
          examples:
          - *id091
          items:
            type: integer
          minItems: 1
          title: Region Ids
          type: array
        response_format:
          $ref: '#/components/schemas/CostReportResourcesResponseFormat'
          default: json
          description: 'Format of the response: json (default) or `csv_records`.'
          examples:
          - csv_records
          - json
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          description: The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
          - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
          - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types. Omit for all types.
          example: &id092
          - egress_traffic
          - instance
          examples:
          - *id092
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          minItems: 1
          title: Types
          type: array
      required:
      - time_from
      - time_to
      title: CostReportBreakdownRequestSerializer
      type: object
    CostReportBreakdownResponseSerializer:
      properties:
        count:
          description: Count of returned rows
          example: 7
          examples:
          - 7
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: '''show'' when the client may see prices, ''hide'' for trial clients, clients with no product status, and clients of a reseller that does not expose prices. This report never returns ''error''.'
        results:
          items:
            $ref: '#/components/schemas/CostReportBreakdownResultSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - price_status
      title: CostReportBreakdownResponseSerializer
      type: object
    CostReportBreakdownResultSerializer:
      description: One day of usage for one `group_by` value.
      properties:
        date:
          description: Day the usage was billed for
          example: '2026-07-17'
          examples:
          - '2026-07-17'
          format: date
          title: Date
          type: string
        error:
          anyOf:
          - $ref: '#/components/schemas/CostReportCostError'
          - type: 'null'
          description: Why the cost is missing, set only when cost is null
          examples:
          - null
        flavor:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor name, set when `group_by` is 'flavor'
          examples:
          - bm2-infrastructure-medium
          title: Flavor
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID, set when `group_by` is 'project'
          examples:
          - 101
          title: Project Id
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Region ID, set when `group_by` is 'region'. 0 means global usage that has no region.
          examples:
          - 76
          title: Region Id
        type:
          anyOf:
          - $ref: '#/components/schemas/PrebillingResourceTypes'
          - type: 'null'
          description: Resource type, set when `group_by` is 'type' or 'flavor'
          examples:
          - baremetal
        usage:
          $ref: '#/components/schemas/CostReportBreakdownUsageSerializer'
      required:
      - date
      - type
      - flavor
      - region_id
      - project_id
      - usage
      - error
      title: CostReportBreakdownResultSerializer
      type: object
    CostReportBreakdownUsageSerializer:
      description: How much the group was used that day, and what that costs.
      properties:
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for the day, never rounded. Null if there is no price.
          examples:
          - 163.190753
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost, null if there is no cost
          examples:
          - EUR
          title: Currency
        unit:
          description: Unit of the billing value
          example: minutes
          examples:
          - minutes
          title: Unit
          type: string
        value:
          description: Usage of the billing metric for the day, in `unit`, kept at full precision.
          example: 6688
          examples:
          - 6688
          title: Value
          type: number
      required:
      - value
      - unit
      - cost
      - currency
      title: CostReportBreakdownUsageSerializer
      type: object
    CostReportCostError:
      description: Why a row has no cost. Values are the plain strings v1 has always returned.
      enum:
      - Multiple subscriptions
      - No tariff
      title: CostReportCostError
      type: string
    CostReportOrderByChoices:
      enum:
      - billing_value.asc
      - billing_value.desc
      - first_seen.asc
      - first_seen.desc
      - last_name.asc
      - last_name.desc
      - last_seen.asc
      - last_seen.desc
      - project.asc
      - project.desc
      - region.asc
      - region.desc
      - type.asc
      - type.desc
      title: CostReportOrderByChoices
      type: string
    CostReportPriceDisplayStatus:
      enum:
      - error
      - hide
      - show
      title: CostReportPriceDisplayStatus
      type: string
    CostReportResourceV2Serializer:
      description: What the resource is.
      properties:
        flavor:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor name
          examples:
          - bm2-infrastructure-medium
          title: Flavor
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the resource
          examples:
          - bm-amsterdam-1fe6
          title: Name
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          $ref: '#/components/schemas/PrebillingResourceTypes'
          description: Resource type
          examples:
          - baremetal
        uuid:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: UUID of the resource
          examples:
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          title: Uuid
      required:
      - type
      - uuid
      - name
      - flavor
      - tags
      title: CostReportResourceV2Serializer
      type: object
    CostReportResourcesRequestSerializer:
      additionalProperties: false
      example: &id093
        limit: 50
        offset: 0
        order_by:
        - project.desc
        projects:
        - 16
        - 17
        - 18
        - 19
        - 20
        regions:
        - 18
        - 76
        response_format: json
        schema_filter:
          field: flavor
          type: instance
          values:
          - g1-standard-1-2
        tags:
          condition_type: OR
          conditions:
          - key: os_version
            strict: true
            value: '22.04'
          - key: os_version
            strict: true
            value: '23.04'
        time_from: '2024-08-01T00:00:00'
        time_to: '2024-09-01T00:00:00'
        types:
        - egress_traffic
        - instance
      examples:
      - *id093
      properties:
        enable_last_day:
          default: false
          description: Expenses for the last specified day are taken into account. As the default, False.
          example: false
          examples:
          - false
          title: Enable Last Day
          type: boolean
        limit:
          default: 10
          description: The response resources limit. Defaults to 10.
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          title: Limit
          type: integer
        offset:
          default: 0
          description: The response resources offset.
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
        order_by:
          default:
          - project.asc
          description: List of sorting criteria in 'field.direction' format.
          example: &id094
          - project.asc
          - region.desc
          examples:
          - *id094
          items:
            $ref: '#/components/schemas/CostReportOrderByChoices'
          title: Order By
          type: array
        projects:
          description: List of project IDs
          example: &id095
          - 16
          - 17
          - 18
          - 19
          - 20
          examples:
          - *id095
          items:
            type: integer
          title: Projects
          type: array
        regions:
          description: List of region IDs.
          example: &id096
          - 1
          - 2
          - 3
          examples:
          - *id096
          items:
            type: integer
          title: Regions
          type: array
        response_format:
          $ref: '#/components/schemas/CostReportResourcesResponseFormat'
          default: json
          description: Format of the response (csv or json).
          examples:
          - csv_records
          - json
        rounding:
          default: true
          description: Round cost values to 5 decimal places. When false, returns full precision.
          title: Rounding
          type: boolean
        schema_filter:
          description: Extended filter for field filtering.
          discriminator:
            mapping:
              ai_cluster: '#/components/schemas/SchemaFilterAiClusterSerializer'
              ai_virtual_cluster: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
              backup: '#/components/schemas/SchemaFilterBackupSerializer'
              baremetal: '#/components/schemas/SchemaFilterBaremetalSerializer'
              basic_vm: '#/components/schemas/SchemaFilterBasicVmSerializer'
              containers: '#/components/schemas/SchemaFilterContainersSerializer'
              dbaas_postgresql_connection_pooler: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
              dbaas_postgresql_cpu: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
              dbaas_postgresql_memory: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
              dbaas_postgresql_public_network: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
              dbaas_postgresql_volume: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
              egress_traffic: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
              external_ip: '#/components/schemas/SchemaFilterExternalIpSerializer'
              file_share: '#/components/schemas/SchemaFilterFileShareSerializer'
              floatingip: '#/components/schemas/SchemaFilterFloatingIpSerializer'
              functions: '#/components/schemas/SchemaFilterFunctionsSerializer'
              functions_calls: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
              functions_traffic: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
              image: '#/components/schemas/SchemaFilterImageSerializer'
              inference: '#/components/schemas/SchemaFilterInferenceSerializer'
              instance: '#/components/schemas/SchemaFilterInstanceSerializer'
              load_balancer: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
              log_index: '#/components/schemas/SchemaFilterLogIndexSerializer'
              snapshot: '#/components/schemas/SchemaFilterSnapshotSerializer'
              volume: '#/components/schemas/SchemaFilterVolumeSerializer'
            propertyName: type
          examples:
          - field: flavor
            type: instance
            values:
            - g1-standard-1-2
          oneOf:
          - $ref: '#/components/schemas/SchemaFilterSnapshotSerializer'
          - $ref: '#/components/schemas/SchemaFilterInstanceSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterBasicVmSerializer'
          - $ref: '#/components/schemas/SchemaFilterBaremetalSerializer'
          - $ref: '#/components/schemas/SchemaFilterVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterFileShareSerializer'
          - $ref: '#/components/schemas/SchemaFilterImageSerializer'
          - $ref: '#/components/schemas/SchemaFilterFloatingIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
          - $ref: '#/components/schemas/SchemaFilterExternalIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterBackupSerializer'
          - $ref: '#/components/schemas/SchemaFilterLogIndexSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterContainersSerializer'
          - $ref: '#/components/schemas/SchemaFilterInferenceSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
          title: Schema Filter
        sorting:
          default:
          - project: asc
          deprecated: true
          description: '(DEPRECATED Use ''order_by'' instead) List of sorting filters (JSON objects) fields: project. directions: asc, desc.'
          items:
            $ref: '#/components/schemas/CostReportResourcesSortingRequestSerializer'
          title: Sorting
          type: array
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          description: The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
          - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
          - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types to be filtered in the report.
          example: &id097
          - egress_traffic
          - instance
          examples:
          - *id097
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          title: Types
          type: array
      required:
      - time_from
      - time_to
      title: CostReportResourcesRequestSerializer
      type: object
    CostReportResourcesResponseFormat:
      enum:
      - csv_records
      - json
      title: CostReportResourcesResponseFormat
      type: string
    CostReportResourcesResponseSerializer:
      properties:
        count:
          description: Count of all the resources
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: 'Price status for the UI, type: string'
        results:
          items:
            discriminator:
              mapping:
                ai_cluster: '#/components/schemas/ResourceAiClusterWithCostSerializer'
                ai_virtual_cluster: '#/components/schemas/ResourceAiVirtualClusterWithCostSerializer'
                backup: '#/components/schemas/ResourceBackupWithCostSerializer'
                baremetal: '#/components/schemas/ResourceBaremetalWithCostSerializer'
                basic_vm: '#/components/schemas/ResourceBasicVmWithCostSerializer'
                containers: '#/components/schemas/ResourceContainerWithCostSerializer'
                dbaas_postgresql_connection_pooler: '#/components/schemas/ResourceDBAASPostgreSQLPoolerWithCostSerializer'
                dbaas_postgresql_cpu: '#/components/schemas/ResourceDBAASPostgreSQLCPUWithCostSerializer'
                dbaas_postgresql_memory: '#/components/schemas/ResourceDBAASPostgreSQLMemoryWithCostSerializer'
                dbaas_postgresql_public_network: '#/components/schemas/ResourceDBAASPostgreSQLPublicNetworkWithCostSerializer'
                dbaas_postgresql_volume: '#/components/schemas/ResourceDBAASPostgreSQLVolumeWithCostSerializer'
                egress_traffic: '#/components/schemas/ResourceEgressTrafficWithCostSerializer'
                external_ip: '#/components/schemas/ResourceExternalIpWithCostSerializer'
                file_share: '#/components/schemas/ResourceFileShareWithCostSerializer'
                floatingip: '#/components/schemas/ResourceFloatingIpWithCostSerializer'
                functions: '#/components/schemas/ResourceFunctionsWithCostSerializer'
                functions_calls: '#/components/schemas/ResourceFunctionCallsWithCostSerializer'
                functions_traffic: '#/components/schemas/ResourceFunctionEgressTrafficWithCostSerializer'
                image: '#/components/schemas/ResourceImagesWithCostSerializer'
                inference: '#/components/schemas/ResourceInferenceWithCostSerializer'
                instance: '#/components/schemas/ResourceInstanceWithCostSerializer'
                load_balancer: '#/components/schemas/ResourceLoadBalancerWithCostSerializer'
                log_index: '#/components/schemas/ResourceLogIndexWithCostSerializer'
                snapshot: '#/components/schemas/ResourceSnapshotWithCostSerializer'
                volume: '#/components/schemas/ResourceVolumeWithCostSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ResourceAiClusterWithCostSerializer'
            - $ref: '#/components/schemas/ResourceAiVirtualClusterWithCostSerializer'
            - $ref: '#/components/schemas/ResourceBaremetalWithCostSerializer'
            - $ref: '#/components/schemas/ResourceBasicVmWithCostSerializer'
            - $ref: '#/components/schemas/ResourceBackupWithCostSerializer'
            - $ref: '#/components/schemas/ResourceContainerWithCostSerializer'
            - $ref: '#/components/schemas/ResourceEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/ResourceExternalIpWithCostSerializer'
            - $ref: '#/components/schemas/ResourceFileShareWithCostSerializer'
            - $ref: '#/components/schemas/ResourceFloatingIpWithCostSerializer'
            - $ref: '#/components/schemas/ResourceFunctionsWithCostSerializer'
            - $ref: '#/components/schemas/ResourceFunctionCallsWithCostSerializer'
            - $ref: '#/components/schemas/ResourceFunctionEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/ResourceImagesWithCostSerializer'
            - $ref: '#/components/schemas/ResourceInferenceWithCostSerializer'
            - $ref: '#/components/schemas/ResourceInstanceWithCostSerializer'
            - $ref: '#/components/schemas/ResourceLoadBalancerWithCostSerializer'
            - $ref: '#/components/schemas/ResourceLogIndexWithCostSerializer'
            - $ref: '#/components/schemas/ResourceSnapshotWithCostSerializer'
            - $ref: '#/components/schemas/ResourceVolumeWithCostSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLPoolerWithCostSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLMemoryWithCostSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLPublicNetworkWithCostSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLCPUWithCostSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLVolumeWithCostSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - price_status
      title: CostReportResourcesResponseSerializer
      type: object
    CostReportResourcesSortingRequestSerializer:
      example: &id098
      - region: asc
      examples:
      - *id098
      properties:
        billing_value:
          $ref: '#/components/schemas/SortingDirections'
        first_seen:
          $ref: '#/components/schemas/SortingDirections'
        last_name:
          $ref: '#/components/schemas/SortingDirections'
        last_seen:
          $ref: '#/components/schemas/SortingDirections'
        project:
          $ref: '#/components/schemas/SortingDirections'
        region:
          $ref: '#/components/schemas/SortingDirections'
        type:
          $ref: '#/components/schemas/SortingDirections'
      title: CostReportResourcesSortingRequestSerializer
      type: object
    CostReportResourcesV2RequestSerializer:
      additionalProperties: false
      properties:
        enable_last_day:
          default: false
          description: Expenses for the last specified day are taken into account. As the default, False.
          example: false
          examples:
          - false
          title: Enable Last Day
          type: boolean
        limit:
          default: 10
          description: The response resources limit. Defaults to 10. Maximum 1000 for the json format, 10000 for the `csv_records` format.
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
        offset:
          default: 0
          description: The response resources offset.
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
        order_by:
          default:
          - cost.desc
          description: List of sorting criteria in 'field.direction' format.
          example: &id099
          - cost.desc
          examples:
          - *id099
          items:
            $ref: '#/components/schemas/CostReportV2OrderByChoices'
          title: Order By
          type: array
        project_ids:
          description: List of project IDs. Omit for all accessible projects; an empty list is rejected.
          example: &id100
          - 16
          - 17
          - 18
          - 19
          - 20
          examples:
          - *id100
          items:
            type: integer
          minItems: 1
          title: Project Ids
          type: array
        region_ids:
          description: List of region IDs. Omit for all regions and global usage; an empty list is rejected. Use 0 for global usage that has no region.
          example: &id101
          - 0
          - 76
          examples:
          - *id101
          items:
            type: integer
          minItems: 1
          title: Region Ids
          type: array
        response_format:
          $ref: '#/components/schemas/CostReportResourcesResponseFormat'
          default: json
          description: 'Format of the response: json (default) or `csv_records`.'
          examples:
          - csv_records
          - json
        search:
          description: Partial, case-insensitive search over region names, project names, resource names, flavors and tags.
          example: amsterdam
          examples:
          - amsterdam
          - web-01
          maxLength: 256
          minLength: 2
          title: Search
          type: string
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          description: The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
          - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
          - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types. Omit for all types; an empty list is rejected.
          example: &id102
          - egress_traffic
          - instance
          examples:
          - *id102
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          minItems: 1
          title: Types
          type: array
      required:
      - time_from
      - time_to
      title: CostReportResourcesV2RequestSerializer
      type: object
    CostReportResourcesV2ResponseSerializer:
      properties:
        count:
          description: Count of all the resources
          example: 45
          examples:
          - 45
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: '''show'' when the client may see prices, ''hide'' for trial clients, clients with no product status, and clients of a reseller that does not expose prices.'
        results:
          items:
            $ref: '#/components/schemas/CostReportResourcesV2ResultSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - price_status
      title: CostReportResourcesV2ResponseSerializer
      type: object
    CostReportResourcesV2ResultSerializer:
      properties:
        error:
          anyOf:
          - $ref: '#/components/schemas/CostReportCostError'
          - type: 'null'
          description: Why the cost is missing, set only when cost is null
          examples:
          - null
        project_id:
          description: ID of the project the resource belongs to
          example: 101
          examples:
          - 101
          title: Project Id
          type: integer
        region_id:
          description: Region ID. 0 means global usage that has no region.
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        resource:
          $ref: '#/components/schemas/CostReportResourceV2Serializer'
        usage:
          $ref: '#/components/schemas/CostReportUsageV2Serializer'
      required:
      - region_id
      - project_id
      - resource
      - usage
      - error
      title: CostReportResourcesV2ResultSerializer
      type: object
    CostReportTotalsRequestSerializer:
      additionalProperties: false
      example: &id103
        projects:
        - 16
        - 17
        - 18
        - 19
        - 20
        regions:
        - 18
        - 76
        response_format: json
        schema_filter:
          field: flavor
          type: instance
          values:
          - g1-standard-1-2
        tags:
          condition_type: OR
          conditions:
          - key: os_version
            strict: true
            value: '22.04'
          - key: os_version
            strict: true
            value: '23.04'
        time_from: '2024-08-01T00:00:00'
        time_to: '2024-09-01T00:00:00'
        types:
        - egress_traffic
        - instance
      examples:
      - *id103
      properties:
        enable_last_day:
          default: false
          description: Expenses for the last specified day are taken into account. As the default, False.
          example: false
          examples:
          - false
          title: Enable Last Day
          type: boolean
        projects:
          description: List of project IDs
          example: &id104
          - 16
          - 17
          - 18
          - 19
          - 20
          examples:
          - *id104
          items:
            type: integer
          title: Projects
          type: array
        regions:
          description: List of region IDs.
          example: &id105
          - 1
          - 2
          - 3
          examples:
          - *id105
          items:
            type: integer
          title: Regions
          type: array
        response_format:
          $ref: '#/components/schemas/CostReportTotalsResponseFormat'
          default: json
          description: Format of the response (csv or json).
          examples:
          - csv_totals
          - json
        rounding:
          default: true
          description: Round cost values to 5 decimal places. When false, returns full precision.
          title: Rounding
          type: boolean
        schema_filter:
          description: Extended filter for field filtering.
          discriminator:
            mapping:
              ai_cluster: '#/components/schemas/SchemaFilterAiClusterSerializer'
              ai_virtual_cluster: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
              backup: '#/components/schemas/SchemaFilterBackupSerializer'
              baremetal: '#/components/schemas/SchemaFilterBaremetalSerializer'
              basic_vm: '#/components/schemas/SchemaFilterBasicVmSerializer'
              containers: '#/components/schemas/SchemaFilterContainersSerializer'
              dbaas_postgresql_connection_pooler: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
              dbaas_postgresql_cpu: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
              dbaas_postgresql_memory: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
              dbaas_postgresql_public_network: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
              dbaas_postgresql_volume: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
              egress_traffic: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
              external_ip: '#/components/schemas/SchemaFilterExternalIpSerializer'
              file_share: '#/components/schemas/SchemaFilterFileShareSerializer'
              floatingip: '#/components/schemas/SchemaFilterFloatingIpSerializer'
              functions: '#/components/schemas/SchemaFilterFunctionsSerializer'
              functions_calls: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
              functions_traffic: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
              image: '#/components/schemas/SchemaFilterImageSerializer'
              inference: '#/components/schemas/SchemaFilterInferenceSerializer'
              instance: '#/components/schemas/SchemaFilterInstanceSerializer'
              load_balancer: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
              log_index: '#/components/schemas/SchemaFilterLogIndexSerializer'
              snapshot: '#/components/schemas/SchemaFilterSnapshotSerializer'
              volume: '#/components/schemas/SchemaFilterVolumeSerializer'
            propertyName: type
          examples:
          - field: flavor
            type: instance
            values:
            - g1-standard-1-2
          oneOf:
          - $ref: '#/components/schemas/SchemaFilterSnapshotSerializer'
          - $ref: '#/components/schemas/SchemaFilterInstanceSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterBasicVmSerializer'
          - $ref: '#/components/schemas/SchemaFilterBaremetalSerializer'
          - $ref: '#/components/schemas/SchemaFilterVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterFileShareSerializer'
          - $ref: '#/components/schemas/SchemaFilterImageSerializer'
          - $ref: '#/components/schemas/SchemaFilterFloatingIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
          - $ref: '#/components/schemas/SchemaFilterExternalIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterBackupSerializer'
          - $ref: '#/components/schemas/SchemaFilterLogIndexSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterContainersSerializer'
          - $ref: '#/components/schemas/SchemaFilterInferenceSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
          title: Schema Filter
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          description: The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
          - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
          - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types to be filtered in the report.
          example: &id106
          - egress_traffic
          - instance
          examples:
          - *id106
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          title: Types
          type: array
      required:
      - time_from
      - time_to
      title: CostReportTotalsRequestSerializer
      type: object
    CostReportTotalsResponseFormat:
      enum:
      - csv_totals
      - json
      title: CostReportTotalsResponseFormat
      type: string
    CostReportTotalsResponseSerializer:
      properties:
        count:
          description: Count of returned totals
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: 'Price status for the UI, type: string'
        results:
          items:
            discriminator:
              mapping:
                ai_cluster: '#/components/schemas/TotalAiClusterWithCostSerializer'
                ai_virtual_cluster: '#/components/schemas/TotalAiVirtualClusterWithCostSerializer'
                backup: '#/components/schemas/TotalBackupWithCostSerializer'
                baremetal: '#/components/schemas/TotalBaremetalWithCostSerializer'
                basic_vm: '#/components/schemas/TotalBasicVmWithCostSerializer'
                containers: '#/components/schemas/TotalContainerWithCostSerializer'
                dbaas_postgresql_connection_pooler: '#/components/schemas/TotalDBAASPostgreSQLPoolerWithCostSerializer'
                dbaas_postgresql_cpu: '#/components/schemas/TotalDBAASPostgreSQLCPUWithCostSerializer'
                dbaas_postgresql_memory: '#/components/schemas/TotalDBAASPostgreSQLMemoryWithCostSerializer'
                dbaas_postgresql_public_network: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkWithCostSerializer'
                dbaas_postgresql_volume: '#/components/schemas/TotalDBAASPostgreSQLVolumeWithCostSerializer'
                egress_traffic: '#/components/schemas/TotalEgressTrafficWithCostSerializer'
                external_ip: '#/components/schemas/TotalExternalIpWithCostSerializer'
                file_share: '#/components/schemas/TotalFileShareWithCostSerializer'
                floatingip: '#/components/schemas/TotalFloatingIpWithCostSerializer'
                functions: '#/components/schemas/TotalFunctionsWithCostSerializer'
                functions_calls: '#/components/schemas/TotalFunctionCallsWithCostSerializer'
                functions_traffic: '#/components/schemas/TotalFunctionEgressTrafficWithCostSerializer'
                image: '#/components/schemas/TotalImagesWithCostSerializer'
                inference: '#/components/schemas/TotalInferenceWithCostSerializer'
                instance: '#/components/schemas/TotalInstanceWithCostSerializer'
                load_balancer: '#/components/schemas/TotalLoadBalancerWithCostSerializer'
                log_index: '#/components/schemas/TotalLogIndexWithCostSerializer'
                snapshot: '#/components/schemas/TotalSnapshotWithCostSerializer'
                volume: '#/components/schemas/TotalVolumeWithCostSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/TotalAiClusterWithCostSerializer'
            - $ref: '#/components/schemas/TotalAiVirtualClusterWithCostSerializer'
            - $ref: '#/components/schemas/TotalBaremetalWithCostSerializer'
            - $ref: '#/components/schemas/TotalBasicVmWithCostSerializer'
            - $ref: '#/components/schemas/TotalBackupWithCostSerializer'
            - $ref: '#/components/schemas/TotalContainerWithCostSerializer'
            - $ref: '#/components/schemas/TotalEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/TotalExternalIpWithCostSerializer'
            - $ref: '#/components/schemas/TotalFileShareWithCostSerializer'
            - $ref: '#/components/schemas/TotalFloatingIpWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionsWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionCallsWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/TotalImagesWithCostSerializer'
            - $ref: '#/components/schemas/TotalInferenceWithCostSerializer'
            - $ref: '#/components/schemas/TotalInstanceWithCostSerializer'
            - $ref: '#/components/schemas/TotalLoadBalancerWithCostSerializer'
            - $ref: '#/components/schemas/TotalLogIndexWithCostSerializer'
            - $ref: '#/components/schemas/TotalSnapshotWithCostSerializer'
            - $ref: '#/components/schemas/TotalVolumeWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPoolerWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLMemoryWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLCPUWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLVolumeWithCostSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - price_status
      title: CostReportTotalsResponseSerializer
      type: object
    CostReportUsageV2Serializer:
      description: How much it was used, and what that costs.
      properties:
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for the requested period, never rounded. Null if there is no price.
          examples:
          - 163.190753
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost, null if there is no cost
          examples:
          - EUR
          title: Currency
        first_seen:
          description: First time the resource was seen in the given period
          example: '2026-07-17T00:00:30Z'
          examples:
          - '2026-07-17T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_seen:
          description: Last time the resource was seen in the given period. Earlier than 'time_to' means the resource stopped before the period ended.
          example: '2026-07-23T23:59:30Z'
          examples:
          - '2026-07-23T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        unit:
          description: Unit of the billing value
          example: gb_hours
          examples:
          - gb_hours
          title: Unit
          type: string
        value:
          description: Usage of the billing metric for the period, in `unit`, kept at full precision.
          example: 6688
          examples:
          - 6688
          title: Value
          type: number
      required:
      - value
      - unit
      - first_seen
      - last_seen
      - cost
      - currency
      title: CostReportUsageV2Serializer
      type: object
    CostReportV2OrderByChoices:
      description: |-
        v1's sort fields plus cost, renamed to say which field is actually sorted on.

        There is no region sort: prebilling can only order by region name, and the response exposes
        `region_id`, so no token here could honestly describe it.

        Tokens are flat, not response paths: flavor -> resource.flavor, `resource_name` -> resource.name,
        usage -> usage.value, cost -> usage.cost, `first_seen`/`last_seen` -> usage.`first_seen`/usage.`last_seen`.
      enum:
      - cost.asc
      - cost.desc
      - first_seen.asc
      - first_seen.desc
      - flavor.asc
      - flavor.desc
      - last_seen.asc
      - last_seen.desc
      - project_id.asc
      - project_id.desc
      - resource_name.asc
      - resource_name.desc
      - usage.asc
      - usage.desc
      title: CostReportV2OrderByChoices
      type: string
    CpuTriggerSerializer:
      properties:
        threshold:
          description: CPU usage percentage
          maximum: 99
          minimum: 1
          title: Threshold
          type: integer
      required:
      - threshold
      title: CpuTriggerSerializer
      type: object
    CreateAIClusterGPUSerializer:
      properties:
        flavor:
          description: Flavor name
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        image_id:
          description: Image ID
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          format: uuid4
          title: Image Id
          type: string
        instances_count:
          default: 1
          description: Number of servers to create
          example: 1
          examples:
          - 1
          minimum: 1
          title: Instances Count
          type: integer
        interfaces:
          description: A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.
          example: &id107
          - network_id: 024a29e9-b4b7-4c91-9a46-505be123d9f8
            subnet_id: 91200a6c-07e0-42aa-98da-32d1f6545ae7
            type: subnet
          examples:
          - *id107
          items:
            $ref: '#/components/schemas/CreateGPUClusterInterfaceSerializer'
          minItems: 1
          title: Interfaces
          type: array
        name:
          description: GPU Cluster name
          example: my-gpu-cluster
          examples:
          - my-gpu-cluster
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        password:
          description: A password for a bare metal server. This parameter is used to set a password for the "Admin" user on a Windows instance, a default user or a new user on a Linux instance
          title: Password
          type: string
        security_groups:
          description: List of security group UUIDs. If omitted or an empty list, the default security group will be used.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        ssh_key_name:
          description: |-
            Specifies the name of the SSH keypair, created via the
            [/v1/`ssh_keys` endpoint](/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
          example: my-ssh-key
          examples:
          - my-ssh-key
          title: Ssh Key Name
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        user_data:
          description: 'String in base64 format. Must not be passed together with ''username'' or ''password''. Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          title: User Data
          type: string
        username:
          description: A name of a new user in the Linux instance. It may be passed with a 'password' parameter
          title: Username
          type: string
      required:
      - name
      - flavor
      - image_id
      - interfaces
      title: CreateAIClusterGPUSerializer
      type: object
    CreateAccessRuleSerializer:
      properties:
        access_mode:
          $ref: '#/components/schemas/AccessLevelChoices'
          description: Access mode
          examples:
          - ro
        ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: Source IP or network
          examples:
          - 192.168.1.1
          - 2001:db8::1
          - 10.0.0.0/24
          - fd00::/8
          - 0.0.0.0/0
          - ::/0
          title: Ip Address
      required:
      - access_mode
      - ip_address
      title: CreateAccessRuleSerializer
      type: object
    CreateAllowPortAddressPairsSerializerV2:
      properties:
        allowed_address_pairs:
          default: []
          description: A set of zero or more allowed port address pair and/or subnet masks
          example: &id108
          - ip_address: 192.168.123.20
            mac_address: 00:16:3e:f2:87:16
          - ip_address: 192.168.0.0/17
            mac_address: 00:16:3e:f2:87:89
          examples:
          - *id108
          items:
            $ref: '#/components/schemas/CreateAllowedAddressPairsSerializer'
          maxItems: 10
          title: Allowed Address Pairs
          type: array
      title: CreateAllowPortAddressPairsSerializerV2
      type: object
    CreateAllowedAddressPairsSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: Subnet mask or IP address of the port specified in `allowed_address_pairs`
          title: Ip Address
        mac_address:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: MAC address of the port specified in `allowed_address_pairs`
          title: Mac Address
      required:
      - ip_address
      title: CreateAllowedAddressPairsSerializer
      type: object
    CreateApiKeyResponseSerializer:
      properties:
        created_at:
          description: Timestamp when the API Key was created.
          example: '2023-10-01T12:00:00Z'
          examples:
          - '2023-10-01T12:00:00Z'
          title: Created At
          type: string
        deployment_names:
          description: List of inference deployment names to which this API Key has been attached.
          example: &id109
          - inference-1
          - inference-2
          examples:
          - *id109
          items:
            type: string
          title: Deployment Names
          type: array
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the API Key.
          examples:
          - This key is used for accessing the inference service.
          title: Description
        expires_at:
          anyOf:
          - type: string
          - type: 'null'
          description: Timestamp when the API Key will expire.
          examples:
          - '2024-10-01T12:00:00Z'
          title: Expires At
        name:
          description: API Key name.
          example: my-api-key
          examples:
          - my-api-key
          title: Name
          type: string
        secret:
          description: The actual API Key secret.
          example: qLyjWDarjtT1zdp7dc
          examples:
          - qLyjWDarjtT1zdp7dc
          title: Secret
          type: string
      required:
      - name
      - description
      - secret
      - created_at
      - expires_at
      - deployment_names
      title: CreateApiKeyResponseSerializer
      type: object
    CreateBareMetalAnySubnetInterfaceSerializer:
      example: &id110
        floating_ip:
          existing_floating_id: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          source: existing
        interface_name: my-any-subnet-interface
        ip_address: 192.168.6.9
        network_id: 59905c8e-2619-420a-b046-536096473370
        type: any_subnet
      examples:
      - *id110
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_address:
          description: You can specify a specific IP address from your subnet.
          format: ipvanyaddress
          title: Ip Address
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        port_group:
          default: 0
          description: Specifies the trunk group to which this interface belongs. Applicable only for bare metal servers. Each unique port group is mapped to a separate trunk port. Use this to control how interfaces are grouped across trunks.
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        type:
          const: any_subnet
          description: Instance will be attached to a subnet with the largest count of free IPs.
          title: Type
          type: string
      required:
      - type
      - network_id
      title: CreateBareMetalAnySubnetInterfaceSerializer
      type: object
    CreateBareMetalExternalInterfaceSerializer:
      description: Instance will be attached to default external network
      example: &id111
        interface_name: eth0
        ip_family: ipv4
        type: external
      examples:
      - *id111
      properties:
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        port_group:
          default: 0
          description: Specifies the trunk group to which this interface belongs. Applicable only for bare metal servers. Each unique port group is mapped to a separate trunk port. Use this to control how interfaces are grouped across trunks.
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        type:
          const: external
          description: A public IP address will be assigned to the instance.
          title: Type
          type: string
      required:
      - type
      title: CreateBareMetalExternalInterfaceSerializer
      type: object
    CreateBareMetalInterfaceSerializers:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/CreateBareMetalAnySubnetInterfaceSerializer'
          external: '#/components/schemas/CreateBareMetalExternalInterfaceSerializer'
          reserved_fixed_ip: '#/components/schemas/CreateBareMetalReservedFixedIpInterfaceSerializer'
          subnet: '#/components/schemas/CreateBareMetalSubnetInterfaceSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/CreateBareMetalExternalInterfaceSerializer'
      - $ref: '#/components/schemas/CreateBareMetalSubnetInterfaceSerializer'
      - $ref: '#/components/schemas/CreateBareMetalAnySubnetInterfaceSerializer'
      - $ref: '#/components/schemas/CreateBareMetalReservedFixedIpInterfaceSerializer'
      title: CreateBareMetalInterfaceSerializers
    CreateBareMetalReservedFixedIpInterfaceSerializer:
      example: &id112
        floating_ip:
          source: new
        interface_name: my-interface
        port_id: 59905c8e-2619-420a-b046-536096473370
        type: reserved_fixed_ip
      examples:
      - *id112
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        port_group:
          default: 0
          description: Specifies the trunk group to which this interface belongs. Applicable only for bare metal servers. Each unique port group is mapped to a separate trunk port. Use this to control how interfaces are grouped across trunks.
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        port_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network.
          title: Port Id
          type: string
        type:
          const: reserved_fixed_ip
          description: An existing available reserved fixed IP will be attached to the instance. If the reserved IP is not public and you choose to add a floating IP, the instance will be accessible from the internet.
          title: Type
          type: string
      required:
      - type
      - port_id
      title: CreateBareMetalReservedFixedIpInterfaceSerializer
      type: object
    CreateBareMetalServerSerializer:
      example: &id113
        flavor: bm2-hf-medium
        image_id: b5b4d65d-945f-4b98-ab6f-332319c724ef
        interfaces:
        - type: external
        name: my-bare-metal
        ssh_key_name: my-ssh-key
      examples:
      - *id113
      properties:
        app_config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Parameters for the application template if creating the instance from an `apptemplate`.
          title: App Config
        apptemplate_id:
          description: Apptemplate ID. Either `image_id` or `apptemplate_id` is required.
          title: Apptemplate Id
          type: string
        ddos_profile:
          $ref: '#/components/schemas/BaseCreateClientProfileSerializer'
          description: Enable advanced DDoS protection for the server
        flavor:
          description: The flavor of the instance.
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Flavor
          type: string
        image_id:
          description: Image ID. Either `image_id` or `apptemplate_id` is required.
          format: uuid4
          title: Image Id
          type: string
        interfaces:
          description: A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.
          items:
            $ref: '#/components/schemas/CreateBareMetalInterfaceSerializers'
          minItems: 1
          title: Interfaces
          type: array
        name:
          description: Server name.
          example: my-bare-metal
          examples:
          - my-bare-metal
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        name_template:
          description: 'If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.'
          example: &id114
          - my-bare-metal-{ip_octets}
          examples:
          - *id114
          pattern: ^[a-zA-Z0-9{][a-zA-Z 0-9._\-}{]{1,61}[a-zA-Z0-9._}]$
          title: Name Template
          type: string
        password:
          description: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.
          title: Password
          type: string
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: |-
            Specifies the name of the SSH keypair, created via the
            [/v1/`ssh_keys` endpoint](/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
          examples:
          - my-ssh-key
          title: Ssh Key Name
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        user_data:
          description: 'String in base64 format. For Linux instances, ''user_data'' is ignored when ''password'' field is provided. For Windows instances, Admin user password is set by ''password'' field and cannot be updated via ''user_data''. Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          title: User Data
          type: string
        username:
          description: For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.
          title: Username
          type: string
      required:
      - interfaces
      - flavor
      title: CreateBareMetalServerSerializer
      type: object
    CreateBareMetalSubnetInterfaceSerializer:
      description: |-
        The instance will get an IP address from the selected network.
        If you choose to add a floating IP, the instance will be reachable from the internet.
        Otherwise, it will only have a private IP within the network.
      example: &id115
        floating_ip:
          existing_floating_id: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          source: existing
        network_id: 59905c8e-2619-420a-b046-536096473370
        subnet_id: e3c6ee77-48cb-416b-b204-11b492cc776e3
        type: subnet
      examples:
      - *id115
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        port_group:
          default: 0
          description: Specifies the trunk group to which this interface belongs. Applicable only for bare metal servers. Each unique port group is mapped to a separate trunk port. Use this to control how interfaces are grouped across trunks.
          maximum: 3
          minimum: 0
          title: Port Group
          type: integer
        subnet_id:
          description: The instance will get an IP address from this subnet.
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          description: The instance will get an IP address from the selected network. If you choose to add a floating IP, the instance will be reachable from the internet. Otherwise, it will only have a private IP within the network.
          title: Type
          type: string
      required:
      - type
      - network_id
      - subnet_id
      title: CreateBareMetalSubnetInterfaceSerializer
      type: object
    CreateClientProfileFieldSerializer:
      properties:
        base_field:
          description: Unique identifier of the DDoS protection field being configured
          example: 123
          examples:
          - 123
          title: Base Field
          type: integer
        field_value:
          anyOf:
          - items: {}
            type: array
          - type: integer
          - type: string
          - type: 'null'
          description: Complex value for the DDoS profile field
          examples:
          - null
          - - 100001
          title: Field Value
      required:
      - base_field
      title: CreateClientProfileFieldSerializer
      type: object
    CreateComponentConfiguration:
      properties:
        exposed:
          description: Whether the component should be exposed via a public endpoint (e.g., for external inference/API access).
          title: Exposed
          type: boolean
        flavor:
          description: Specifies the compute configuration (e.g., CPU/GPU size) to be used for the component.
          title: Flavor
          type: string
        parameter_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ParameterOverride'
          description: Map of parameter overrides for customization
          title: Parameter Overrides
          type: object
        scale:
          $ref: '#/components/schemas/Scale'
          description: Scaling parameters of the component
      required:
      - flavor
      - exposed
      - scale
      title: CreateComponentConfiguration
      type: object
    CreateCronScheduleSerializer:
      properties:
        day:
          description: Day of the month (1-31, '*') or a comma-separated list of days
          example: '5'
          examples:
          - '5'
          title: Day
          type: string
        day_of_week:
          description: Weekday or a comma-separated list of weekdays (mon,tue,wed,thu,fri,sat,sun,*)
          example: mon,fri
          examples:
          - mon,fri
          title: Day Of Week
          type: string
        hour:
          description: Hour (0-23, '*') or a comma-separated list of hours
          example: '0'
          examples:
          - '0'
          - 0, 20
          title: Hour
          type: string
        max_quantity:
          default: 2
          description: Number of stored resources.
          example: 2
          examples:
          - 2
          exclusiveMinimum: 0
          maximum: 10000
          title: Max Quantity
          type: integer
        minute:
          description: Minute (0-59, '*') or a comma-separated list of minutes
          example: '30'
          examples:
          - '30'
          title: Minute
          type: string
        month:
          description: Month (1-12, '*') or a comma-separated list of months
          example: '1'
          examples:
          - '1'
          - 1,6
          title: Month
          type: string
        resource_name_template:
          default: Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          description: Template for resource names.
          example: Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          examples:
          - Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          title: Resource Name Template
          type: string
        retention_time:
          $ref: '#/components/schemas/CreateIntervalTimeSerializer'
          description: Time after which the resource will be deleted
        timezone:
          description: A pytz timezone. Defaults to UTC.
          example: UTC
          examples:
          - UTC
          title: Timezone
          type: string
        type:
          const: cron
          description: Schedule type
          example: cron
          examples:
          - cron
          title: Type
          type: string
        week:
          description: ISO week (1-53, '*') or a comma-separated list of weeks
          example: '1'
          examples:
          - '1'
          title: Week
          type: string
      required:
      - type
      title: CreateCronScheduleSerializer
      type: object
    CreateDdnFileShareSerializer:
      additionalProperties: false
      properties:
        name:
          description: File share name
          example: test-share-file-system
          examples:
          - test-share-file-system
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          const: LUSTRE
          description: File share protocol
          example: LUSTRE
          examples:
          - LUSTRE
          title: Protocol
          type: string
        share_settings:
          $ref: '#/components/schemas/DdnFileShareSettingsInputSerializer'
          description: Configuration settings for the share
        size:
          description: File share size in GiB
          example: 5
          examples:
          - 5
          minimum: 1
          title: Size
          type: integer
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          const: ddn
          default: ddn
          description: DDN file share type
          title: Type Name
          type: string
        volume_type:
          const: ddn_share_type
          default: ddn_share_type
          deprecated: true
          description: Deprecated. Use `type_name` instead.
          title: Volume Type
          type: string
      required:
      - name
      - protocol
      - size
      title: CreateDdnFileShareSerializer
      type: object
    CreateFileShareSerializer:
      oneOf:
      - $ref: '#/components/schemas/CreateStandardFileShareSerializer'
      - $ref: '#/components/schemas/CreateDdnFileShareSerializer'
      - $ref: '#/components/schemas/CreateVastFileShareSerializer'
      title: CreateFileShareSerializer
    CreateFileShareSource:
      enum:
      - new-file-share
      title: CreateFileShareSource
      type: string
    CreateFloatingIPSerializer:
      properties:
        fixed_ip_address:
          anyOf:
          - format: ipv4
            type: string
          - type: 'null'
          default: null
          description: If the port has multiple IP addresses, a specific one can be selected using this field. If not specified, the first IP in the port's list will be used by default.
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: If provided, the floating IP will be immediately attached to the specified port.
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      title: CreateFloatingIPSerializer
      type: object
    CreateFunctionSerializer:
      properties:
        autoscaling:
          $ref: '#/components/schemas/FaasAutoscalingSerializer'
          description: Autoscaling configuration for the function. Keys must be 'min_instances' or 'max_instances', and values must be integers between 0 and 50.
          examples:
          - max_instances: 2
            min_instances: 1
        code_text:
          description: Function code text.
          example: |-
            def main():
                return 'Hello World'
          examples:
          - |-
            def main():
                return 'Hello World'
          maxLength: 100000
          minLength: 1
          title: Code Text
          type: string
        dependencies:
          default: ''
          description: Dependencies for the function to install.
          example: |-
            numpy==1.21.0
            pandas==1.3.0
          examples:
          - |-
            numpy==1.21.0
            pandas==1.3.0
          maxLength: 100000
          title: Dependencies
          type: string
        description:
          default: ''
          description: Description of the function.
          example: This is a sample function.
          examples:
          - This is a sample function.
          maxLength: 255
          minLength: 0
          title: Description
          type: string
        enable_api_key:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Enable or disable API key authentication. Enable api key is temporarily disabled. As a result, using Functions with authorization is currently not supported.
          examples:
          - true
          title: Enable Api Key
        envs:
          default: {}
          description: Environment variables for the function. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          example: &id116
            ENV_VAR: value
          examples:
          - *id116
          propertyNames:
            maxLength: 255
            minLength: 1
            pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
          title: Envs
          type: object
          additionalProperties:
            maxLength: 255
            minLength: 0
            type: string
        flavor:
          description: The name of the flavor associated with the function.
          example: 64m-64MB
          examples:
          - 64m-64MB
          title: Flavor
          type: string
        main_method:
          description: The main startup method name.
          example: handler
          examples:
          - handler
          maxLength: 100
          minLength: 1
          title: Main Method
          type: string
        name:
          description: Function name.
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        runtime:
          description: Function runtime.
          example: python3.7.12
          examples:
          - python3.7.12
          title: Runtime
          type: string
        timeout:
          description: Function timeout in seconds.
          example: 5
          examples:
          - 5
          maximum: 180
          minimum: 0
          title: Timeout
          type: integer
      required:
      - name
      - runtime
      - timeout
      - flavor
      - autoscaling
      - code_text
      - main_method
      title: CreateFunctionSerializer
      type: object
    CreateGPUClusterAnySubnetInterfaceSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/CreateGPUClusterFloatingIPSerializer'
          description: Allows the server to have a public IP that can be reached from the internet.
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_address:
          description: You can specify a specific IP address from your subnet.
          format: ipvanyaddress
          title: Ip Address
          type: string
        ip_family:
          $ref: '#/components/schemas/InterfaceIPFamily'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
          examples:
          - ipv4
        network_id:
          description: The network where the server will be connected.
          format: uuid4
          title: Network Id
          type: string
        type:
          const: any_subnet
          description: Server will be attached to a subnet with the largest count of free IPs.
          title: Type
          type: string
      required:
      - type
      - network_id
      title: CreateGPUClusterAnySubnetInterfaceSerializer
      type: object
    CreateGPUClusterExternalInterfaceSerializer:
      properties:
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        type:
          const: external
          description: A public IP address will be assigned to the server.
          title: Type
          type: string
      required:
      - type
      title: CreateGPUClusterExternalInterfaceSerializer
      type: object
    CreateGPUClusterFloatingIPSerializer:
      properties:
        source:
          const: new
          title: Source
          type: string
      required:
      - source
      title: CreateGPUClusterFloatingIPSerializer
      type: object
    CreateGPUClusterInterfaceSerializer:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/CreateGPUClusterAnySubnetInterfaceSerializer'
          external: '#/components/schemas/CreateGPUClusterExternalInterfaceSerializer'
          subnet: '#/components/schemas/CreateGPUClusterSubnetInterfaceSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/CreateGPUClusterExternalInterfaceSerializer'
      - $ref: '#/components/schemas/CreateGPUClusterSubnetInterfaceSerializer'
      - $ref: '#/components/schemas/CreateGPUClusterAnySubnetInterfaceSerializer'
      title: CreateGPUClusterInterfaceSerializer
    CreateGPUClusterSubnetInterfaceSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/CreateGPUClusterFloatingIPSerializer'
          description: Floating IP config for this subnet attachment
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        network_id:
          description: The network where the server will be connected.
          format: uuid4
          title: Network Id
          type: string
        subnet_id:
          description: The server will get an IP address from this subnet.
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          description: The instance will get an IP address from the selected network. If you choose to add a floating IP, the instance will be reachable from the internet. Otherwise, it will only have a private IP within the network.
          title: Type
          type: string
      required:
      - type
      - network_id
      - subnet_id
      title: CreateGPUClusterSubnetInterfaceSerializer
      type: object
    CreateGlobalQuotasLimitsSerializer:
      additionalProperties: false
      properties:
        inference_cpu_millicore_count_limit:
          description: Inference CPU millicore count limit
          example: 0
          examples:
          - 0
          title: Inference Cpu Millicore Count Limit
          type: integer
        inference_gpu_a100_count_limit:
          description: Inference GPU A100 Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu A100 Count Limit
          type: integer
        inference_gpu_h100_count_limit:
          description: Inference GPU H100 Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu H100 Count Limit
          type: integer
        inference_gpu_l40s_count_limit:
          description: Inference GPU L40s Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu L40S Count Limit
          type: integer
        inference_instance_count_limit:
          description: Inference instance count limit
          example: 0
          examples:
          - 0
          title: Inference Instance Count Limit
          type: integer
        inference_public_model_api_key_count_limit:
          description: Public model API keys count limit
          example: 0
          examples:
          - 0
          title: Inference Public Model Api Key Count Limit
          type: integer
        keypair_count_limit:
          description: SSH Keys Count limit
          example: 100
          examples:
          - 100
          title: Keypair Count Limit
          type: integer
        project_count_limit:
          description: Projects Count limit
          example: 2
          examples:
          - 2
          title: Project Count Limit
          type: integer
      title: Scheme for create GlobalQuotaLimits
      type: object
    CreateInstanceCreateNewVolumeSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags)
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        delete_on_termination:
          default: false
          description: Set to `true` to automatically delete the volume when the instance is deleted.
          example: false
          examples:
          - false
          title: Delete On Termination
          type: boolean
        name:
          description: The name of the volume. If not specified, a name will be generated automatically.
          example: boot-volume
          examples:
          - boot-volume
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB.
          example: 20
          examples:
          - 20
          minimum: 1
          title: Size
          type: integer
        source:
          const: new-volume
          description: New volume will be created from scratch and attached to the instance.
          example: new-volume
          examples:
          - new-volume
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          default: standard
          description: |-
            Volume type name. Supported values:
            - `standard` - Network SSD block storage offering stable performance with high random I/O and data reliability (6 IOPS per 1 GiB, 0.4 MB/s per 1 GiB). Max IOPS: 4500. Max bandwidth: 300 MB/s.
            - `ssd_hiiops` - High-performance SSD storage for latency-sensitive transactional workloads (60 IOPS per 1 GiB, 2.5 MB/s per 1 GiB). Max IOPS: 9000. Max bandwidth: 500 MB/s.
            - `ssd_lowlatency` - SSD storage optimized for low-latency and real-time processing. Max IOPS: 5000. Average latency: 300 µs. Snapshots and volume resizing are **not** supported for `ssd_lowlatency`.
          examples:
          - ssd_hiiops
      required:
      - source
      - size
      title: CreateInstanceCreateNewVolumeSerializer
      type: object
    CreateInstanceCreateVolumeFromApptemplateSerializer:
      properties:
        apptemplate_id:
          description: App template ID.
          example: grafana
          examples:
          - grafana
          title: Apptemplate Id
          type: string
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags)
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        boot_index:
          description: |-
            - `0` means that this is the primary boot device;
            - A unique positive value is set for the secondary bootable devices;
            - A negative number means that the boot is prohibited.
          example: 0
          examples:
          - 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Set to `true` to automatically delete the volume when the instance is deleted.
          example: false
          examples:
          - false
          title: Delete On Termination
          type: boolean
        name:
          description: The name of the volume. If not specified, a name will be generated automatically.
          example: boot-volume
          examples:
          - boot-volume
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB.
          example: 20
          examples:
          - 20
          minimum: 1
          title: Size
          type: integer
        source:
          const: apptemplate
          description: New volume will be created from the app template and attached to the instance.
          example: apptemplate
          examples:
          - apptemplate
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          default: standard
          description: |-
            Volume type name. Supported values:
            - `standard` - Network SSD block storage offering stable performance with high random I/O and data reliability (6 IOPS per 1 GiB, 0.4 MB/s per 1 GiB). Max IOPS: 4500. Max bandwidth: 300 MB/s.
            - `ssd_hiiops` - High-performance SSD storage for latency-sensitive transactional workloads (60 IOPS per 1 GiB, 2.5 MB/s per 1 GiB). Max IOPS: 9000. Max bandwidth: 500 MB/s.
            - `ssd_lowlatency` - SSD storage optimized for low-latency and real-time processing. Max IOPS: 5000. Average latency: 300 µs. Snapshots and volume resizing are **not** supported for `ssd_lowlatency`.
          examples:
          - ssd_hiiops
      required:
      - source
      - apptemplate_id
      title: CreateInstanceCreateVolumeFromApptemplateSerializer
      type: object
    CreateInstanceCreateVolumeFromImageSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags)
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        boot_index:
          description: |-
            - `0` means that this is the primary boot device;
            - A unique positive value is set for the secondary bootable devices;
            - A negative number means that the boot is prohibited.
          example: 0
          examples:
          - 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Set to `true` to automatically delete the volume when the instance is deleted.
          example: false
          examples:
          - false
          title: Delete On Termination
          type: boolean
        image_id:
          description: Image ID.
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          format: uuid4
          title: Image Id
          type: string
        name:
          description: The name of the volume. If not specified, a name will be generated automatically.
          example: boot-volume
          examples:
          - boot-volume
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: |-
            Volume size in GiB.
            - For instances: **specify the desired volume size explicitly**.
            - For basic VMs: the size is set automatically based on the flavor.
          example: 20
          examples:
          - 20
          minimum: 1
          title: Size
          type: integer
        source:
          const: image
          description: New volume will be created from the image and attached to the instance. Specify `boot_index=0` to boot from this volume.
          example: image
          examples:
          - image
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          default: standard
          description: |-
            Volume type name. Supported values:
            - `standard` - Network SSD block storage offering stable performance with high random I/O and data reliability (6 IOPS per 1 GiB, 0.4 MB/s per 1 GiB). Max IOPS: 4500. Max bandwidth: 300 MB/s.
            - `ssd_hiiops` - High-performance SSD storage for latency-sensitive transactional workloads (60 IOPS per 1 GiB, 2.5 MB/s per 1 GiB). Max IOPS: 9000. Max bandwidth: 500 MB/s.
            - `ssd_lowlatency` - SSD storage optimized for low-latency and real-time processing. Max IOPS: 5000. Average latency: 300 µs. Snapshots and volume resizing are **not** supported for `ssd_lowlatency`.
          examples:
          - ssd_hiiops
      required:
      - source
      - image_id
      title: CreateInstanceCreateVolumeFromImageSerializer
      type: object
    CreateInstanceCreateVolumeFromSnapshotSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags)
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        boot_index:
          description: |-
            - `0` means that this is the primary boot device;
            - A unique positive value is set for the secondary bootable devices;
            - A negative number means that the boot is prohibited.
          example: 0
          examples:
          - 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Set to `true` to automatically delete the volume when the instance is deleted.
          example: false
          examples:
          - false
          title: Delete On Termination
          type: boolean
        name:
          description: The name of the volume. If not specified, a name will be generated automatically.
          example: boot-volume
          examples:
          - boot-volume
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB.
          example: 20
          examples:
          - 20
          minimum: 1
          title: Size
          type: integer
        snapshot_id:
          description: Snapshot ID.
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          format: uuid4
          title: Snapshot Id
          type: string
        source:
          const: snapshot
          description: New volume will be created from the snapshot and attached to the instance.
          example: snapshot
          examples:
          - snapshot
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/SnapshottableVolumeTypeChoices'
          description: Specifies the volume type. If omitted, the type from the source volume will be used by default.
          examples:
          - ssd_hiiops
      required:
      - source
      - snapshot_id
      - size
      title: CreateInstanceCreateVolumeFromSnapshotSerializer
      type: object
    CreateInstanceExistingVolumeSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the normal tags)
          example: boot
          examples:
          - boot
          - data
          - logs
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        boot_index:
          description: |-
            - `0` means that this is the primary boot device;
            - A unique positive value is set for the secondary bootable devices;
            - A negative number means that the boot is prohibited.
          example: 0
          examples:
          - 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Set to `true` to automatically delete the volume when the instance is deleted.
          example: false
          examples:
          - false
          title: Delete On Termination
          type: boolean
        source:
          const: existing-volume
          description: Existing available volume will be attached to the instance.
          example: existing-volume
          examples:
          - existing-volume
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        volume_id:
          description: Volume ID.
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          format: uuid4
          title: Volume Id
          type: string
      required:
      - source
      - volume_id
      title: CreateInstanceExistingVolumeSerializer
      type: object
    CreateInstanceSerializerV2:
      example: &id117
        flavor: g2-standard-32-64
        interfaces:
        - type: external
        name: my-instance
        ssh_key_name: my-ssh-key
        volumes:
        - boot_index: 0
          image_id: e460e48c-6836-447e-bc9c-16fc4225d318
          size: 50
          source: image
      examples:
      - *id117
      properties:
        allow_app_ports:
          description: Set to `true` if creating the instance from an `apptemplate`. This allows application ports in the security group for instances created from a marketplace application template.
          title: Allow App Ports
          type: boolean
        configuration:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Parameters for the application template if creating the instance from an `apptemplate`.
          title: Configuration
        flavor:
          description: The flavor of the instance.
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor
          type: string
        interfaces:
          description: A list of network interfaces for the instance. You can create one or more interfaces - private, public, or both.
          items:
            $ref: '#/components/schemas/NewVmInterfaceSerializersPydantic'
          minItems: 1
          title: Interfaces
          type: array
        name:
          description: Instance name.
          example: my-instance
          examples:
          - my-instance
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        name_template:
          description: 'If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.'
          example: &id118
          - my-instance-{ip_octets}
          examples:
          - *id118
          pattern: ^[a-zA-Z0-9{][a-zA-Z 0-9._\-}{]{1,61}[a-zA-Z0-9._}]$
          title: Name Template
          type: string
        password:
          description: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.
          title: Password
          type: string
        security_groups:
          deprecated: true
          description: Deprecated. Use per-interface `security_groups` inside `interfaces[]` instead. Cannot be combined with per-interface `security_groups`. If omitted everywhere, the project's default security group is applied.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        servergroup_id:
          description: |-
            Placement group ID for instance placement policy.

              Supported group types:
              - `anti-affinity`: Ensures instances are placed on different hosts for high availability.
              - `affinity`: Places instances on the same host for low-latency communication.
              - `soft-anti-affinity`: Tries to place instances on different hosts but allows sharing if needed.
          format: uuid4
          title: Servergroup Id
          type: string
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: |-
            Specifies the name of the SSH keypair, created via the
            [/v1/`ssh_keys` endpoint](/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
          examples:
          - my-ssh-key
          title: Ssh Key Name
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        user_data:
          description: 'String in base64 format. For Linux instances, ''user_data'' is ignored when ''password'' field is provided. For Windows instances, Admin user password is set by ''password'' field and cannot be updated via ''user_data''. Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          title: User Data
          type: string
        username:
          description: For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.
          title: Username
          type: string
        volumes:
          description: List of volumes that will be attached to the instance.
          items:
            $ref: '#/components/schemas/CreateInstanceVolumeSerializer'
          minItems: 1
          title: Volumes
          type: array
      required:
      - interfaces
      - flavor
      - volumes
      title: CreateInstanceSerializerV2
      type: object
    CreateInstanceVolumeSerializer:
      discriminator:
        mapping:
          apptemplate: '#/components/schemas/CreateInstanceCreateVolumeFromApptemplateSerializer'
          existing-volume: '#/components/schemas/CreateInstanceExistingVolumeSerializer'
          image: '#/components/schemas/CreateInstanceCreateVolumeFromImageSerializer'
          new-volume: '#/components/schemas/CreateInstanceCreateNewVolumeSerializer'
          snapshot: '#/components/schemas/CreateInstanceCreateVolumeFromSnapshotSerializer'
        propertyName: source
      oneOf:
      - $ref: '#/components/schemas/CreateInstanceCreateNewVolumeSerializer'
      - $ref: '#/components/schemas/CreateInstanceCreateVolumeFromImageSerializer'
      - $ref: '#/components/schemas/CreateInstanceCreateVolumeFromSnapshotSerializer'
      - $ref: '#/components/schemas/CreateInstanceCreateVolumeFromApptemplateSerializer'
      - $ref: '#/components/schemas/CreateInstanceExistingVolumeSerializer'
      title: Create Instance Volume schema
    CreateIntervalScheduleSerializer:
      properties:
        days:
          description: Number of days to wait
          example: 0
          examples:
          - 0
          title: Days
          type: integer
        hours:
          description: Number of hours to wait
          example: 2
          examples:
          - 2
          title: Hours
          type: integer
        max_quantity:
          default: 2
          description: Number of stored resources.
          example: 2
          examples:
          - 2
          exclusiveMinimum: 0
          maximum: 10000
          title: Max Quantity
          type: integer
        minutes:
          description: Number of minutes to wait
          example: 1
          examples:
          - 1
          title: Minutes
          type: integer
        resource_name_template:
          default: Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          description: Template for resource names.
          example: Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          examples:
          - Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          title: Resource Name Template
          type: string
        retention_time:
          $ref: '#/components/schemas/CreateIntervalTimeSerializer'
          description: Time after which the resource will be deleted
        type:
          const: interval
          description: Schedule type
          example: interval
          examples:
          - interval
          title: Type
          type: string
        weeks:
          description: Number of weeks to wait
          example: 0
          examples:
          - 0
          title: Weeks
          type: integer
      required:
      - type
      title: CreateIntervalScheduleSerializer
      type: object
    CreateIntervalTimeSerializer:
      properties:
        days:
          description: Number of days to wait
          example: 0
          examples:
          - 0
          title: Days
          type: integer
        hours:
          description: Number of hours to wait
          example: 2
          examples:
          - 2
          title: Hours
          type: integer
        minutes:
          description: Number of minutes to wait
          example: 1
          examples:
          - 1
          title: Minutes
          type: integer
        weeks:
          description: Number of weeks to wait
          example: 0
          examples:
          - 0
          title: Weeks
          type: integer
      title: CreateIntervalTimeSerializer
      type: object
    CreateKeypairSerializer:
      properties:
        public_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Public part of the key. To generate public and private keys in the platform, do not specify the parameter in the request body.
          examples:
          - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFHrnwGVBZs6q6vmTBzQFfzdRLQW8N6Rd0ogGe3h8tm83ZJLTTsF+1H4JcOvwI5ETkHMaFIWd2U15nHU5M7plE6UPRKfzy4rq6yI6cE4tojd3A9attMpbEEX7EbGKrbrb4AsjzxHKAVaREAb31ZplJkUlsiees25hTQXBcWQnOESlc9RCxZ/QQgNUUgqm7QGg7CNkL8Mpq9V4YaOhcFGWj0jXP1CL3g6Xe3xJo1CmUbkIOGUyAmrSfLEiy2O91iOUhbmYQyXksznNrT9O6uLkijf6syLZOdyAuUd/Z86eYXej4/YsvIA5eIFU4B6y9zOXEO2A81txPYMRAytYt7+e7 alice@alice
          title: Public Key
        shared_in_project:
          anyOf:
          - type: boolean
          - type: 'null'
          default: true
          description: Keypair is shared for all users in the project. Default True
          examples:
          - true
          - false
          title: Shared In Project
        sshkey_name:
          description: Keypair name
          example: alice
          examples:
          - alice
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Sshkey Name
          type: string
      required:
      - sshkey_name
      title: Create Keypair schema
      type: object
    CreateKeypairV2Serializer:
      properties:
        project_id:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        public_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Public part of the key. To generate public and private keys in the platform, do not specify the parameter in the request body.
          examples:
          - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFHrnwGVBZs6q6vmTBzQFfzdRLQW8N6Rd0ogGe3h8tm83ZJLTTsF+1H4JcOvwI5ETkHMaFIWd2U15nHU5M7plE6UPRKfzy4rq6yI6cE4tojd3A9attMpbEEX7EbGKrbrb4AsjzxHKAVaREAb31ZplJkUlsiees25hTQXBcWQnOESlc9RCxZ/QQgNUUgqm7QGg7CNkL8Mpq9V4YaOhcFGWj0jXP1CL3g6Xe3xJo1CmUbkIOGUyAmrSfLEiy2O91iOUhbmYQyXksznNrT9O6uLkijf6syLZOdyAuUd/Z86eYXej4/YsvIA5eIFU4B6y9zOXEO2A81txPYMRAytYt7+e7 alice@alice
          title: Public Key
        shared_in_project:
          anyOf:
          - type: boolean
          - type: 'null'
          default: true
          description: Keypair is shared for all users in the project. Default True
          examples:
          - true
          - false
          title: Shared In Project
        sshkey_name:
          description: Keypair name
          example: alice
          examples:
          - alice
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Sshkey Name
          type: string
      required:
      - sshkey_name
      - project_id
      title: Create Keypair schema (with project_id)
      type: object
    CreateL7PolicyRedirectPrefixSerializer:
      properties:
        action:
          const: REDIRECT_PREFIX
          description: Action
          example: REDIRECT_PREFIX
          examples:
          - REDIRECT_PREFIX
          title: Action
          type: string
        listener_id:
          description: Listener ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Listener Id
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid options are 301, 302, 303, 307, or 308. Default is 302.
          enum:
          - 301
          - 302
          - 303
          - 307
          - 308
          example: 301
          examples:
          - 301
          - 302
          - 303
          - 307
          - 308
          title: Redirect Http Code
          type: integer
        redirect_prefix:
          description: Requests matching this policy will be redirected to this Prefix URL.
          example: /api/v1/policies
          examples:
          - /api/v1/policies
          title: Redirect Prefix
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id119
          - test_tag
          examples:
          - *id119
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_prefix
      - listener_id
      title: CreateL7PolicyRedirectPrefixSerializer
      type: object
    CreateL7PolicyRedirectToPoolSerializer:
      properties:
        action:
          const: REDIRECT_TO_POOL
          description: Action
          example: REDIRECT_TO_POOL
          examples:
          - REDIRECT_TO_POOL
          title: Action
          type: string
        listener_id:
          description: Listener ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Listener Id
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_pool_id:
          description: Requests matching this policy will be redirected to the pool with this ID.
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          title: Redirect Pool Id
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id120
          - test_tag
          examples:
          - *id120
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_pool_id
      - listener_id
      title: CreateL7PolicyRedirectToPoolSerializer
      type: object
    CreateL7PolicyRedirectToUrlSerializer:
      properties:
        action:
          const: REDIRECT_TO_URL
          description: Action
          example: REDIRECT_TO_URL
          examples:
          - REDIRECT_TO_URL
          title: Action
          type: string
        listener_id:
          description: Listener ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Listener Id
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid options are 301, 302, 303, 307, or 308. Default is 302.
          enum:
          - 301
          - 302
          - 303
          - 307
          - 308
          example: 301
          examples:
          - 301
          - 302
          - 303
          - 307
          - 308
          title: Redirect Http Code
          type: integer
        redirect_url:
          description: Requests matching this policy will be redirected to this URL.
          example: https://www.example.com
          examples:
          - https://www.example.com
          title: Redirect Url
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id121
          - test_tag
          examples:
          - *id121
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_url
      - listener_id
      title: CreateL7PolicyRedirectToUrlSerializer
      type: object
    CreateL7PolicyRejectSerializer:
      properties:
        action:
          const: REJECT
          description: Action
          example: REJECT
          examples:
          - REJECT
          title: Action
          type: string
        listener_id:
          description: Listener ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Listener Id
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id122
          - test_tag
          examples:
          - *id122
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - listener_id
      title: CreateL7PolicyRejectSerializer
      type: object
    CreateL7PolicySerializer:
      discriminator:
        mapping:
          REDIRECT_PREFIX: '#/components/schemas/CreateL7PolicyRedirectPrefixSerializer'
          REDIRECT_TO_POOL: '#/components/schemas/CreateL7PolicyRedirectToPoolSerializer'
          REDIRECT_TO_URL: '#/components/schemas/CreateL7PolicyRedirectToUrlSerializer'
          REJECT: '#/components/schemas/CreateL7PolicyRejectSerializer'
        propertyName: action
      oneOf:
      - $ref: '#/components/schemas/CreateL7PolicyRedirectToUrlSerializer'
      - $ref: '#/components/schemas/CreateL7PolicyRedirectPrefixSerializer'
      - $ref: '#/components/schemas/CreateL7PolicyRedirectToPoolSerializer'
      - $ref: '#/components/schemas/CreateL7PolicyRejectSerializer'
      title: CreateL7PolicySerializer
    CreateL7RuleSerializer:
      properties:
        compare_type:
          $ref: '#/components/schemas/CompareTypeEnum'
          description: The comparison type for the L7 rule
          examples:
          - REGEX
        invert:
          description: When true the logic of the rule is inverted.
          example: true
          examples:
          - true
          - false
          title: Invert
          type: boolean
        key:
          description: The key to use for the comparison. Required for COOKIE and HEADER `type` only.
          example: the name of the cookie or header to evaluate.
          examples:
          - the name of the cookie or header to evaluate.
          maxLength: 255
          title: Key
          type: string
        tags:
          description: A list of simple strings assigned to the l7 rule
          example: &id123
          - test_tag_1
          - test_tag_2
          examples:
          - *id123
          items:
            type: string
          title: Tags
          type: array
        type:
          $ref: '#/components/schemas/L7RuleTypeEnum'
          description: The L7 rule type
          examples:
          - PATH
        value:
          description: The value to use for the comparison
          example: /images*
          examples:
          - /images*
          maxLength: 255
          minLength: 1
          title: Value
          type: string
      required:
      - compare_type
      - type
      - value
      title: CreateL7RuleSerializer
      type: object
    CreateLaasKafkaTopicSerializer:
      properties:
        index_pattern:
          anyOf:
          - $ref: '#/components/schemas/IndexPatternSerializer'
          - type: 'null'
          default: null
          description: Index Pattern data
          examples:
          - id: exampletopicindexpatternid
        name:
          description: Kafka topic name to be used in log shipper config to write logs to LaaS
          example: my-topic
          examples:
          - my-topic
          maxLength: 223
          minLength: 1
          pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
          title: Name
          type: string
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          examples:
          - period: 45
        size_in_bytes:
          default: 0
          description: Size of the topic in bytes
          minimum: 0
          title: Size In Bytes
          type: integer
      required:
      - name
      title: CreateLaasKafkaTopicSerializer
      type: object
    CreateLbHealthMonitorSerializer:
      properties:
        admin_state_up:
          default: true
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        delay:
          description: The time, in seconds, between sending probes to members
          example: 10
          examples:
          - 10
          maximum: 2147483647
          minimum: 1
          title: Delay
          type: integer
        domain_name:
          anyOf:
          - pattern: ^[A-Za-z0-9._-]{1,253}$
            type: string
          - type: 'null'
          default: null
          description: Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - example.com
          title: Domain Name
        expected_codes:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Expected HTTP response codes. Can be a single code, a comma-separated list of codes, or a single range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200, 200,202,401,403,404, or 200-204. If not specified, the default is 200.
          examples:
          - 200,301,302
          title: Expected Codes
        http_method:
          anyOf:
          - $ref: '#/components/schemas/HttpMethodEnum'
          - type: 'null'
          default: null
          description: HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - CONNECT
          - DELETE
          - GET
          - HEAD
          - OPTIONS
          - PATCH
          - POST
          - PUT
          - TRACE
        http_version:
          anyOf:
          - enum:
            - '1.0'
            - '1.1'
            type: string
          - type: 'null'
          default: null
          description: 'HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type. Supported values: 1.0, 1.1.'
          examples:
          - '1.1'
          - '1.0'
          title: Http Version
        max_retries:
          description: Number of successes before the member is switched to ONLINE state
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries
          type: integer
        max_retries_down:
          default: 3
          description: Number of failures before the member is switched to ERROR state.
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries Down
          type: integer
        timeout:
          description: The maximum time to connect. Must be less than the delay value
          example: 5
          examples:
          - 5
          maximum: 2147483
          minimum: 0
          title: Timeout
          type: integer
        type:
          $ref: '#/components/schemas/HealthMonitorTypeEnum'
          description: Health monitor type. Once health monitor is created, cannot be changed.
          examples:
          - HTTP
          - HTTPS
          - PING
          - TCP
          - TLS_HELLO
          - UDP_CONNECT
          - K8S
        url_path:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: |-
            The HTTP path the health monitor requests on each member. Defaults to `/` if not set. Can only be used with `HTTP` or `HTTPS` health monitor type.

            Must start with `/` and contain only plain path segments. Query strings (`?`), fragments (`#`), percent-encoding (`%`), and consecutive slashes (`//`) are not allowed.

            Examples of valid paths:
            - `/` — check the root (most common, default)
            - `/healthz` — a dedicated health endpoint
          examples:
          - /
          - /healthz
          title: Url Path
      required:
      - delay
      - max_retries
      - timeout
      - type
      title: CreateLbHealthMonitorSerializer
      type: object
    CreateLbListenerSerializer:
      properties:
        allowed_cidrs:
          anyOf:
          - items:
              format: ipvanynetwork
              type: string
            maxItems: 100
            type: array
          - type: 'null'
          description: Network CIDRs from which service will be accessible. Order-insensitive.
          examples:
          - - 10.0.0.0/8
          title: Allowed Cidrs
        connection_limit:
          default: 100000
          description: Limit of the simultaneous connections. If -1 is provided, it is translated to the default value 100000.
          example: 100000
          examples:
          - 100000
          maximum: 1000000
          minimum: -1
          title: Connection Limit
          type: integer
        default_pool_id:
          description: ID of already existent Load Balancer Pool to attach listener to.
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Default Pool Id
          type: string
        insert_x_forwarded:
          description: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests. Only used with HTTP or `TERMINATED_HTTPS` protocols.
          example: false
          examples:
          - false
          title: Insert X Forwarded
          type: boolean
        load_balancer_id:
          description: ID of already existent Load Balancer.
          example: 30f4f55b-4a7c-48e0-9954-5cddfee216e7
          examples:
          - 30f4f55b-4a7c-48e0-9954-5cddfee216e7
          format: uuid4
          title: Load Balancer Id
          type: string
        name:
          description: Load balancer listener name
          example: my_listener
          examples:
          - my_listener
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          $ref: '#/components/schemas/LbListenerProtocolEnum'
          description: Load balancer listener protocol
          examples:
          - HTTP
        protocol_port:
          description: Protocol port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Protocol Port
          type: integer
        secret_id:
          anyOf:
          - const: ''
            type: string
          - format: uuid4
            type: string
          description: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS listener
          examples:
          - f2e734d0-fa2b-42c2-ad33-4c6db5101e00
          title: Secret Id
        sni_secret_id:
          description: List of secrets IDs containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners
          example: &id124
          - f2e734d0-fa2b-42c2-ad33-4c6db5101e00
          - eb121225-7ded-4ff3-ae1f-599e145dd7cb
          examples:
          - *id124
          items:
            format: uuid4
            type: string
          title: Sni Secret Id
          type: array
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member connection timeout in milliseconds. We are recommending to use `pool.timeout_member_connect` instead.
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member inactivity timeout in milliseconds. We are recommending to use `pool.timeout_member_data` instead.
          examples:
          - null
          title: Timeout Member Data
        user_list:
          description: Load balancer listener list of username and encrypted password items
          example: &id125
          - encrypted_password: $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
            username: admin
          examples:
          - *id125
          items:
            $ref: '#/components/schemas/UserListItem'
          maxItems: 3
          title: User List
          type: array
      required:
      - name
      - protocol
      - protocol_port
      - load_balancer_id
      title: CreateLbListenerSerializer
      type: object
    CreateLbPoolMemberSerializer:
      properties:
        address:
          description: Member IP address
          example: 192.168.40.33
          examples:
          - 192.168.40.33
          format: ipvanyaddress
          title: Address
          type: string
        admin_state_up:
          default: true
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          title: Admin State Up
          type: boolean
        backup:
          default: false
          description: Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false.
          example: true
          examples:
          - true
          - false
          title: Backup
          type: boolean
        instance_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: Either `subnet_id` or `instance_id` should be provided
          examples:
          - a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
          title: Instance Id
        monitor_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          default: null
          description: An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.
          title: Monitor Address
        monitor_port:
          anyOf:
          - maximum: 65535
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member `protocol_port`.
          title: Monitor Port
        protocol_port:
          description: Member IP port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Protocol Port
          type: integer
        subnet_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: '`subnet_id` in which `address` is present. Either `subnet_id` or `instance_id` should be provided'
          examples:
          - 32283b0b-b560-4690-810c-f672cbb2e28d
          title: Subnet Id
        weight:
          description: |-
            Member weight. Valid values are 0 < `weight` <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:
              - `ROUND_ROBIN`: Distributes connections to each member in turn according to weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 = ~75% vs ~25% of requests.
              - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active connections, performing round-robin within groups of the same normalized load. Higher weight = allowed to hold more simultaneous connections before being considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active connections is treated as balanced.
              - `SOURCE_IP`: Routes clients consistently to the same member by hashing client source IP; hash result is modulo total weight of running members. Higher weight = more hash buckets, so more client IPs map to that member. Example: weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the higher-weight member.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          maximum: 256
          title: Weight
          type: integer
      required:
      - protocol_port
      - address
      title: CreateLbPoolMemberSerializer
      type: object
    CreateLbPoolSerializer:
      properties:
        ca_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA certificate bundle
          title: Ca Secret Id
        crl_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA revocation list file
          title: Crl Secret Id
        healthmonitor:
          anyOf:
          - $ref: '#/components/schemas/CreateLbHealthMonitorSerializer'
          - type: 'null'
          default: null
          description: Health monitor details
          examples:
          - delay: 10
            domain_name: example.com
            http_method: GET
            http_version: '1.1'
            max_retries: 3
            max_retries_down: 3
            timeout: 5
            type: HTTP
            url_path: /
        lb_algorithm:
          $ref: '#/components/schemas/LbAlgorithmEnum'
          description: Load balancer algorithm
          examples:
          - ROUND_ROBIN
        listener_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: Listener ID
          title: Listener Id
        load_balancer_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: Loadbalancer ID
          examples:
          - bbb35f84-35cc-4b2f-84c2-a6a29bba68aa
          title: Load Balancer Id
        members:
          description: Pool members
          example: &id126
          - address: 192.168.1.101
            instance_id: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
            protocol_port: 8000
            weight: 2
          - address: 192.168.1.102
            instance_id: 169942e0-9b53-42df-95ef-1a8b6525c2bd
            protocol_port: 8000
            weight: 4
          examples:
          - *id126
          items:
            $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
          title: Members
          type: array
        name:
          description: Pool name
          example: pool_name
          examples:
          - pool_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          $ref: '#/components/schemas/LbPoolProtocolEnum'
          description: Protocol
          examples:
          - HTTP
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID for TLS client authentication to the member servers
          title: Secret Id
        session_persistence:
          anyOf:
          - $ref: '#/components/schemas/MutateLbSessionPersistence'
          - type: 'null'
          default: null
          description: Session persistence details
          examples:
          - cookie_name: cookie_name
            type: APP_COOKIE
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          deprecated: true
          description: Frontend client inactivity timeout in milliseconds. We are recommending to use `listener.timeout_client_data` instead.
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Backend member connection timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Backend member inactivity timeout in milliseconds
          title: Timeout Member Data
      required:
      - name
      - lb_algorithm
      - protocol
      title: CreateLbPoolSerializer
      type: object
    CreateLifecyclePolicySerializer:
      properties:
        action:
          $ref: '#/components/schemas/LifecyclePolicyActionEnum'
          description: Action that the policy will perform.
          examples:
          - volume_snapshot
        name:
          description: Name of the lifecycle policy.
          example: schedule_1
          examples:
          - schedule_1
          title: Name
          type: string
        schedules:
          default: []
          description: List of schedules associated with the policy.
          items:
            $ref: '#/components/schemas/CreateScheduleSerializer'
          maxItems: 10
          title: Schedules
          type: array
        status:
          $ref: '#/components/schemas/LifecyclePolicyStatusesEnum'
          default: active
          description: Current status of the lifecycle policy.
          examples:
          - active
        volume_ids:
          default: []
          description: List of volume IDs.
          example: &id127
          - 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - *id127
          items:
            format: uuid4
            type: string
          title: Volume Ids
          type: array
      required:
      - action
      - name
      title: CreateLifecyclePolicySerializer
      type: object
    CreateListenerSerializer:
      properties:
        allowed_cidrs:
          anyOf:
          - items:
              format: ipvanynetwork
              type: string
            maxItems: 100
            type: array
          - type: 'null'
          description: Network CIDRs from which service will be accessible. Order-insensitive.
          examples:
          - - 10.0.0.0/8
          title: Allowed Cidrs
        connection_limit:
          default: 100000
          description: Limit of the simultaneous connections. If -1 is provided, it is translated to the default value 100000.
          example: 100000
          examples:
          - 100000
          maximum: 1000000
          minimum: -1
          title: Connection Limit
          type: integer
        insert_x_forwarded:
          description: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests. Only used with HTTP or `TERMINATED_HTTPS` protocols.
          example: false
          examples:
          - false
          title: Insert X Forwarded
          type: boolean
        name:
          description: Load balancer listener name
          example: my_listener
          examples:
          - my_listener
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        pools:
          description: Member pools
          items:
            $ref: '#/components/schemas/BaseCreateLbPoolSerializer'
          maxItems: 1
          title: Pools
          type: array
        protocol:
          $ref: '#/components/schemas/LbListenerProtocolEnum'
          description: Load balancer listener protocol
          examples:
          - HTTP
        protocol_port:
          description: Protocol port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Protocol Port
          type: integer
        secret_id:
          anyOf:
          - const: ''
            type: string
          - format: uuid4
            type: string
          description: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS listener
          examples:
          - f2e734d0-fa2b-42c2-ad33-4c6db5101e00
          title: Secret Id
        sni_secret_id:
          description: List of secrets IDs containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners
          example: &id128
          - f2e734d0-fa2b-42c2-ad33-4c6db5101e00
          - eb121225-7ded-4ff3-ae1f-599e145dd7cb
          examples:
          - *id128
          items:
            format: uuid4
            type: string
          title: Sni Secret Id
          type: array
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member connection timeout in milliseconds. We are recommending to use `pool.timeout_member_connect` instead.
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member inactivity timeout in milliseconds. We are recommending to use `pool.timeout_member_data` instead.
          examples:
          - null
          title: Timeout Member Data
        user_list:
          description: Load balancer listener list of username and encrypted password items
          example: &id129
          - encrypted_password: $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
            username: admin
          examples:
          - *id129
          items:
            $ref: '#/components/schemas/UserListItem'
          maxItems: 3
          title: User List
          type: array
      required:
      - name
      - protocol
      - protocol_port
      title: CreateListenerSerializer
      type: object
    CreateLoadbalancerSerializer:
      properties:
        flavor:
          description: Load balancer flavor name
          example: lb1-1-2
          examples:
          - lb1-1-2
          - lb2-2-2
          title: Flavor
          type: string
        floating_ip:
          description: Floating IP configuration for assignment
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          examples:
          - existing_floating_id: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
            source: existing
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        listeners:
          description: Load balancer listeners. Maximum 50 per LB (excluding Prometheus endpoint listener).
          items:
            $ref: '#/components/schemas/CreateListenerSerializer'
          maxItems: 51
          title: Listeners
          type: array
        logging:
          $ref: '#/components/schemas/LoadbalancerLoggingSerializer'
          description: Logging configuration
        name:
          description: Load balancer name.
          example: new_load_balancer
          examples:
          - new_load_balancer
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        preferred_connectivity:
          $ref: '#/components/schemas/MemberConnectivity'
          default: L2
          description: Preferred option to establish connectivity between load balancer and its pools members. L2 provides best performance, L3 provides less IPs usage. It is taking effect only if `instance_id` + `ip_address` is provided, not `subnet_id` + `ip_address`, because we're considering this as intentional `subnet_id` specification.
          examples:
          - L2
          - L3
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        vip_ip_family:
          $ref: '#/components/schemas/InterfaceIPFamily'
          description: IP family for load balancer subnet auto-selection if `vip_network_id` is specified
          examples:
          - ipv4
        vip_network_id:
          description: Network ID for load balancer. If not specified, default external network will be used. Mutually exclusive with `vip_port_id`
          example: ac307687-31a4-4a11-a949-6bea1b2878f5
          examples:
          - ac307687-31a4-4a11-a949-6bea1b2878f5
          format: uuid4
          title: Vip Network Id
          type: string
        vip_port_id:
          description: Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with `vip_network_id`
          example: ff83e13a-b256-4be2-ba5d-028d3f0ab450
          examples:
          - ff83e13a-b256-4be2-ba5d-028d3f0ab450
          format: uuid4
          title: Vip Port Id
          type: string
        vip_subnet_id:
          description: Subnet ID for load balancer. If not specified, any subnet from `vip_network_id` will be selected. Ignored when `vip_network_id` is not specified.
          example: 4e7802d3-5023-44b8-b298-7726558fddf4
          examples:
          - 4e7802d3-5023-44b8-b298-7726558fddf4
          format: uuid4
          title: Vip Subnet Id
          type: string
      required:
      - name
      title: CreateLoadbalancerSerializer
      type: object
    CreateNamespaceSerializer:
      properties:
        description:
          anyOf:
          - maxLength: 255
            minLength: 0
            type: string
          - type: 'null'
          default: null
          description: Namespace description.
          examples:
          - This is a sample namespace.
          title: Description
        envs:
          anyOf:
          - propertyNames:
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
            type: object
            additionalProperties:
              maxLength: 255
              minLength: 0
              type: string
          - type: 'null'
          default: null
          description: Namespace environment variables. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          examples:
          - ENV_VAR: value
          title: Envs
        name:
          description: Namespace name.
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
      required:
      - name
      title: CreateNamespaceSerializer
      type: object
    CreateNetworkSerializer:
      properties:
        create_router:
          default: true
          description: Defaults to True
          example: true
          examples:
          - true
          title: Create Router
          type: boolean
        name:
          description: Network name
          example: my network
          examples:
          - my network
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type:
          $ref: '#/components/schemas/NetworkType'
          default: vxlan
          description: vlan or vxlan network type is allowed. Default value is vxlan
          examples:
          - vxlan
      required:
      - name
      title: CreateNetworkSerializer
      type: object
    CreateNewVolumeSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the user tags). Only used in conjunction with `instance_id_to_attach_to`
          example: device-tag
          examples:
          - device-tag
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        instance_id_to_attach_to:
          description: '`instance_id` to attach newly-created volume to'
          example: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          examples:
          - 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          title: Instance Id To Attach To
          type: string
        lifecycle_policy_ids:
          description: List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume
          example: &id130
          - 1
          - 2
          examples:
          - *id130
          items:
            type: integer
          title: Lifecycle Policy Ids
          type: array
        name:
          description: Volume name
          example: volume-1
          examples:
          - volume-1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB
          example: 10
          examples:
          - 10
          minimum: 1
          title: Size
          type: integer
        source:
          const: new-volume
          description: Volume source type
          example: new-volume
          examples:
          - new-volume
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          description: Volume type. Defaults to `standard`. If not specified for source `snapshot`, volume type will be derived from the snapshot volume.
          examples:
          - standard
      required:
      - name
      - source
      - size
      title: CreateNewVolumeSerializer
      type: object
    CreateProjectSerializer:
      properties:
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          default: null
          description: Description of the project.
          examples:
          - Project description
          title: Description
        name:
          description: Unique project name for a client. Each client always has one "default" project.
          example: my-project
          examples:
          - my-project
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      required:
      - name
      title: CreateProjectSerializer
      type: object
    CreateReservedFixedIpSerializer:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/NewReservedFixedIpAnySubnetSerializer'
          external: '#/components/schemas/NewReservedFixedIpExternalSerializer'
          ip_address: '#/components/schemas/NewReservedFixedIpSpecificIpAddressSerializer'
          port: '#/components/schemas/NewReservedFixedIpSpecificPortSerializer'
          subnet: '#/components/schemas/NewReservedFixedIpSpecificSubnetSerializer'
        propertyName: type
      examples:
      - type: external
      oneOf:
      - $ref: '#/components/schemas/NewReservedFixedIpExternalSerializer'
      - $ref: '#/components/schemas/NewReservedFixedIpSpecificSubnetSerializer'
      - $ref: '#/components/schemas/NewReservedFixedIpAnySubnetSerializer'
      - $ref: '#/components/schemas/NewReservedFixedIpSpecificIpAddressSerializer'
      - $ref: '#/components/schemas/NewReservedFixedIpSpecificPortSerializer'
      title: CreateReservedFixedIpSerializer
    CreateRouterInterfaceSubnetSerializer:
      properties:
        subnet_id:
          description: id of the subnet to attach to.
          example: 3d1e9779-b8ad-4c8e-a1a4-0a03671f07f5
          examples:
          - 3d1e9779-b8ad-4c8e-a1a4-0a03671f07f5
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          default: subnet
          description: must be 'subnet'.
          example: subnet
          examples:
          - subnet
          title: Type
          type: string
      required:
      - subnet_id
      title: CreateRouterInterfaceSubnetSerializer
      type: object
    CreateRouterSerializer:
      properties:
        external_gateway_info:
          anyOf:
          - $ref: '#/components/schemas/RouterExternalManualGwSerializer'
          - $ref: '#/components/schemas/RouterExternalDefaultGwSerializer'
          - type: 'null'
          default: null
          description: External gateway configuration. Use type 'default' to let the platform automatically select the external network, or type 'manual' to specify a particular external network via `network_id`. If omitted, the router is created without an external gateway.
          examples:
          - enable_snat: true
            type: default
          title: External Gateway Info
        interfaces:
          anyOf:
          - items:
              $ref: '#/components/schemas/CreateRouterInterfaceSubnetSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of interfaces to attach to router immediately after creation.
          examples:
          - - subnet_id: 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
              type: subnet
          title: Interfaces
        name:
          description: name of router
          example: my_wonderful_router
          examples:
          - my_wonderful_router
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        routes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RouteInSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of custom routes.
          examples:
          - - destination: 10.0.3.0/24
              nexthop: 10.0.0.13
          title: Routes
      required:
      - name
      title: CreateRouterSerializer
      type: object
    CreateSSHKeySerializer:
      properties:
        name:
          description: SSH key name
          example: my-ssh-key
          examples:
          - my-ssh-key
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        public_key:
          description: |-
            The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information.
            - If you're uploading your own key, provide the public part here (usually found in a file like `id_ed25519.pub`).
            - If you want the platform to generate an Ed25519 key pair for you, leave this field empty — the system will return the private key in the response **once only**.
          example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          examples:
          - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          title: Public Key
          type: string
        shared_in_project:
          default: true
          description: SSH key is shared with all users in the project
          example: true
          examples:
          - true
          - false
          title: Shared In Project
          type: boolean
      required:
      - name
      title: Create SSH Key schema
      type: object
    CreateScheduleSerializer:
      description: 'List of schedules associated with the policy. If the schedule made ''max_quantity'' snapshots, a new snapshot will be created in time, but the oldest from the schedule`s snapshots will be deleted. If ''retention_time''  was set and the schedule`s snapshots will be delete after the specified period of time. In `resource_name_template` you can use such forms that will then be automatically filled in with values: ''{`volume_id`}'', ''{`schedule_id`}'', ''{`lifecycle_policy_id`}'', ''{`datetime_utc`}'', ''{`local_datetime`}''.'
      discriminator:
        mapping:
          cron: '#/components/schemas/CreateCronScheduleSerializer'
          interval: '#/components/schemas/CreateIntervalScheduleSerializer'
        propertyName: type
      examples:
      - day_of_week: fri
        hour: 0, 20
        max_quantity: 2
        minute: '30'
        resource_name_template: snapshot of volume {volume_id}
        timezone: UTC
        type: cron
      oneOf:
      - $ref: '#/components/schemas/CreateCronScheduleSerializer'
      - $ref: '#/components/schemas/CreateIntervalScheduleSerializer'
      title: CreateScheduleSerializer
    CreateSecretPayloadSerializer:
      properties:
        certificate:
          description: SSL certificate in PEM format.
          example: <certificate>
          examples:
          - <certificate>
          format: password
          title: Certificate
          type: string
          writeOnly: true
        certificate_chain:
          description: SSL certificate chain of intermediates and root certificates in PEM format.
          example: <certificate_chain>
          examples:
          - <certificate_chain>
          format: password
          title: Certificate Chain
          type: string
          writeOnly: true
        private_key:
          description: SSL private key in PEM format.
          example: <private_key>
          examples:
          - <private_key>
          format: password
          title: Private Key
          type: string
          writeOnly: true
      required:
      - certificate
      - private_key
      - certificate_chain
      title: CreateSecretPayloadSerializer
      type: object
    CreateSecretSerializer:
      properties:
        algorithm:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Metadata provided by a user or system for informational purposes.
          examples:
          - aes
          title: Algorithm
        bit_length:
          anyOf:
          - exclusiveMinimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Metadata provided by a user or system for informational purposes. Value must be greater than zero.
          examples:
          - 256
          title: Bit Length
        expiration:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Datetime when the secret will expire.
          examples:
          - '2025-12-28T19:14:44.180394'
          title: Expiration
        mode:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Metadata provided by a user or system for informational purposes.
          examples:
          - cbc
          title: Mode
        name:
          description: Secret name
          example: AES key
          examples:
          - AES key
          title: Name
          type: string
        payload:
          description: 'Secret payload. For HTTPS-terminated load balancing, provide base64 encoded conents of a PKCS12 file. The PKCS12 file is the combined TLS certificate, key, and intermediate certificate chain obtained from an external certificate authority. The file can be created via openssl, e.g.''openssl pkcs12 -export -inkey server.key -in server.crt -certfile ca-chain.crt -passout pass: -out server.p12''The key and certificate should be PEM-encoded, and the intermediate certificate chain should be multiple PEM-encoded certs concatenated together'
          example: aGVsbG8sIHRlc3Qgc3RyaW5nCg==
          examples:
          - aGVsbG8sIHRlc3Qgc3RyaW5nCg==
          format: password
          title: Payload
          type: string
          writeOnly: true
        payload_content_encoding:
          $ref: '#/components/schemas/PayloadContentEncoding'
          description: The encoding used for the payload to be able to include it in the JSON request. Currently only base64 is supported
          examples:
          - base64
        payload_content_type:
          description: The media type for the content of the payload, text/plain is incompatible with base64 `payload_content_encoding`
          example: application/octet-stream
          examples:
          - application/octet-stream
          title: Payload Content Type
          type: string
        secret_type:
          $ref: '#/components/schemas/SecretTypesEnum'
          description: Secret type. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API
          examples:
          - certificate
      required:
      - name
      - payload
      - payload_content_encoding
      - payload_content_type
      - secret_type
      title: CreateSecretSerializer
      type: object
    CreateSecretSerializerV2:
      properties:
        expiration:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Datetime when the secret will expire. Defaults to None
          examples:
          - '2025-12-28T19:14:44.180394'
          title: Expiration
        name:
          description: Secret name
          example: 'Load balancer certificate #1'
          examples:
          - 'Load balancer certificate #1'
          title: Name
          type: string
        payload:
          $ref: '#/components/schemas/CreateSecretPayloadSerializer'
          description: Secret payload.
      required:
      - name
      - payload
      title: CreateSecretSerializerV2
      type: object
    CreateSecurityGroupRuleActionSerializer:
      properties:
        action:
          const: create
          description: Action for a rule
          example: create
          examples:
          - create
          title: Action
          type: string
        description:
          default: ''
          description: Rule description
          example: Some description
          examples:
          - Some description
          maxLength: 255
          title: Description
          type: string
        direction:
          description: Ingress or egress, which is the direction in which the security group is applied
          enum:
          - egress
          - ingress
          example: ingress
          examples:
          - ingress
          title: Direction
          type: string
        ethertype:
          default: IPv4
          description: Ether type
          enum:
          - IPv4
          - IPv6
          example: IPv4
          examples:
          - IPv4
          title: Ethertype
          type: string
        port_range_max:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The maximum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Max
        port_range_min:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The minimum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Min
        protocol:
          anyOf:
          - $ref: '#/components/schemas/SecurityGroupProtocolEnum'
          - type: 'null'
          default: null
          description: Protocol
          examples:
          - tcp
        remote_group_id:
          description: The remote group UUID to associate with this security group
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Remote Group Id
          type: string
        remote_ip_prefix:
          anyOf:
          - format: ipvanynetwork
            type: string
          - type: 'null'
          default: null
          description: The remote IP prefix that is matched by this security group rule
          examples:
          - 10.0.0.0/8
          title: Remote Ip Prefix
      required:
      - direction
      - action
      title: CreateSecurityGroupRuleActionSerializer
      type: object
    CreateSecurityGroupRuleSerializer:
      properties:
        description:
          default: ''
          description: Rule description
          example: Some description
          examples:
          - Some description
          maxLength: 255
          title: Description
          type: string
        direction:
          description: Ingress or egress, which is the direction in which the security group is applied
          enum:
          - egress
          - ingress
          example: ingress
          examples:
          - ingress
          title: Direction
          type: string
        ethertype:
          default: IPv4
          description: Ether type
          enum:
          - IPv4
          - IPv6
          example: IPv4
          examples:
          - IPv4
          title: Ethertype
          type: string
        port_range_max:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The maximum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Max
        port_range_min:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The minimum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Min
        protocol:
          anyOf:
          - $ref: '#/components/schemas/SecurityGroupProtocolEnum'
          - type: 'null'
          default: null
          description: Protocol
          examples:
          - tcp
        remote_group_id:
          description: The remote group UUID to associate with this security group
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Remote Group Id
          type: string
        remote_ip_prefix:
          anyOf:
          - format: ipvanynetwork
            type: string
          - type: 'null'
          default: null
          description: The remote IP prefix that is matched by this security group rule
          examples:
          - 10.0.0.0/8
          title: Remote Ip Prefix
      required:
      - direction
      title: CreateSecurityGroupRuleSerializer
      type: object
    CreateSecurityGroupRuleSerializerV2:
      properties:
        description:
          default: ''
          description: Rule description
          example: Some description
          examples:
          - Some description
          maxLength: 255
          title: Description
          type: string
        direction:
          description: Ingress or egress, which is the direction in which the security group is applied
          enum:
          - egress
          - ingress
          example: ingress
          examples:
          - ingress
          title: Direction
          type: string
        ethertype:
          default: IPv4
          description: Ether type
          enum:
          - IPv4
          - IPv6
          example: IPv4
          examples:
          - IPv4
          title: Ethertype
          type: string
        port_range_max:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The maximum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Max
        port_range_min:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: The minimum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Min
        protocol:
          anyOf:
          - $ref: '#/components/schemas/SecurityGroupProtocolEnumV2'
          - type: 'null'
          default: null
          description: Protocol. Use null for all protocols.
          examples:
          - tcp
        remote_group_id:
          description: The remote group UUID to associate with this security group
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Remote Group Id
          type: string
        remote_ip_prefix:
          anyOf:
          - format: ipvanynetwork
            type: string
          - type: 'null'
          default: null
          description: The remote IP prefix that is matched by this security group rule
          examples:
          - 10.0.0.0/8
          title: Remote Ip Prefix
      required:
      - direction
      title: CreateSecurityGroupRuleSerializerV2
      type: object
    CreateSecurityGroupSerializer:
      properties:
        instances:
          description: List of instances
          example: &id131
          - 00000000-0000-4000-8000-000000000000
          examples:
          - *id131
          items:
            type: string
          title: Instances
          type: array
        security_group:
          $ref: '#/components/schemas/SingleCreateSecurityGroupSerializer'
          description: Security group
      required:
      - security_group
      title: CreateSecurityGroupSerializer
      type: object
    CreateSecurityGroupSerializerV2:
      properties:
        description:
          default: ''
          description: Security group description
          example: My security group description
          examples:
          - My security group description
          title: Description
          type: string
        name:
          description: Security group name
          example: my_security_group
          examples:
          - my_security_group
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        rules:
          description: Security group rules. Omit to apply the default template (ingress + egress); send [] to create no rules.
          items:
            $ref: '#/components/schemas/CreateSecurityGroupRuleSerializerV2'
          maxItems: 250
          title: Rules
          type: array
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      required:
      - name
      title: CreateSecurityGroupSerializerV2
      type: object
    CreateServerGroupSerializer:
      properties:
        name:
          description: The name of the placement group.
          example: my-placement-group
          examples:
          - my-placement-group
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,108}[a-zA-Z0-9._]$
          title: Name
          type: string
        policy:
          $ref: '#/components/schemas/ServerGroupPolicyEnum'
          description: The placement group policy.
          examples:
          - anti-affinity
      required:
      - name
      - policy
      title: Create placement group schema
      type: object
    CreateSnapshotSerializer:
      properties:
        description:
          description: Snapshot description
          example: Snapshot description
          examples:
          - Snapshot description
          title: Description
          type: string
        name:
          description: Snapshot name
          example: my-snapshot
          examples:
          - my-snapshot
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        volume_id:
          description: Volume ID to make snapshot of
          example: 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          examples:
          - 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          format: uuid4
          title: Volume Id
          type: string
      required:
      - volume_id
      - name
      title: CreateSnapshotSerializer
      type: object
    CreateStandardFileShareSerializer:
      additionalProperties: false
      properties:
        access:
          default: []
          description: Access Rules
          example: &id132
          - access_mode: ro
            ip_address: 10.0.0.1
          examples:
          - *id132
          items:
            $ref: '#/components/schemas/CreateAccessRuleSerializer'
          title: Access
          type: array
        name:
          description: File share name
          example: test-share-file-system
          examples:
          - test-share-file-system
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        network:
          $ref: '#/components/schemas/FileShareNetworkSerializer'
          description: File share network configuration
        protocol:
          const: NFS
          description: File share protocol
          example: NFS
          examples:
          - NFS
          title: Protocol
          type: string
        size:
          description: File share size in GiB
          example: 5
          examples:
          - 5
          minimum: 1
          title: Size
          type: integer
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          const: standard
          default: standard
          description: Standard file share type
          title: Type Name
          type: string
        volume_type:
          const: default_share_type
          default: default_share_type
          deprecated: true
          description: Deprecated. Use `type_name` instead.
          title: Volume Type
          type: string
      required:
      - name
      - protocol
      - size
      - network
      title: CreateStandardFileShareSerializer
      type: object
    CreateSubnetSerializer:
      properties:
        cidr:
          description: CIDR
          example: 192.168.10.0/24
          examples:
          - 192.168.10.0/24
          format: ipvanynetwork
          title: Cidr
          type: string
        connect_to_network_router:
          default: true
          description: True if the network's router should get a gateway in this subnet. Must be explicitly 'false' when `gateway_ip` is null.
          example: true
          examples:
          - true
          title: Connect To Network Router
          type: boolean
        dns_nameservers:
          anyOf:
          - items:
              format: ipvanyaddress
              type: string
            type: array
          - type: 'null'
          default: null
          description: List IP addresses of DNS servers to advertise via DHCP.
          examples:
          - - 8.8.4.4
            - 1.1.1.1
          title: Dns Nameservers
        enable_dhcp:
          default: true
          description: True if DHCP should be enabled
          example: true
          examples:
          - true
          title: Enable Dhcp
          type: boolean
        gateway_ip:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: Default GW IPv4 address to advertise in DHCP routes in this subnet. Omit this field to let the cloud backend allocate it automatically. Set to null if no gateway must be advertised by this subnet's DHCP (useful when attaching instances to multiple subnets in order to prevent default route conflicts).
          examples:
          - 192.168.10.1
          title: Gateway Ip
        host_routes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RouteInSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of custom static routes to advertise via DHCP.
          examples:
          - - destination: 10.0.3.0/24
              nexthop: 10.0.0.13
          title: Host Routes
        ip_version:
          $ref: '#/components/schemas/IPVersion'
          description: IP version
          examples:
          - 4
        name:
          description: Subnet name
          example: my subnet
          examples:
          - my subnet
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        network_id:
          description: Network ID
          example: ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          format: uuid4
          title: Network Id
          type: string
        router_id_to_connect:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          default: null
          description: ID of the router to connect to. Requires `connect_to_network_router` set to true. If not specified, attempts to find a router created during network creation.
          examples:
          - 00000000-0000-4000-8000-000000000000
          title: Router Id To Connect
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      required:
      - name
      - network_id
      - cidr
      title: CreateSubnetSerializer
      type: object
    CreateTagsSerializer:
      description: |-
        A tag is a key-value pair that can be associated with a resource,
        enabling efficient filtering and grouping for better organization and management.
        Some tags are read-only and cannot be modified by the user.
        Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
      propertyNames:
        description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
        examples:
        - my-tag
        maxLength: 255
        minLength: 1
        pattern: ^[^\s=]+$
      title: CreateTagsSerializer
      type: object
      additionalProperties:
        description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
        example: my-tag-value
        examples:
        - my-tag-value
        maxLength: 255
        minLength: 1
        pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
        type: string
    CreateUserActionSubscriptionMqSerializer:
      properties:
        connection_string:
          description: Connection string of the following structure "scheme://username:password@host:port/virtual_host". The scheme must be amqp or amqps, the port must be a valid TCP port, and the host must resolve to a public address (private, loopback, link-local and metadata addresses are rejected with a 400).
          example: amqps://guest:guest@93.184.216.34:5671/user_action_events
          examples:
          - amqps://guest:guest@93.184.216.34:5671/user_action_events
          - amqps://guest:guest@broker.example.com:5671/user_action_events
          title: Connection String
          type: string
        exchange:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Exchange name
          examples:
          - null
          title: Exchange
        receive_child_client_events:
          default: false
          description: Set to true if you would like to receive user action logs of all clients with the `reseller_id` matching the current `client_id`. Defaults to false
          example: false
          examples:
          - false
          title: Receive Child Client Events
          type: boolean
        routing_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Routing key
          examples:
          - foo
          title: Routing Key
      required:
      - connection_string
      title: Scheme for creating a subscription to user_action on RabbitMQ
      type: object
    CreateUserActionSubscriptionSerializer:
      properties:
        auth_header_name:
          description: Authorization header name
          example: Authorization
          examples:
          - Authorization
          title: Auth Header Name
          type: string
        auth_header_value:
          description: Authorization header value
          example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTc0OTU0MDY0LCJqdGkiOiJiYXIiLCJ1c2VyX2lkIjoxLCJ1c2VyX3R5cGUiOiJjb21tb24iLCJ1c2VyX2dyb3VwcyI6WyJVc2VycyJdLCJjbGllbnRfaWQiOjEsImVtYWlsIjoidGVzdEB0ZXN0LnRlc3QiLCJ1c2VybmFtZSI6InRlc3RAdGVzdC50ZXN0IiwiaXNfYWRtaW4iOmZhbHNlLCJjbGllbnRfbmFtZSI6Ik5hbWUiLCJleGNoYW5nZWFibGUiOnRydWUsImZha2VfdXNlcl9pZCI6MSwicmp0aSI6ImZvbyJ9.YTH_s67j7xyWlFLy093RxReT5PmitnawLr25Jh7Ix14
          examples:
          - Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTc0OTU0MDY0LCJqdGkiOiJiYXIiLCJ1c2VyX2lkIjoxLCJ1c2VyX3R5cGUiOiJjb21tb24iLCJ1c2VyX2dyb3VwcyI6WyJVc2VycyJdLCJjbGllbnRfaWQiOjEsImVtYWlsIjoidGVzdEB0ZXN0LnRlc3QiLCJ1c2VybmFtZSI6InRlc3RAdGVzdC50ZXN0IiwiaXNfYWRtaW4iOmZhbHNlLCJjbGllbnRfbmFtZSI6Ik5hbWUiLCJleGNoYW5nZWFibGUiOnRydWUsImZha2VfdXNlcl9pZCI6MSwicmp0aSI6ImZvbyJ9.YTH_s67j7xyWlFLy093RxReT5PmitnawLr25Jh7Ix14
          title: Auth Header Value
          type: string
        url:
          description: URL to send user action logs for the specified client
          example: https://your-url.com/receive-user-action-messages
          examples:
          - https://your-url.com/receive-user-action-messages
          title: Url
          type: string
      required:
      - url
      - auth_header_name
      - auth_header_value
      title: Scheme for creating a subscription to user_action on webhook
      type: object
    CreateVastFileShareSerializer:
      additionalProperties: false
      properties:
        name:
          description: File share name
          example: test-share-file-system
          examples:
          - test-share-file-system
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          const: NFS
          description: File share protocol
          example: NFS
          examples:
          - NFS
          title: Protocol
          type: string
        share_settings:
          $ref: '#/components/schemas/CreateVastFileShareSettingsSerializer'
          description: Configuration settings for the share
        size:
          description: File share size in GiB
          example: 5
          examples:
          - 5
          minimum: 1
          title: Size
          type: integer
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          const: vast
          default: vast
          description: Vast file share type
          title: Type Name
          type: string
        volume_type:
          const: vast_share_type
          default: vast_share_type
          deprecated: true
          description: Deprecated. Use `type_name` instead.
          title: Volume Type
          type: string
      required:
      - name
      - protocol
      - size
      title: CreateVastFileShareSerializer
      type: object
    CreateVastFileShareSettingsSerializer:
      additionalProperties: false
      properties:
        allowed_characters:
          default: LCD
          description: |-
            Determines which characters are allowed in file names. Choose between:
              - Lowest Common Denominator (LCD), allows only characters allowed by all VAST Cluster-supported protocols
              - Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.
          enum:
          - LCD
          - NPL
          example: LCD
          examples:
          - LCD
          title: Allowed Characters
          type: string
        path_length:
          default: LCD
          description: |-
            Affects the maximum limit of file path component name length. Choose between:
              - Lowest Common Denominator (LCD), imposes the lowest common denominator file length limit of all VAST Cluster-supported protocols. With this option, the limitation on the length of a single component of the path is 255 characters
              - Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.
          enum:
          - LCD
          - NPL
          example: LCD
          examples:
          - LCD
          title: Path Length
          type: string
        root_squash:
          default: true
          description: |-
            Enables or disables root squash for NFS clients.
              - If `true`, root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.
              - If `false`, root squash is disabled: the NFS client `root` user retains root privileges. Use this option if you trust the root user not to perform operations that will corrupt data.
          example: true
          examples:
          - true
          title: Root Squash
          type: boolean
        trash_access:
          default: false
          description: |-
            Enables or disables access to the hidden `.vast_trash` folder of the share.
              - If `false`, the folder is not accessible.
              - If `true`, clients within the share's access range can move files and folders to `.vast_trash` for asynchronous deletion, which is much faster than deleting large directory trees in place.

            Requires `root_squash` to be disabled, because VAST ignores trash folder access for hosts that are under root squash.
          example: false
          examples:
          - false
          title: Trash Access
          type: boolean
      title: CreateVastFileShareSettingsSerializer
      type: object
    CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer:
      properties:
        image_id:
          description: Image ID for the volume
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          title: Image Id
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: image
          title: Source
          type: string
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
          - ssd
      required:
      - size
      - type
      - source
      - image_id
      title: CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer
      type: object
    CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer:
      properties:
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: new
          title: Source
          type: string
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
          - ssd
      required:
      - size
      - type
      - source
      title: CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer
      type: object
    CreateVolumeFromImageSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the user tags). Only used in conjunction with `instance_id_to_attach_to`
          example: device-tag
          examples:
          - device-tag
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        image_id:
          description: Image ID
          example: 169942e0-9b53-42df-95ef-1a8b6525c2bd
          examples:
          - 169942e0-9b53-42df-95ef-1a8b6525c2bd
          format: uuid4
          title: Image Id
          type: string
        instance_id_to_attach_to:
          description: '`instance_id` to attach newly-created volume to'
          example: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          examples:
          - 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          title: Instance Id To Attach To
          type: string
        lifecycle_policy_ids:
          description: List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume
          example: &id133
          - 1
          - 2
          examples:
          - *id133
          items:
            type: integer
          title: Lifecycle Policy Ids
          type: array
        name:
          description: Volume name
          example: volume-1
          examples:
          - volume-1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB
          example: 10
          examples:
          - 10
          minimum: 1
          title: Size
          type: integer
        source:
          const: image
          description: Volume source type
          example: image
          examples:
          - image
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          description: Volume type. Defaults to `standard`. If not specified for source `snapshot`, volume type will be derived from the snapshot volume.
          examples:
          - standard
      required:
      - name
      - source
      - image_id
      - size
      title: CreateVolumeFromImageSerializer
      type: object
    CreateVolumeFromSnapshotSerializer:
      properties:
        attachment_tag:
          description: Block device attachment tag (not exposed in the user tags). Only used in conjunction with `instance_id_to_attach_to`
          example: device-tag
          examples:
          - device-tag
          pattern: ^[^,/]{1,60}$
          title: Attachment Tag
          type: string
        instance_id_to_attach_to:
          description: '`instance_id` to attach newly-created volume to'
          example: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          examples:
          - 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          title: Instance Id To Attach To
          type: string
        lifecycle_policy_ids:
          description: List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume
          example: &id134
          - 1
          - 2
          examples:
          - *id134
          items:
            type: integer
          title: Lifecycle Policy Ids
          type: array
        name:
          description: Volume name
          example: volume-1
          examples:
          - volume-1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB. If specified, value must be equal to respective snapshot size
          example: 10
          examples:
          - 10
          minimum: 1
          title: Size
          type: integer
        snapshot_id:
          description: Snapshot ID
          example: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          examples:
          - 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
          format: uuid4
          title: Snapshot Id
          type: string
        source:
          const: snapshot
          description: Volume source type
          example: snapshot
          examples:
          - snapshot
          title: Source
          type: string
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        type_name:
          $ref: '#/components/schemas/VolumeTypeName'
          description: Volume type. Defaults to `standard`. If not specified for source `snapshot`, volume type will be derived from the snapshot volume.
          examples:
          - standard
      required:
      - name
      - source
      - snapshot_id
      title: CreateVolumeFromSnapshotSerializer
      type: object
    CreateVolumeSerializer:
      description: Volume can be created from image, snapshot or as a new volume
      discriminator:
        mapping:
          image: '#/components/schemas/CreateVolumeFromImageSerializer'
          new-volume: '#/components/schemas/CreateNewVolumeSerializer'
          snapshot: '#/components/schemas/CreateVolumeFromSnapshotSerializer'
        propertyName: source
      examples:
      - instance_id_to_attach_to: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
        name: volume-1
        size: 10
        source: new-volume
        type_name: ssd_hiiops
      - name: volume-from-snapshot-1
        size: 10
        snapshot_id: 88f3e0bd-ca86-4cf7-be8b-dd2988e23c2d
        source: snapshot
      oneOf:
      - $ref: '#/components/schemas/CreateVolumeFromImageSerializer'
      - $ref: '#/components/schemas/CreateVolumeFromSnapshotSerializer'
      - $ref: '#/components/schemas/CreateNewVolumeSerializer'
      title: CreateVolumeSerializer
    CreateVolumeSource:
      enum:
      - image
      - new-volume
      - snapshot
      title: CreateVolumeSource
      type: string
    CreatedApiKeySerializer:
      properties:
        created_at:
          description: Key starts to work
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          title: Created At
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional key description
          examples:
          - key-description
          title: Description
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-08-22T11:21:00Z'
          title: Expire
        functions:
          description: List of functions using key
          items:
            $ref: '#/components/schemas/NamespacedName'
          title: Functions
          type: array
        name:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        secret:
          description: Secret api key
          example: secret-key
          examples:
          - secret-key
          title: Secret
          type: string
        status:
          description: Key status
          example: Expired
          examples:
          - Expired
          title: Status
          type: string
      required:
      - functions
      - name
      - created_at
      - status
      - secret
      title: CreatedApiKeySerializer
      type: object
    CreatedResources:
      properties:
        ai_clusters:
          deprecated: true
          description: Deprecated, use 'clusters' instead. IDs of created GPU clusters
          items:
            type: string
          title: Ai Clusters
          type: array
        api_keys:
          description: IDs of created API keys
          items:
            type: string
          title: Api Keys
          type: array
        caas_containers:
          description: IDs of created CaaS containers
          items:
            type: string
          title: Caas Containers
          type: array
        clusters:
          description: IDs of created GPU clusters
          items:
            type: string
          title: Clusters
          type: array
        ddos_profiles:
          description: IDs of created ddos protection profiles
          items:
            type: integer
          title: Ddos Profiles
          type: array
        faas_functions:
          description: IDs of created FaaS functions
          items:
            type: string
          title: Faas Functions
          type: array
        faas_namespaces:
          description: IDs of created FaaS namespaces
          items:
            type: string
          title: Faas Namespaces
          type: array
        file_shares:
          description: IDs of created file shares
          items:
            type: string
          title: File Shares
          type: array
        floatingips:
          description: IDs of created floating IPs
          items:
            type: string
          title: Floatingips
          type: array
        healthmonitors:
          description: IDs of created health monitors
          items:
            type: string
          title: Healthmonitors
          type: array
        images:
          description: IDs of created images
          items:
            type: string
          title: Images
          type: array
        inference_instances:
          description: IDs of created inference instances
          items:
            type: string
          title: Inference Instances
          type: array
        instances:
          description: IDs of created instances
          items:
            type: string
          title: Instances
          type: array
        k8s_clusters:
          description: IDs of created Kubernetes clusters
          items:
            type: string
          title: K8S Clusters
          type: array
        k8s_pools:
          description: IDs of created Kubernetes pools
          items:
            type: string
          title: K8S Pools
          type: array
        l7polices:
          description: IDs of created L7 policies
          items:
            type: string
          title: L7Polices
          type: array
        l7rules:
          description: IDs of created L7 rules
          items:
            type: string
          title: L7Rules
          type: array
        laas_topic:
          description: IDs of created LaaS topics
          items:
            type: string
          title: Laas Topic
          type: array
        listeners:
          description: IDs of created load balancer listeners
          items:
            type: string
          title: Listeners
          type: array
        loadbalancers:
          description: IDs of created load balancers
          items:
            type: string
          title: Loadbalancers
          type: array
        members:
          description: IDs of created pool members
          items:
            type: string
          title: Members
          type: array
        networks:
          description: IDs of created networks
          items:
            type: string
          title: Networks
          type: array
        pools:
          description: IDs of created load balancer pools
          items:
            type: string
          title: Pools
          type: array
        ports:
          description: IDs of created ports
          items:
            type: string
          title: Ports
          type: array
        postgresql_clusters:
          description: IDs of created postgres clusters
          items:
            type: string
          title: Postgresql Clusters
          type: array
        projects:
          description: IDs of created projects
          items:
            type: integer
          title: Projects
          type: array
        registry_registries:
          description: IDs of created registry registries
          items:
            type: string
          title: Registry Registries
          type: array
        registry_users:
          description: IDs of created registry users
          items:
            type: string
          title: Registry Users
          type: array
        routers:
          description: IDs of created routers
          items:
            type: string
          title: Routers
          type: array
        secrets:
          description: IDs of created secrets
          items:
            type: string
          title: Secrets
          type: array
        security_group_rules:
          description: IDs of created security group rules
          items:
            type: string
          title: Security Group Rules
          type: array
        security_groups:
          description: IDs of created security groups
          items:
            type: string
          title: Security Groups
          type: array
        servergroups:
          description: IDs of created placement groups
          items:
            type: string
          title: Servergroups
          type: array
        snapshots:
          description: IDs of created volume snapshots
          items:
            type: string
          title: Snapshots
          type: array
        subnets:
          description: IDs of created subnets
          items:
            type: string
          title: Subnets
          type: array
        volumes:
          description: IDs of created volumes
          items:
            type: string
          title: Volumes
          type: array
      title: CreatedResources
      type: object
    CreatedSSHKeySerializer:
      properties:
        created_at:
          description: SSH key creation time
          example: '2025-06-16T17:05:50Z'
          examples:
          - '2025-06-16T17:05:50Z'
          format: date-time
          title: Created At
          type: string
        fingerprint:
          description: Fingerprint
          example: 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          examples:
          - 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          title: Fingerprint
          type: string
        id:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Id
          type: string
        name:
          description: SSH key name
          example: my-ssh-key
          examples:
          - my-ssh-key
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        private_key:
          anyOf:
          - type: string
          - type: 'null'
          description: |-
            The private part of an SSH key is the confidential portion of the key pair. It should never be shared or exposed. This key is used to prove your identity when connecting to a server. 

            If you omit the `public_key`, the platform will generate a key for you. The `private_key` will be returned **once** in the API response. Be sure to save it securely, as it cannot be retrieved again later. 

            Best practice: Save the private key to a secure location on your machine (e.g., `~/.ssh/id_ed25519`) and set the file permissions to be readable only by you.
          examples:
          - <private_key>
          title: Private Key
        project_id:
          description: Project ID
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        public_key:
          description: The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information.
          example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          examples:
          - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          title: Public Key
          type: string
        shared_in_project:
          description: SSH key will be visible to all users in the project
          example: true
          examples:
          - true
          title: Shared In Project
          type: boolean
        state:
          $ref: '#/components/schemas/KeypairState'
          description: SSH key state
          examples:
          - ACTIVE
          - DELETING
      required:
      - id
      - public_key
      - name
      - fingerprint
      - state
      - project_id
      - shared_in_project
      - created_at
      - private_key
      title: Created SSH key response object
      type: object
    CustomerAssignableRole:
      enum:
      - ClientAdministrator
      - Observer
      - ProjectAdministrator
      - User
      title: CustomerAssignableRole
      type: string
    DBAASPGConfiguration:
      properties:
        flavors:
          items:
            $ref: '#/components/schemas/FlavorConfiguration'
          title: Available flavors
          type: array
        storage_classes:
          items:
            $ref: '#/components/schemas/StorageClass'
          title: Available storages
          type: array
        versions:
          description: Available versions
          example: &id135
          - '14'
          - '15'
          examples:
          - *id135
          items:
            type: string
          title: Versions
          type: array
      required:
      - versions
      - storage_classes
      - flavors
      title: DBAASPGConfiguration
      type: object
    DDosPriceDetailsSerializer:
      properties:
        feature_name:
          description: Name of the billing feature
          title: Feature Name
          type: string
        period:
          description: Period of the price
          title: Period
          type: string
        price_currency:
          description: Currency code (3 letter code per ISO 4217)
          enum:
          - AZN
          - EUR
          - USD
          title: Price Currency
          type: string
        price_per_30d:
          description: Price of the feature charged per 30 days
          title: Price Per 30D
          type: number
        price_per_day:
          description: Price of the feature charged per day
          title: Price Per Day
          type: number
        price_per_hour:
          description: Price of the feature charged per hour
          title: Price Per Hour
          type: number
        unit_name:
          description: Name of the unit
          title: Unit Name
          type: string
        unit_size:
          description: Number of units
          title: Unit Size
          type: integer
      required:
      - feature_name
      - period
      - unit_name
      - unit_size
      - price_currency
      - price_per_day
      - price_per_hour
      - price_per_30d
      title: DDosPriceDetailsSerializer
      type: object
    DDosPricingPreviewResponseSerializer:
      example: &id136
        current_month_days: 31
        current_month_days_last: 26
        next_month_days: 30
        price:
          feature_name: Advanced DDoS Protection Bare-metal Servers
          period: day
          price_currency: EUR
          price_per_30d: 60
          price_per_day: 2
          price_per_hour: 0.08333333333333333
          unit_name: PC
          unit_size: 1
      examples:
      - *id136
      properties:
        current_month_days:
          description: Number of days in the current month
          title: Current Month Days
          type: integer
        current_month_days_last:
          description: Number of days left in the current month
          title: Current Month Days Last
          type: integer
        next_month_days:
          description: Number of days in the next month
          title: Next Month Days
          type: integer
        price:
          $ref: '#/components/schemas/DDosPriceDetailsSerializer'
          description: DDoS protection price details
      required:
      - price
      - current_month_days_last
      - current_month_days
      - next_month_days
      title: DDosPricingPreviewResponseSerializer
      type: object
    Database:
      properties:
        name:
          description: Database name
          example: mydatabase
          examples:
          - mydatabase
          pattern: ^[a-z]*$
          title: Name
          type: string
        owner:
          description: Database owner from users list
          example: myuser
          examples:
          - myuser
          title: Owner
          type: string
      required:
      - name
      - owner
      title: Database
      type: object
    DatabaseOverview:
      properties:
        name:
          description: Database name
          example: mydatabase
          examples:
          - mydatabase
          pattern: ^[a-z]*$
          title: Name
          type: string
        owner:
          description: Database owner from users list
          example: myuser
          examples:
          - myuser
          title: Owner
          type: string
        size:
          description: Size in bytes
          example: 2048
          examples:
          - 2048
          - 4096
          title: Size
          type: integer
      required:
      - name
      - owner
      - size
      title: DatabaseOverview
      type: object
    DateTimeRangeFilter:
      additionalProperties: false
      description: |-
        Filter a timestamp field by a date/time range.

        Set a lower bound with `gt` (after) or `gte` (at or after), and an upper bound
        with `lt` (before) or `lte` (at or before). Use one or both; together they form
        a range. Values are in `2026-01-01T00:00:00Z` format, UTC.

        Examples:

        - `created_at[gte]=2026-01-01T00:00:00Z` - created on or after Jan 1.
        - `created_at[gte]=2026-01-01T00:00:00Z&created_at[lt]=2026-02-01T00:00:00Z`
          - created during January.

        Pass at most one lower and one upper bound; two lower or two upper bounds is a
        400.
      properties:
        gt:
          description: Strictly after this timestamp, e.g. `[gt]=2026-01-01T00:00:00Z`.
          format: date-time
          title: Gt
          type: string
        gte:
          description: At or after this timestamp (inclusive), e.g. `[gte]=2026-01-01T00:00:00Z`.
          format: date-time
          title: Gte
          type: string
        lt:
          description: Strictly before this timestamp, e.g. `[lt]=2026-02-01T00:00:00Z`.
          format: date-time
          title: Lt
          type: string
        lte:
          description: At or before this timestamp (inclusive), e.g. `[lte]=2026-02-01T00:00:00Z`.
          format: date-time
          title: Lte
          type: string
      title: DateTimeRangeFilter
      type: object
    DbaasStatusRequestSerializer:
      properties:
        is_initialized:
          description: DBAAS service status
          example: true
          examples:
          - true
          - false
          title: Is Initialized
          type: boolean
      required:
      - is_initialized
      title: DbaasStatusRequestSerializer
      type: object
    DbaasStatusSerializer:
      properties:
        is_initialized:
          description: DBAAS service status
          example: true
          examples:
          - true
          - false
          title: Is Initialized
          type: boolean
      required:
      - is_initialized
      title: DbaasStatusSerializer
      type: object
    DdnFileShareSettingsInputSerializer:
      additionalProperties: false
      properties:
        gid:
          description: When set created file share will be owned by user with given GID
          example: 1000
          examples:
          - 1000
          maximum: 2147483647
          minimum: 0
          title: Gid
          type: integer
        uid:
          description: When set created file share will be owned by group with given UID
          example: 1000
          examples:
          - 1000
          maximum: 2147483647
          minimum: 0
          title: Uid
          type: integer
      title: DdnFileShareSettingsInputSerializer
      type: object
    DdnShareSettingsOutputSerializer:
      properties:
        gid:
          anyOf:
          - type: integer
          - type: 'null'
          description: Group ID being owner of the share
          examples:
          - 1000
          title: Gid
        projid:
          anyOf:
          - type: integer
          - type: 'null'
          description: Exascaler project ID
          examples:
          - 42
          title: Projid
        type_name:
          const: ddn
          description: DDN file share type
          title: Type Name
          type: string
        uid:
          anyOf:
          - type: integer
          - type: 'null'
          description: User ID being owner of the share
          examples:
          - 1000
          title: Uid
      required:
      - type_name
      - projid
      - gid
      - uid
      title: DdnShareSettingsOutputSerializer
      type: object
    DdosManagedBy:
      enum:
      - system
      - user
      title: DdosManagedBy
      type: string
    DdosProfileOrderByChoices:
      enum:
      - id.asc
      - id.desc
      - ip_address.asc
      - ip_address.desc
      - managed_by.asc
      - managed_by.desc
      - site.asc
      - site.desc
      - status.asc
      - status.desc
      title: DdosProfileOrderByChoices
      type: string
    DdosProfileStatusSerializer:
      properties:
        error_description:
          description: Detailed error message describing any issues with the profile operation
          example: An error occured while deleting profile
          examples:
          - An error occured while deleting profile
          title: Error Description
          type: string
        status:
          description: Current operational status of the DDoS protection profile
          example: Error Deleting
          examples:
          - Error Deleting
          maxLength: 30
          minLength: 3
          title: Status
          type: string
      required:
      - status
      - error_description
      title: DdosProfileStatusSerializer
      type: object
    DeleteSecurityGroupRuleSerializer:
      properties:
        action:
          const: delete
          description: Action for a rule
          example: delete
          examples:
          - delete
          title: Action
          type: string
        security_group_rule_id:
          description: UUID of rule to be deleted
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Security Group Rule Id
          type: string
      required:
      - action
      - security_group_rule_id
      title: DeleteSecurityGroupRuleSerializer
      type: object
    DeployStatusSerializer:
      properties:
        ready:
          description: Number of ready instances
          example: 1
          examples:
          - 1
          title: Ready
          type: integer
        total:
          description: Total number of instances
          example: 2
          examples:
          - 2
          title: Total
          type: integer
      required:
      - total
      - ready
      title: DeployStatusSerializer
      type: object
    DeprecatedAIClusterServerFlavorHardwareDescriptionSerializer:
      properties:
        cpu:
          description: Human-readable CPU description
          example: 1x Intel Xeon 4C/8T 3.7 GHz
          examples:
          - 1x Intel Xeon 4C/8T 3.7 GHz
          title: Cpu
          type: string
        disk:
          description: Human-readable disk description
          example: 2x 250GiB SSD
          examples:
          - 2x 250GiB SSD
          title: Disk
          type: string
        gpu:
          description: Human-readable GPU description
          example: NVIDIA h100-8GPU (80GB)
          examples:
          - NVIDIA h100-8GPU (80GB)
          title: Gpu
          type: string
        license:
          description: If the flavor is licensed, this field contains the license type
          example: ''
          examples:
          - ''
          title: License
          type: string
        network:
          description: Human-readable NIC description
          example: 1x 500Mbps
          examples:
          - 1x 500Mbps
          title: Network
          type: string
        ram:
          description: Human-readable RAM description
          example: 32 GiB
          examples:
          - 32 GiB
          title: Ram
          type: string
      required:
      - cpu
      - ram
      - disk
      - license
      - network
      - gpu
      title: Detailed flavor hardware description of GPU cluster server flavor
      type: object
    DeprecatedGpuClusterFlavorSerializer:
      description: GPU cluster flavor schema embedded into instance schema
      properties:
        architecture:
          description: CPU architecture
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          $ref: '#/components/schemas/DeprecatedAIClusterServerFlavorHardwareDescriptionSerializer'
          description: Additional hardware description
        os_type:
          description: Operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        resource_class:
          description: Flavor resource class for mapping to hardware capacity
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Resource Class
          type: string
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - hardware_description
      - os_type
      - architecture
      - resource_class
      title: GPU cluster flavor
      type: object
    DeprecatedTasksAcknowledgeBodySerializer:
      properties:
        task_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: List of tasks ids
          title: Task Ids
      title: DeprecatedTasksAcknowledgeBodySerializer
      type: object
    DeprecatedUpdateFileShareSerializer:
      properties:
        name:
          description: Name
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        share_settings:
          $ref: '#/components/schemas/UpdateVastFileShareSettingsSerializer'
          description: Configuration settings for the share
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: DeprecatedUpdateFileShareSerializer
      type: object
    DestinationRegionCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/DestinationRegionSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: DestinationRegionCollectionSerializer
      type: object
    DestinationRegionSerializer:
      properties:
        region_id:
          description: Destination region ID
          example: 1
          examples:
          - 1
          maximum: 9223372036854776000
          minimum: -9223372036854776000
          title: Region Id
          type: integer
        region_name:
          description: Destination region display name
          example: Luxembourg-2
          examples:
          - Luxembourg-2
          title: Region Name
          type: string
      required:
      - region_id
      - region_name
      title: DestinationRegionSerializer
      type: object
    DetachInterfaceBodySerializer:
      properties:
        ip_address:
          description: IP address
          format: ipvanyaddress
          title: Ip Address
          type: string
        port_id:
          description: ID of the port
          format: uuid4
          title: Port Id
          type: string
      required:
      - port_id
      - ip_address
      title: DetachInterfaceBodySerializer
      type: object
    DetailedBaremetalInstancePricingSerializer:
      properties:
        external_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of external/public IP over the specified period of time.
          examples:
          - 14.4
          title: External Ip
        flavor:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of flavor over the specified period of time.
          examples:
          - 576
          title: Flavor
        floating_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of floating IP over the specified period of time.
          examples:
          - 36
          title: Floating Ip
      title: DetailedBaremetalInstancePricingSerializer
      type: object
    DetailedInstancePricingPerGBSerializer:
      properties:
        egress_traffic_baremetal:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: The price of egress traffic per GB for bare metal instances.
          examples:
          - 0.05
          - 0.1
          title: Egress Traffic Baremetal
        egress_traffic_virtual:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: The price of egress traffic per GB for virtual instances.
          examples:
          - 0.05
          - 0.1
          title: Egress Traffic Virtual
      title: DetailedInstancePricingPerGBSerializer
      type: object
    DetailedInstancePricingSerializer:
      properties:
        external_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of external/public IP over the specified period of time.
          examples:
          - 14.4
          title: External Ip
        flavor:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of flavor over the specified period of time.
          examples:
          - 576
          title: Flavor
        floating_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of floating IP over the specified period of time.
          examples:
          - 36
          title: Floating Ip
        volumes:
          anyOf:
          - $ref: '#/components/schemas/InstanceVolumesPricingSerializer'
          - type: 'null'
          default: null
          description: Prices of volumes per type over the specified period of time.
          examples:
          - cold: 78
            ssd_hiiops: 20
            ssd_lowlatency: 10
            standard: 10
            ultra: 78
      title: DetailedInstancePricingSerializer
      type: object
    DetailedLbPoolMemberSerializer:
      properties:
        address:
          description: Member IP address
          example: 192.168.40.33
          examples:
          - 192.168.40.33
          format: ipvanyaddress
          title: Address
          type: string
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: false
          examples:
          - false
          title: Admin State Up
          type: boolean
        backup:
          description: Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false
          example: true
          examples:
          - true
          - false
          title: Backup
          type: boolean
        id:
          description: Member ID must be provided if an existing member is being updated
          example: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
          examples:
          - a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
          format: uuid4
          title: Id
          type: string
        monitor_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.
          examples:
          - null
          title: Monitor Address
        monitor_port:
          anyOf:
          - maximum: 65535
            minimum: 1
            type: integer
          - type: 'null'
          description: An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member `protocol_port`.
          examples:
          - null
          title: Monitor Port
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Member operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        protocol_port:
          description: Member IP port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Protocol Port
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Pool member lifecycle status
          examples:
          - ACTIVE
        subnet_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: '`subnet_id` in which `address` is present.'
          examples:
          - 32283b0b-b560-4690-810c-f672cbb2e28d
          title: Subnet Id
        weight:
          description: |-
            Member weight. Valid values are 0 < `weight` <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:
              - `ROUND_ROBIN`: Distributes connections to each member in turn according to weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 = ~75% vs ~25% of requests.
              - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active connections, performing round-robin within groups of the same normalized load. Higher weight = allowed to hold more simultaneous connections before being considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active connections is treated as balanced.
              - `SOURCE_IP`: Routes clients consistently to the same member by hashing client source IP; hash result is modulo total weight of running members. Higher weight = more hash buckets, so more client IPs map to that member. Example: weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the higher-weight member.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          maximum: 256
          title: Weight
          type: integer
      required:
      - protocol_port
      - address
      - id
      - operating_status
      - provisioning_status
      - admin_state_up
      - weight
      - monitor_address
      - monitor_port
      - subnet_id
      - backup
      title: DetailedLbPoolMemberSerializer
      type: object
    DetailedLoadBalancerPricingSerializer:
      description: Pricing schema with detailed prices per category.
      example: &id137
        external_ip: 14.4
        flavor: 576
        floating_ip: 36
      examples:
      - *id137
      properties:
        external_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of external/public IP over the specified period of time.
          examples:
          - 14.4
          title: External Ip
        flavor:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of load balancer over the specified period of time.
          examples:
          - 576
          title: Flavor
        floating_ip:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of floating IP over the specified period of time.
          examples:
          - 36
          title: Floating Ip
      title: DetailedLoadBalancerPricingSerializer
      type: object
    DisksMetrics:
      description: Disk metrics item
      properties:
        disk_Bps_read:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Disk read, Bytes per second
          examples:
          - 16384
          title: Disk Bps Read
        disk_Bps_write:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Disk write, Bytes per second
          examples:
          - 86016
          title: Disk Bps Write
        disk_iops_read:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Disk read, iops
          examples:
          - 3
          title: Disk Iops Read
        disk_iops_write:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Disk write, iops
          examples:
          - 12
          title: Disk Iops Write
        disk_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Disk attached slot name
          title: Disk Name
      title: DisksMetrics
      type: object
    EgressTrafficInstanceType:
      enum:
      - baremetal
      - router
      - vm
      title: EgressTrafficInstanceType
      type: string
    EndpointService:
      enum:
      - ai_service
      - caas
      - caas_for_inference
      - dbaas
      - faas
      - inference_at_the_edge
      - inference_box
      - laas
      - mkaas
      - registry
      title: EndpointService
      type: string
    ExistingInstanceFloatingIpInterfaceSerializer:
      properties:
        existing_floating_id:
          description: An existing available floating IP id must be specified if the source is set to `existing`
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Existing Floating Id
          type: string
        source:
          const: existing
          description: An existing available floating IP will be attached to the instance. A floating IP is a public IP that makes the instance accessible from the internet, even if it only has a private IP. It works like SNAT, allowing outgoing and incoming traffic.
          example: existing
          examples:
          - existing
          title: Source
          type: string
      required:
      - source
      - existing_floating_id
      title: Existing floating IP
      type: object
    ExposeAddress:
      properties:
        address:
          description: Global access endpoint for the component
          title: Address
          type: string
      required:
      - address
      title: ExposeAddress
      type: object
    ExternalGatewaySerializer:
      properties:
        enable_snat:
          description: Is SNAT enabled.
          example: true
          examples:
          - true
          title: Enable Snat
          type: boolean
        external_fixed_ips:
          description: List of external IPs that emit SNAT-ed traffic.
          example: &id138
          - ip_address: 172.24.4.6
            subnet_id: b930d7f6-ceb7-40a0-8b81-a425dd994ccf
          examples:
          - *id138
          items:
            $ref: '#/components/schemas/PortIpSubnetIdSerializer'
          title: External Fixed Ips
          type: array
        network_id:
          description: Id of the external network.
          example: ae34051f-aa6c-4c75-abf5-50dc9ac99ef3
          examples:
          - ae34051f-aa6c-4c75-abf5-50dc9ac99ef3
          format: uuid4
          title: Network Id
          type: string
      required:
      - network_id
      - enable_snat
      - external_fixed_ips
      title: ExternalGatewaySerializer
      type: object
    ExternalInterfaceInputSerializer:
      properties:
        ip_family:
          default: ipv4
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack.'
          enum:
          - dual
          - ipv4
          - ipv6
          example: ipv4
          examples:
          - ipv4
          title: Ip Family
          type: string
        name:
          description: Interface name
          example: eth0
          examples:
          - eth0
          maxLength: 37
          title: Name
          type: string
        port_security_enabled:
          description: Controls port security for this interface. When omitted, the default applies (port security enabled, default security group attached). When false, the port is created with port security off and no security group attached; `security_groups` must not be set in that case. Not allowed for interfaces on a public network, nor for bare metal servers without a DPU (their ports cannot enforce port security).
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          example: &id139
          - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
          - *id139
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: external
          title: Type
          type: string
      required:
      - type
      title: ExternalInterfaceInputSerializer
      type: object
    ExternalInterfaceOutputSerializer:
      properties:
        ip_family:
          description: 'Which subnets should be selected: IPv4, IPv6, or use dual stack.'
          enum:
          - dual
          - ipv4
          - ipv6
          example: ipv4
          examples:
          - ipv4
          title: Ip Family
          type: string
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name
          examples:
          - eth0
          title: Name
        port_security_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Shows the port security state of this interface. A `null` value means port security is on, with the default security group attached. A `true` or `false` value shows the state set at creation.
          examples:
          - true
          title: Port Security Enabled
        security_groups:
          description: Resolved security groups applied to this interface.
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        type:
          const: external
          title: Type
          type: string
      required:
      - type
      - ip_family
      - name
      - security_groups
      - port_security_enabled
      title: ExternalInterfaceOutputSerializer
      type: object
    FaasApiKeyListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FaasApiKeySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FaasApiKeyListSerializer
      type: object
    FaasApiKeyPatchSerializer:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional key description
          examples:
          - key-description
          title: Description
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-08-22T11:21:00Z'
          title: Expire
        functions:
          description: List of functions using key
          items:
            $ref: '#/components/schemas/NamespacedName'
          title: Functions
          type: array
      required:
      - functions
      title: FaasApiKeyPatchSerializer
      type: object
    FaasApiKeySerializer:
      properties:
        created_at:
          description: Key starts to work
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          title: Created At
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional key description
          examples:
          - key-description
          title: Description
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-08-22T11:21:00Z'
          title: Expire
        functions:
          description: List of functions using key
          items:
            $ref: '#/components/schemas/NamespacedName'
          title: Functions
          type: array
        name:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        status:
          description: Key status
          example: Expired
          examples:
          - Expired
          title: Status
          type: string
      required:
      - functions
      - name
      - created_at
      - status
      title: FaasApiKeySerializer
      type: object
    FaasAutoscalingSerializer:
      properties:
        max_instances:
          description: The maximum number of instances to run.
          example: 5
          examples:
          - 5
          maximum: 50
          minimum: 1
          title: Max Instances
          type: integer
        min_instances:
          description: The minimum number of instances to run.
          example: 1
          examples:
          - 1
          maximum: 50
          minimum: 0
          title: Min Instances
          type: integer
      required:
      - min_instances
      - max_instances
      title: FaasAutoscalingSerializer
      type: object
    FaasCreateApiKeySerializer:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional key description
          examples:
          - key-description
          title: Description
        expire:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Key expires at
          examples:
          - '2023-08-22T11:21:00Z'
          title: Expire
        functions:
          description: List of functions using key
          items:
            $ref: '#/components/schemas/NamespacedName'
          title: Functions
          type: array
        name:
          description: Key name
          example: key-name
          examples:
          - key-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
      required:
      - name
      - functions
      title: FaasCreateApiKeySerializer
      type: object
    FaasFlavorSerializer:
      properties:
        cpu:
          description: The number of millicpus allocated to the flavor.
          example: 128
          examples:
          - 128
          maximum: 2000
          minimum: 1
          title: Cpu
          type: integer
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The generated name of the flavor.
          examples:
          - 128m-128MB
          title: Name
        ram:
          description: The amount of RAM (in megabytes) allocated to the flavor.
          example: 128
          examples:
          - 128
          maximum: 2000
          minimum: 1
          title: Ram
          type: integer
      required:
      - cpu
      - ram
      title: FaaS Flavor
      type: object
    FaasFlavorsListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FaasFlavorSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FaasFlavorsListSerializer
      type: object
    FailoverLoadBalancer:
      properties:
        force:
          default: false
          description: Validate current load balancer status before failover or not.
          example: true
          examples:
          - true
          - false
          title: Force
          type: boolean
      title: FailoverLoadBalancer
      type: object
    FileShareCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FileShareSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FileShareCollectionSerializer
      type: object
    FileShareMountSerializer:
      properties:
        id:
          description: Unique identifier of the file share in UUID format.
          example: a3f2d1b8-45e6-4f8a-bb5d-19dbf2cd7e9a
          examples:
          - a3f2d1b8-45e6-4f8a-bb5d-19dbf2cd7e9a
          format: uuid4
          title: Id
          type: string
        mount_path:
          description: Absolute mount path inside the system where the file share will be mounted.
          example: /mnt/vast
          examples:
          - /mnt/vast
          title: Mount Path
          type: string
      required:
      - id
      - mount_path
      title: FileShareMountSerializer
      type: object
    FileShareNetworkOutputSerializer:
      properties:
        network_id:
          description: Network ID.
          example: e72fd98e-32fa-474d-b0a3-bca11c3064ff
          examples:
          - e72fd98e-32fa-474d-b0a3-bca11c3064ff
          format: uuid4
          title: Network Id
          type: string
        network_name:
          description: Network name.
          example: File_share_test-sfs
          examples:
          - File_share_test-sfs
          title: Network Name
          type: string
        subnet_id:
          description: ID of the subnet that the file share uses.
          example: ac601bb9-4d77-4356-96de-66ab29711815
          examples:
          - ac601bb9-4d77-4356-96de-66ab29711815
          format: uuid4
          title: Subnet Id
          type: string
        subnet_name:
          description: Subnet name.
          example: subnet_test-sfs
          examples:
          - subnet_test-sfs
          title: Subnet Name
          type: string
      required:
      - network_id
      - network_name
      - subnet_id
      - subnet_name
      title: FileShareNetworkOutputSerializer
      type: object
    FileShareNetworkSerializer:
      properties:
        network_id:
          description: Network ID.
          example: 024a29e9-b4b7-4c91-9a46-505be123d9f8
          examples:
          - 024a29e9-b4b7-4c91-9a46-505be123d9f8
          format: uuid4
          title: Network Id
          type: string
        subnet_id:
          description: Subnetwork ID. If the subnet is not selected, it will be selected automatically.
          example: 91200a6c-07e0-42aa-98da-32d1f6545ae7
          examples:
          - 91200a6c-07e0-42aa-98da-32d1f6545ae7
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - network_id
      title: FileShareNetworkSerializer
      type: object
    FileSharePricingRequestSerializer:
      example: &id140
        size: 1000
        source: new-file-share
      examples:
      - *id140
      properties:
        size:
          description: File share size in GiB
          title: Size
          type: integer
        source:
          $ref: '#/components/schemas/CreateFileShareSource'
          description: Only 'new-file-share'
        type_name:
          $ref: '#/components/schemas/FileShareStorageType'
          default: standard
          description: File share type
      required:
      - source
      - size
      title: FileSharePricingRequestSerializer
      type: object
    FileShareRequiredQuotaSerializer:
      properties:
        sfs_count_limit:
          description: Shared file system Count limit
          example: 10
          examples:
          - 10
          title: Sfs Count Limit
          type: integer
        sfs_count_requested:
          description: Shared file system Count requested
          example: 1
          examples:
          - 1
          title: Sfs Count Requested
          type: integer
        sfs_count_usage:
          description: Shared file system Count usage
          example: 1
          examples:
          - 1
          title: Sfs Count Usage
          type: integer
        sfs_size_limit:
          description: Shared file system Size, GiB limit
          example: 100
          examples:
          - 100
          title: Sfs Size Limit
          type: integer
        sfs_size_requested:
          description: Shared file system Size, GiB requested
          example: 50
          examples:
          - 50
          title: Sfs Size Requested
          type: integer
        sfs_size_usage:
          description: Shared file system Size, GiB usage
          example: 90
          examples:
          - 90
          title: Sfs Size Usage
          type: integer
      title: FileShareRequiredQuotaSerializer
      type: object
    FileShareSerializer:
      properties:
        connection_point:
          anyOf:
          - type: string
          - type: 'null'
          description: Connection point. Can be null during File share creation
          examples:
          - 10.254.0.43:/shares/share-7c14ca01-ea5e-4d85-a6e2-c104fe6b561a
          title: Connection Point
        created_at:
          description: Datetime when the file share was created
          example: '2023-04-25T11:06:49.226920'
          examples:
          - '2023-04-25T11:06:49.226920'
          title: Created At
          type: string
        creator_task_id:
          description: Task that created this entity
          example: 6ab1ead7-8640-4ae9-9e20-9e0bafcd2eca
          examples:
          - 6ab1ead7-8640-4ae9-9e20-9e0bafcd2eca
          format: uuid4
          title: Creator Task Id
          type: string
        id:
          description: File share ID
          example: bd8c47ee-e565-4e26-8840-b537e6827b08
          examples:
          - bd8c47ee-e565-4e26-8840-b537e6827b08
          format: uuid4
          title: Id
          type: string
        name:
          description: File share name
          example: test-sfs
          examples:
          - test-sfs
          title: Name
          type: string
        network:
          $ref: '#/components/schemas/FileShareNetworkOutputSerializer'
          description: Network and subnet of the file share.
        network_id:
          deprecated: true
          description: Deprecated. Use `network.network_id` instead. Network ID.
          example: e72fd98e-32fa-474d-b0a3-bca11c3064ff
          examples:
          - e72fd98e-32fa-474d-b0a3-bca11c3064ff
          format: uuid4
          title: Network Id
          type: string
        network_name:
          deprecated: true
          description: Deprecated. Use `network.network_name` instead. Network name.
          example: File_share_test-sfs
          examples:
          - File_share_test-sfs
          title: Network Name
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        protocol:
          description: File share protocol
          example: NFS
          examples:
          - NFS
          title: Protocol
          type: string
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        share_network_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Share network name. May be null if the file share was created with volume type VAST
          examples:
          - File_share_test-sfs_network
          title: Share Network Name
        share_settings:
          $ref: '#/components/schemas/ShareSettingsSerializer'
          description: Share settings specific to the file share type
        size:
          description: File share size in GiB
          example: 10
          examples:
          - 10
          minimum: 1
          title: Size
          type: integer
        status:
          $ref: '#/components/schemas/FileShareStatusChoices'
          description: File share status
          examples:
          - available
        subnet_id:
          deprecated: true
          description: Deprecated. Use `network.subnet_id` instead. Subnet ID.
          example: ac601bb9-4d77-4356-96de-66ab29711815
          examples:
          - ac601bb9-4d77-4356-96de-66ab29711815
          format: uuid4
          title: Subnet Id
          type: string
        subnet_name:
          deprecated: true
          description: Deprecated. Use `network.subnet_name` instead. Subnet name.
          example: subnet_test-sfs
          examples:
          - subnet_test-sfs
          title: Subnet Name
          type: string
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id141
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id141
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - 22b1eau7-8641-4ae9-9n20-9e0b5fcd2gca
          title: Task Id
        type_name:
          $ref: '#/components/schemas/FileShareTypeName'
          description: File share type name
          examples:
          - standard
        volume_type:
          $ref: '#/components/schemas/FileShareShareType'
          deprecated: true
          description: Deprecated. Use `type_name` instead. File share disk type
          examples:
          - default_share_type
      required:
      - project_id
      - region_id
      - region
      - connection_point
      - created_at
      - creator_task_id
      - id
      - tags
      - name
      - network_id
      - network_name
      - network
      - protocol
      - share_network_name
      - size
      - status
      - subnet_id
      - subnet_name
      - task_id
      - volume_type
      - type_name
      - share_settings
      title: FileShareSerializer
      type: object
    FileShareShareType:
      enum:
      - ddn_share_type
      - default_share_type
      - vast_share_type
      title: FileShareShareType
      type: string
    FileShareStatusChoices:
      enum:
      - available
      - awaiting_transfer
      - backup_creating
      - backup_restoring
      - backup_restoring_error
      - creating
      - creating_from_snapshot
      - deleted
      - deleting
      - ensuring
      - error
      - error_deleting
      - extending
      - extending_error
      - inactive
      - manage_error
      - manage_starting
      - migrating
      - migrating_to
      - replication_change
      - reverting
      - reverting_error
      - shrinking
      - shrinking_error
      - shrinking_possible_data_loss_error
      - unmanage_error
      - unmanage_starting
      - unmanaged
      title: FileShareStatusChoices
      type: string
    FileShareStorageType:
      enum:
      - ddn
      - standard
      - vast
      title: FileShareStorageType
      type: string
    FileShareTypeName:
      enum:
      - ddn
      - standard
      - vast
      title: FileShareTypeName
      type: string
    Flavor:
      properties:
        cpu:
          description: Maximum available cores for instance
          example: 1
          examples:
          - 1
          - 2
          minimum: 1
          title: Cpu
          type: integer
        memory_gib:
          description: Maximum available RAM for instance
          example: 1
          examples:
          - 1
          - 2
          minimum: 1
          title: Memory Gib
          type: integer
      required:
      - cpu
      - memory_gib
      title: Flavor
      type: object
    FlavorConfiguration:
      properties:
        cpu:
          description: Maximum available cores for instance
          example: 1
          examples:
          - 1
          - 2
          minimum: 1
          title: Cpu
          type: integer
        memory_gib:
          description: Maximum available RAM for instance
          example: 1
          examples:
          - 1
          - 2
          minimum: 1
          title: Memory Gib
          type: integer
        pg_conf:
          example: |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          examples:
          - |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          title: PG Conf for flavor
          type: string
      required:
      - cpu
      - memory_gib
      - pg_conf
      title: FlavorConfiguration
      type: object
    FlavorFeaturesSerializer:
      properties:
        security_groups:
          title: Security Groups
          type: boolean
      required:
      - security_groups
      title: FlavorFeaturesSerializer
      type: object
    FlavorHardwareDescriptionSerializer:
      properties:
        cpu:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable CPU description
          examples:
          - 1x Intel Xeon 4C/8T 3.7 GHz
          title: Cpu
        disk:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable disk description
          examples:
          - 2x 250GB SSD
          title: Disk
        ephemeral:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable ephemeral disk description
          examples:
          - 2200GB NVMe (ephemeral)
          title: Ephemeral
        gpu:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable GPU description
          examples:
          - 1x NVIDIA 11GB
          title: Gpu
        network:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable NIC description
          examples:
          - 1x 500Mbps
          title: Network
        ram:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable RAM description
          examples:
          - 32 GiB
          title: Ram
      title: FlavorHardwareDescriptionSchema hardware hints for a flavor
      type: object
    FlavorPrice:
      properties:
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          description: Price status for the UI
          examples:
          - show
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      title: Flavor price schema
      type: object
    FloatingIPCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FloatingIPSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FloatingIPCollectionSerializer
      type: object
    FloatingIPConversionTargetType:
      enum:
      - reserved_fixed_ip
      title: FloatingIPConversionTargetType
      type: string
    FloatingIPDetailedCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FloatingIPDetailedSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FloatingIPDetailedCollectionSerializer
      type: object
    FloatingIPDetailedSerializer:
      properties:
        created_at:
          description: Datetime when the floating IP was created
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the floating IP wasn't created via a tracked task.
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          title: Creator Task Id
        fixed_ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: IP address of the port the floating IP is attached to. Null when the floating IP is not attached to a port.
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        floating_ip_address:
          description: IP Address of the floating IP
          example: 172.24.4.34
          examples:
          - 172.24.4.34
          format: ipvanyaddress
          title: Floating Ip Address
          type: string
        id:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Id
          type: string
        instance:
          anyOf:
          - $ref: '#/components/schemas/InstanceInFloatingSerializer'
          - type: 'null'
          description: Instance the floating IP is attached to
        loadbalancer:
          anyOf:
          - $ref: '#/components/schemas/LoadbalancerSerializer'
          - type: 'null'
          description: Load balancer the floating IP is attached to
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Port ID
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        router_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Router ID. Null when the floating IP is not attached to a port.
          examples:
          - 11005a33-c5ac-4c96-ab6f-8f2827cc7da6
          title: Router Id
        status:
          $ref: '#/components/schemas/FloatingIPStatus'
          description: Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.
          examples:
          - ACTIVE
          - DOWN
          - ERROR
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id142
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id142
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - a4eb4b29-048e-42f6-a5e1-2c18bc001c45
          title: Task Id
        updated_at:
          description: Datetime when the floating IP was last updated
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - creator_task_id
      - fixed_ip_address
      - floating_ip_address
      - id
      - tags
      - port_id
      - router_id
      - status
      - task_id
      - created_at
      - updated_at
      - instance
      - loadbalancer
      title: FloatingIPDetailedSerializer
      type: object
    FloatingIPSerializer:
      properties:
        created_at:
          description: Datetime when the floating IP was created
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the floating IP wasn't created via a tracked task.
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          title: Creator Task Id
        fixed_ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: IP address of the port the floating IP is attached to. Null when the floating IP is not attached to a port.
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        floating_ip_address:
          description: IP Address of the floating IP
          example: 172.24.4.34
          examples:
          - 172.24.4.34
          format: ipvanyaddress
          title: Floating Ip Address
          type: string
        id:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Id
          type: string
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Port ID the floating IP is attached to. The `fixed_ip_address` is the IP address of the port. Null when the floating IP is not attached to a port.
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        router_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Router ID. Null when the floating IP is not attached to a port.
          examples:
          - 11005a33-c5ac-4c96-ab6f-8f2827cc7da6
          title: Router Id
        status:
          $ref: '#/components/schemas/FloatingIPStatus'
          description: Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.
          examples:
          - ACTIVE
          - DOWN
          - ERROR
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id143
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id143
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - a4eb4b29-048e-42f6-a5e1-2c18bc001c45
          title: Task Id
        updated_at:
          description: Datetime when the floating IP was last updated
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - creator_task_id
      - fixed_ip_address
      - floating_ip_address
      - id
      - tags
      - port_id
      - router_id
      - status
      - task_id
      - created_at
      - updated_at
      title: FloatingIPSerializer
      type: object
    FloatingIPStatus:
      enum:
      - ACTIVE
      - DOWN
      - ERROR
      title: FloatingIPStatus
      type: string
    FloatingIpDetailsSerializer:
      properties:
        created_at:
          description: Datetime when the floating IP was created
          example: '2025-04-04T13:55:31Z'
          examples:
          - '2025-04-04T13:55:31Z'
          format: date-time
          title: Created At
          type: string
        fixed_ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: IP address of the port the floating IP is attached to
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        floating_ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: IP Address of the floating IP
          examples:
          - 172.24.4.34
          title: Floating Ip Address
        id:
          description: Floating IP ID
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Id
          type: string
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Port ID the floating IP is attached to. The `fixed_ip_address` is the IP address of the port.
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        router_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Router ID
          examples:
          - 11005a33-c5ac-4c96-ab6f-8f2827cc7da6
          title: Router Id
        status:
          anyOf:
          - $ref: '#/components/schemas/FloatingIPStatus'
          - type: 'null'
          description: Floating IP status
          examples:
          - ACTIVE
          - DOWN
          - ERROR
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id144
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id144
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        updated_at:
          description: Datetime when the floating IP was last updated
          example: '2025-04-04T13:56:31Z'
          examples:
          - '2025-04-04T13:56:31Z'
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - fixed_ip_address
      - floating_ip_address
      - tags
      - port_id
      - router_id
      - status
      - created_at
      - updated_at
      title: FloatingIpDetailsSerializer
      type: object
    FloatingIpPricingRequestSerializer:
      example: &id145
        count: 2
      examples:
      - *id145
      properties:
        count:
          description: Number of floating IP addresses
          example: 2
          examples:
          - 2
          title: Count
          type: integer
      required:
      - count
      title: FloatingIpPricingRequestSerializer
      type: object
    FloatingIpSource:
      enum:
      - existing
      - new
      title: FloatingIpSource
      type: string
    FunctionListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/FunctionSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: FunctionListSerializer
      type: object
    FunctionPriceRequestSerializer:
      properties:
        autoscaling:
          $ref: '#/components/schemas/FaasAutoscalingSerializer'
          description: Autoscaling configuration for the function. Keys must be 'min_instances' or 'max_instances', and values must be integers between 0 and 50.
          examples:
          - max_instances: 2
            min_instances: 1
        flavor:
          description: The name of the flavor associated with the function.
          example: 64m-64MB
          examples:
          - 64m-64MB
          title: Flavor
          type: string
      required:
      - autoscaling
      - flavor
      title: FunctionPriceRequestSerializer
      type: object
    FunctionSerializer:
      properties:
        autoscaling:
          $ref: '#/components/schemas/FaasAutoscalingSerializer'
          description: Autoscaling configuration for the function. Keys must be 'min_instances' or 'max_instances', and values must be integers between 0 and 50.
          examples:
          - max_instances: 2
            min_instances: 1
        build_message:
          description: Function build message.
          example: Building
          examples:
          - Building
          title: Build Message
          type: string
        build_status:
          description: Function build status.
          example: Building
          examples:
          - Building
          title: Build Status
          type: string
        code_text:
          description: Function code text.
          example: |-
            def main():
                return 'Hello World'
          examples:
          - |-
            def main():
                return 'Hello World'
          maxLength: 100000
          minLength: 1
          title: Code Text
          type: string
        created_at:
          description: Function creation date.
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          title: Created At
          type: string
        dependencies:
          description: Dependencies for the function to install.
          example: |-
            numpy==1.21.0
            pandas==1.3.0
          examples:
          - |-
            numpy==1.21.0
            pandas==1.3.0
          maxLength: 100000
          title: Dependencies
          type: string
        deploy_status:
          additionalProperties:
            type: integer
          description: Function deploy status.
          example: &id146
            deployed: 1
          examples:
          - *id146
          title: Deploy Status
          type: object
        description:
          description: Description of the function.
          example: This is a sample function.
          examples:
          - This is a sample function.
          maxLength: 255
          minLength: 0
          title: Description
          type: string
        enable_api_key:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Enable or disable API key authentication.
          examples:
          - true
          title: Enable Api Key
        endpoint:
          description: Function endpoint.
          example: https://example.com/function-name
          examples:
          - https://example.com/function-name
          title: Endpoint
          type: string
        envs:
          anyOf:
          - propertyNames:
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
            type: object
            additionalProperties:
              maxLength: 255
              minLength: 0
              type: string
          - type: 'null'
          default: null
          description: Environment variables for the function. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          examples:
          - ENV_VAR: value
          title: Envs
        flavor:
          description: The name of the flavor associated with the function.
          example: 64m-64MB
          examples:
          - 64m-64MB
          title: Flavor
          type: string
        id:
          description: Function ID.
          example: c8a920ad-b5a4-47d5-b8b9-0e6c35cd800f
          examples:
          - c8a920ad-b5a4-47d5-b8b9-0e6c35cd800f
          title: Id
          type: string
        main_method:
          description: The main startup method name.
          example: run
          examples:
          - run
          maxLength: 100
          minLength: 1
          title: Main Method
          type: string
        name:
          description: Function name.
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        runtime:
          description: Function runtime.
          example: python3.7.12
          examples:
          - python3.7.12
          title: Runtime
          type: string
        status:
          description: Function status.
          example: Running
          examples:
          - Running
          title: Status
          type: string
        timeout:
          description: Function timeout in seconds.
          example: 5
          examples:
          - 5
          maximum: 180
          minimum: 0
          title: Timeout
          type: integer
      required:
      - id
      - name
      - runtime
      - timeout
      - flavor
      - autoscaling
      - code_text
      - main_method
      - endpoint
      - build_status
      - build_message
      - status
      - created_at
      - deploy_status
      - dependencies
      - description
      title: FunctionSerializer
      type: object
    FunctionsOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      title: FunctionsOrderByChoices
      type: string
    GPUClusterAnySubnetInterfaceSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          description: Allows the instance to have a public IP that can be reached from the internet. Only new floating IPs are supported.
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_address:
          description: You can specify a specific IP address from your subnet.
          format: ipvanyaddress
          title: Ip Address
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        type:
          const: any_subnet
          description: Instance will be attached to a subnet with the largest count of free IPs.
          title: Type
          type: string
      required:
      - type
      - network_id
      title: GPUClusterAnySubnetInterfaceSerializer
      type: object
    GPUClusterExternalInterfaceSerializer:
      properties:
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        type:
          const: external
          description: A public IP address will be assigned to the instance.
          title: Type
          type: string
      required:
      - type
      title: GPUClusterExternalInterfaceSerializer
      type: object
    GPUClusterServerCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GPUClusterServerSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: GPUClusterServerCollectionSerializer
      type: object
    GPUClusterServerSerializer:
      properties:
        addresses:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/InstanceFloatingAddressSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressShortSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressSerializer'
            type: array
          description: Map of `network_name` to list of addresses in that network
          title: Addresses
          type: object
        blackhole_ports:
          description: IP addresses of the instances that are blackholed by DDoS mitigation system
          items:
            $ref: '#/components/schemas/BlackholePortSerializer'
          title: Blackhole Ports
          type: array
        created_at:
          description: Datetime when GPU server was created
          example: '2023-11-29T10:56:49Z'
          examples:
          - '2023-11-29T10:56:49Z'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          title: Creator Task Id
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/GetClientProfileSerializer'
          - type: 'null'
          description: Advanced DDoS protection profile. It is always `null` if query parameter `with_ddos=true` is not set.
        fixed_ip_assignments:
          anyOf:
          - items:
              $ref: '#/components/schemas/IpAssignmentsSerializer'
            type: array
          - type: 'null'
          description: Fixed IP assigned to instance
          title: Fixed Ip Assignments
        flavor:
          $ref: '#/components/schemas/DeprecatedGpuClusterFlavorSerializer'
          description: Flavor
        id:
          description: GPU server ID
          example: 6c6aa80f-7836-4dc2-a2ae-125e248be476
          examples:
          - 6c6aa80f-7836-4dc2-a2ae-125e248be476
          format: uuid4
          title: Id
          type: string
        instance_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Instance description
          examples:
          - Instance description
          title: Instance Description
        instance_isolation:
          anyOf:
          - $ref: '#/components/schemas/IsolationSerializer'
          - type: 'null'
          description: Instance isolation information
        name:
          description: GPU server name
          example: my-server-1
          examples:
          - my-server-1
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 111
          examples:
          - 111
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
        security_groups:
          description: Security groups
          items:
            $ref: '#/components/schemas/NameSerializerPydantic'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key name assigned to instance
          examples:
          - my-ssh-key
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Instance status
          examples:
          - ACTIVE
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id147
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id147
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        task_state:
          anyOf:
          - type: string
          - type: 'null'
          description: Task state
          title: Task State
        vm_state:
          $ref: '#/components/schemas/InstanceVMState'
          description: Virtual machine state (active)
          examples:
          - active
      required:
      - id
      - name
      - created_at
      - status
      - vm_state
      - flavor
      - tags
      - instance_description
      - addresses
      - security_groups
      - ssh_key_name
      - creator_task_id
      - task_state
      - task_id
      - blackhole_ports
      - ddos_profile
      - fixed_ip_assignments
      - instance_isolation
      - region
      - region_id
      - project_id
      title: GPUClusterServerSerializer
      type: object
    GPUClusterSpecificSubnetInterfaceSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          description: Allows the instance to have a public IP that can be reached from the internet. Only new floating IPs are supported.
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        subnet_id:
          description: The instance will get an IP address from this subnet.
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          description: The instance will get an IP address from the selected network. If you choose to add a floating IP, the instance will be reachable from the internet. Otherwise, it will only have a private IP within the network.
          title: Type
          type: string
      required:
      - type
      - network_id
      - subnet_id
      title: GPUClusterSpecificSubnetInterfaceSerializer
      type: object
    GPUClusterStatus:
      enum:
      - active
      - creating
      - degraded
      - deleting
      - error
      - rebooting
      - rebuilding
      - resizing
      - shutoff
      title: GPUClusterStatus
      type: string
    GetApiKeyResponseSerializer:
      properties:
        created_at:
          description: Timestamp when the API Key was created.
          example: '2023-10-01T12:00:00Z'
          examples:
          - '2023-10-01T12:00:00Z'
          title: Created At
          type: string
        deployment_names:
          description: List of inference deployment names to which this API Key has been attached.
          example: &id148
          - inference-1
          - inference-2
          examples:
          - *id148
          items:
            type: string
          title: Deployment Names
          type: array
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the API Key.
          examples:
          - This key is used for accessing the inference service.
          title: Description
        expires_at:
          anyOf:
          - type: string
          - type: 'null'
          description: Timestamp when the API Key will expire.
          examples:
          - '2024-10-01T12:00:00Z'
          title: Expires At
        name:
          description: API Key name.
          example: my-api-key
          examples:
          - my-api-key
          title: Name
          type: string
      required:
      - name
      - description
      - created_at
      - expires_at
      - deployment_names
      title: GetApiKeyResponseSerializer
      type: object
    GetClientProfileSerializer:
      properties:
        fields:
          description: List of configured field values for the protection profile
          items:
            $ref: '#/components/schemas/ClientProfileFieldSerializer'
          title: Fields
          type: array
        id:
          description: Unique identifier for the DDoS protection profile
          example: 0
          examples:
          - 0
          title: Id
          type: integer
        options:
          $ref: '#/components/schemas/ProfileOptionsSerializer'
          description: Configuration options controlling profile activation and BGP routing
          examples:
          - active: true
            bgp: true
        profile_template:
          anyOf:
          - $ref: '#/components/schemas/ClientProfileTemplateSerializer'
          - type: 'null'
          description: Complete template configuration data used for this profile
        profile_template_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Detailed description of the protection template used for this profile
          examples:
          - ARK server ports. Valid port values are in range 1000-65535
          title: Profile Template Description
        protocols:
          description: List of network protocols and ports configured for protection
          example: &id149
          - port: '80'
            protocols:
            - TCP
            - HTTP
          - port: '53'
            protocols:
            - UDP
          examples:
          - *id149
          items:
            $ref: '#/components/schemas/ProtocolsOnPortSerializer'
          title: Protocols
          type: array
        site:
          description: Geographic site identifier where the protection is deployed
          example: ED
          examples:
          - ED
          maxLength: 50
          title: Site
          type: string
        status:
          $ref: '#/components/schemas/DdosProfileStatusSerializer'
          description: Current operational status and any error information for the profile
          examples:
          - error_description: ''
            status: Updated
      required:
      - id
      - options
      - site
      - protocols
      - status
      - profile_template_description
      - profile_template
      - fields
      title: GetClientProfileSerializer
      type: object
    GetCronScheduleSerializer:
      properties:
        day:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Day of the month (1-31, '*') or a comma-separated list of days
          examples:
          - '5'
          title: Day
        day_of_week:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Weekday or a comma-separated list of weekdays (mon,tue,wed,thu,fri,sat,sun,*)
          examples:
          - mon,fri
          title: Day Of Week
        hour:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Hour (0-23, '*') or a comma-separated list of hours
          examples:
          - 0, 20
          title: Hour
        id:
          description: Schedule ID
          example: 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Id
          type: string
        max_quantity:
          description: Number of stored resources.
          example: 2
          examples:
          - 2
          exclusiveMinimum: 0
          maximum: 10000
          title: Max Quantity
          type: integer
        minute:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Minute (0-59, '*') or a comma-separated list of minutes
          examples:
          - '30'
          title: Minute
        month:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Month (1-12, '*') or a comma-separated list of months
          examples:
          - 1,6
          title: Month
        owner:
          description: Schedule owner
          example: lifecycle_policy
          examples:
          - lifecycle_policy
          title: Owner
          type: string
        owner_id:
          description: Owner ID
          example: 1
          examples:
          - 1
          title: Owner Id
          type: integer
        resource_name_template:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Template for resource names
          examples:
          - reserve snap of the volume {volume_id}
          title: Resource Name Template
        retention_time:
          anyOf:
          - $ref: '#/components/schemas/RetentionTimeSerializer'
          - type: 'null'
          description: Time after which the resource will be deleted
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: A pytz timezone. Defaults to UTC.
          examples:
          - UTC
          title: Timezone
        type:
          const: cron
          description: Schedule type
          example: cron
          examples:
          - cron
          title: Type
          type: string
        user_id:
          description: User ID
          example: 12
          examples:
          - 12
          title: User Id
          type: integer
        week:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: ISO week (1-53, '*') or a comma-separated list of weeks
          examples:
          - '1'
          title: Week
      required:
      - id
      - owner
      - owner_id
      - user_id
      - max_quantity
      - retention_time
      - type
      title: GetCronScheduleSerializer
      type: object
    GetIntervalScheduleSerializer:
      properties:
        days:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of days to wait
          examples:
          - 0
          title: Days
        hours:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of hours to wait
          examples:
          - 2
          title: Hours
        id:
          description: Schedule ID
          example: 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Id
          type: string
        max_quantity:
          description: Number of stored resources.
          example: 2
          examples:
          - 2
          exclusiveMinimum: 0
          maximum: 10000
          title: Max Quantity
          type: integer
        minutes:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of minutes to wait
          examples:
          - 1
          title: Minutes
        owner:
          description: Schedule owner
          example: lifecycle_policy
          examples:
          - lifecycle_policy
          title: Owner
          type: string
        owner_id:
          description: Owner ID
          example: 1
          examples:
          - 1
          title: Owner Id
          type: integer
        resource_name_template:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Template for resource names
          examples:
          - reserve snap of the volume {volume_id}
          title: Resource Name Template
        retention_time:
          anyOf:
          - $ref: '#/components/schemas/RetentionTimeSerializer'
          - type: 'null'
          description: Time after which the resource will be deleted
        type:
          const: interval
          description: Schedule type
          example: interval
          examples:
          - interval
          title: Type
          type: string
        user_id:
          description: User ID
          example: 12
          examples:
          - 12
          title: User Id
          type: integer
        weeks:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of weeks to wait
          examples:
          - 0
          title: Weeks
      required:
      - id
      - owner
      - owner_id
      - user_id
      - max_quantity
      - retention_time
      - type
      title: GetIntervalScheduleSerializer
      type: object
    GlobalQuotasSerializer:
      properties:
        inference_cpu_millicore_count_limit:
          description: Inference CPU millicore count limit
          example: 0
          examples:
          - 0
          title: Inference Cpu Millicore Count Limit
          type: integer
        inference_cpu_millicore_count_usage:
          description: Inference CPU millicore count usage
          example: 0
          examples:
          - 0
          title: Inference Cpu Millicore Count Usage
          type: integer
        inference_gpu_a100_count_limit:
          description: Inference GPU A100 Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu A100 Count Limit
          type: integer
        inference_gpu_a100_count_usage:
          description: Inference GPU A100 Count usage
          example: 0
          examples:
          - 0
          title: Inference Gpu A100 Count Usage
          type: integer
        inference_gpu_h100_count_limit:
          description: Inference GPU H100 Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu H100 Count Limit
          type: integer
        inference_gpu_h100_count_usage:
          description: Inference GPU H100 Count usage
          example: 0
          examples:
          - 0
          title: Inference Gpu H100 Count Usage
          type: integer
        inference_gpu_l40s_count_limit:
          description: Inference GPU L40s Count limit
          example: 0
          examples:
          - 0
          title: Inference Gpu L40S Count Limit
          type: integer
        inference_gpu_l40s_count_usage:
          description: Inference GPU L40s Count usage
          example: 0
          examples:
          - 0
          title: Inference Gpu L40S Count Usage
          type: integer
        inference_instance_count_limit:
          description: Inference instance count limit
          example: 0
          examples:
          - 0
          title: Inference Instance Count Limit
          type: integer
        inference_instance_count_usage:
          description: Inference instance count usage
          example: 0
          examples:
          - 0
          title: Inference Instance Count Usage
          type: integer
        inference_public_model_api_key_count_limit:
          description: Public model API keys count limit
          example: 0
          examples:
          - 0
          title: Inference Public Model Api Key Count Limit
          type: integer
        inference_public_model_api_key_count_usage:
          description: Public model API keys count usage
          example: 0
          examples:
          - 0
          title: Inference Public Model Api Key Count Usage
          type: integer
        keypair_count_limit:
          description: SSH Keys Count limit
          example: 100
          examples:
          - 100
          title: Keypair Count Limit
          type: integer
        keypair_count_usage:
          description: SSH Keys Count usage
          example: 0
          examples:
          - 0
          title: Keypair Count Usage
          type: integer
        project_count_limit:
          description: Projects Count limit
          example: 2
          examples:
          - 2
          title: Project Count Limit
          type: integer
        project_count_usage:
          description: Projects Count usage
          example: 1
          examples:
          - 1
          title: Project Count Usage
          type: integer
      title: GlobalQuotas object
      type: object
    GlobalQuotasThresholdSerializer:
      properties:
        inference_cpu_millicore_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference CPU millicore count limit
        inference_cpu_millicore_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference CPU millicore count usage
        inference_gpu_a100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU A100 Count limit
        inference_gpu_a100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU A100 Count usage
        inference_gpu_h100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU H100 Count limit
        inference_gpu_h100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU H100 Count usage
        inference_gpu_l40s_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU L40s Count limit
        inference_gpu_l40s_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference GPU L40s Count usage
        inference_instance_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference instance count limit
        inference_instance_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Inference instance count usage
        inference_public_model_api_key_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Public model API keys count limit
        inference_public_model_api_key_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Public model API keys count usage
        keypair_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: SSH Keys Count limit
        keypair_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: SSH Keys Count usage
        project_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Projects Count limit
        project_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Projects Count usage
      title: GlobalQuotasThreshold object
      type: object
    GpuBaremetalFlavorHardwareDescriptionSerializer:
      properties:
        cpu:
          description: Human-readable CPU description
          example: 1x Intel Xeon 4C/8T 3.7 GHz
          examples:
          - 1x Intel Xeon 4C/8T 3.7 GHz
          title: Cpu
          type: string
        disk:
          description: Human-readable disk description
          example: 2x 250GiB SSD
          examples:
          - 2x 250GiB SSD
          title: Disk
          type: string
        gpu:
          description: Human-readable GPU description
          example: 1x NVIDIA 11GB
          examples:
          - 1x NVIDIA 11GB
          title: Gpu
          type: string
        network:
          description: Human-readable NIC description
          example: 1x 500Mbps
          examples:
          - 1x 500Mbps
          title: Network
          type: string
        ram:
          description: Human-readable RAM description
          example: 32 GiB
          examples:
          - 32 GiB
          title: Ram
          type: string
      required:
      - cpu
      - ram
      - disk
      - network
      - gpu
      title: GpuBaremetalFlavorHardwareDescriptionSerializer
      type: object
    GpuBaremetalFlavorSerializer:
      anyOf:
      - $ref: '#/components/schemas/GpuBaremetalFlavorSerializerWithoutPrice'
      - $ref: '#/components/schemas/GpuBaremetalFlavorSerializerWithPrices'
      title: GpuBaremetalFlavorSerializer
    GpuBaremetalFlavorSerializerWithPrices:
      properties:
        architecture:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor architecture type
          examples:
          - x86_64
          title: Architecture
        capacity:
          description: Number of available instances of given flavor for the client
          example: 1
          examples:
          - 1
          title: Capacity
          type: integer
        disabled:
          description: If the flavor is disabled, new resources cannot be created using this flavor.
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        hardware_description:
          $ref: '#/components/schemas/GpuBaremetalFlavorHardwareDescriptionSerializer'
          description: Additional bare metal hardware description
        hardware_properties:
          $ref: '#/components/schemas/GpuFlavorHardwareProperties'
          description: Additional bare metal hardware properties
        name:
          description: Flavor name
          example: g1-gpu-1-2-1
          examples:
          - g1-gpu-1-2-1
          title: Name
          type: string
        price:
          $ref: '#/components/schemas/FlavorPrice'
          description: Flavor price
        reserved_capacity:
          description: Number of available instances of given flavor from reservations
          example: 5
          examples:
          - 5
          title: Reserved Capacity
          type: integer
        supported_features:
          $ref: '#/components/schemas/FlavorFeaturesSerializer'
          description: Set of enabled features based on the flavor's type and configuration
      required:
      - name
      - architecture
      - disabled
      - capacity
      - reserved_capacity
      - hardware_description
      - hardware_properties
      - supported_features
      - price
      title: Bare metal GPU flavors chema with price
      type: object
    GpuBaremetalFlavorSerializerWithoutPrice:
      properties:
        architecture:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor architecture type
          examples:
          - x86_64
          title: Architecture
        capacity:
          description: Number of available instances of given flavor for the client
          example: 1
          examples:
          - 1
          title: Capacity
          type: integer
        disabled:
          description: If the flavor is disabled, new resources cannot be created using this flavor.
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        hardware_description:
          $ref: '#/components/schemas/GpuBaremetalFlavorHardwareDescriptionSerializer'
          description: Additional bare metal hardware description
        hardware_properties:
          $ref: '#/components/schemas/GpuFlavorHardwareProperties'
          description: Additional bare metal hardware properties
        name:
          description: Flavor name
          example: g1-gpu-1-2-1
          examples:
          - g1-gpu-1-2-1
          title: Name
          type: string
        reserved_capacity:
          description: Number of available instances of given flavor from reservations
          example: 5
          examples:
          - 5
          title: Reserved Capacity
          type: integer
        supported_features:
          $ref: '#/components/schemas/FlavorFeaturesSerializer'
          description: Set of enabled features based on the flavor's type and configuration
      required:
      - name
      - architecture
      - disabled
      - capacity
      - reserved_capacity
      - hardware_description
      - hardware_properties
      - supported_features
      title: Bare metal GPU flavors chema without price
      type: object
    GpuClusterRequiredQuotaSerializer:
      properties:
        baremetal_gpu_a100_count_limit:
          description: Bare metal A100 GPU server count limit
          example: 1
          examples:
          - 1
          title: Baremetal Gpu A100 Count Limit
          type: integer
        baremetal_gpu_a100_count_requested:
          description: Bare metal A100 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu A100 Count Requested
          type: integer
        baremetal_gpu_a100_count_usage:
          description: Bare metal A100 GPU server count usage
          example: 1
          examples:
          - 1
          title: Baremetal Gpu A100 Count Usage
          type: integer
        baremetal_gpu_h100_count_limit:
          description: Bare metal H100 GPU server count limit
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H100 Count Limit
          type: integer
        baremetal_gpu_h100_count_requested:
          description: Bare metal H100 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H100 Count Requested
          type: integer
        baremetal_gpu_h100_count_usage:
          description: Bare metal H100 GPU server count usage
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H100 Count Usage
          type: integer
        baremetal_gpu_h200_count_limit:
          description: Bare metal H200 GPU server count limit
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H200 Count Limit
          type: integer
        baremetal_gpu_h200_count_requested:
          description: Bare metal H200 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H200 Count Requested
          type: integer
        baremetal_gpu_h200_count_usage:
          description: Bare metal H200 GPU server count usage
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H200 Count Usage
          type: integer
        baremetal_gpu_l40s_count_limit:
          description: Bare metal L40S GPU server count limit
          example: 1
          examples:
          - 1
          title: Baremetal Gpu L40S Count Limit
          type: integer
        baremetal_gpu_l40s_count_requested:
          description: Bare metal L40S GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu L40S Count Requested
          type: integer
        baremetal_gpu_l40s_count_usage:
          description: Bare metal L40S GPU server count usage
          example: 1
          examples:
          - 1
          title: Baremetal Gpu L40S Count Usage
          type: integer
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Limit
          type: integer
        baremetal_network_count_requested:
          description: Bare metal Network Count requested
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Requested
          type: integer
        baremetal_network_count_usage:
          description: Bare metal Network Count usage
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 10
          examples:
          - 10
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 1
          examples:
          - 1
          title: External Ip Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count usage
          example: 1
          examples:
          - 1
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Usage
          type: integer
      title: GpuClusterRequiredQuotaSerializer
      type: object
    GpuCurrency:
      enum:
      - EUR
      - USD
      title: GpuCurrency
      type: string
    GpuDeploymentType:
      enum:
      - baremetal
      - virtual
      title: GpuDeploymentType
      type: string
    GpuFlavorHardwareProperties:
      properties:
        gpu_count:
          anyOf:
          - type: integer
          - type: 'null'
          description: The total count of available GPUs.
          title: Gpu Count
        gpu_manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          description: The manufacturer of the graphics processing GPU
          title: Gpu Manufacturer
        gpu_model:
          anyOf:
          - type: string
          - type: 'null'
          description: GPU model
          title: Gpu Model
        nic_eth:
          anyOf:
          - type: string
          - type: 'null'
          description: The configuration of the Ethernet ports
          examples:
          - 2x100;2x25
          title: Nic Eth
        nic_ib:
          anyOf:
          - type: string
          - type: 'null'
          description: The configuration of the InfiniBand ports
          examples:
          - 8x400
          title: Nic Ib
      required:
      - gpu_model
      - gpu_manufacturer
      - gpu_count
      - nic_eth
      - nic_ib
      title: GpuFlavorHardwareProperties
      type: object
    GpuImageSerializer:
      properties:
        architecture:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Image architecture type
          examples:
          - x86_64
          title: Architecture
        created_at:
          description: Datetime when the image was created
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Created At
          type: string
        cuda_toolkit_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of the installed CUDA toolkit
          examples:
          - 13.0.2
          title: Cuda Toolkit Version
        disk_format:
          description: Disk format of the stored image (e.g. `raw`, `qcow2`). `cow_format=true` -> `raw`, `cow_format=false` -> `qcow2`.
          example: raw
          examples:
          - raw
          title: Disk Format
          type: string
        gpu_driver:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the GPU driver vendor
          examples:
          - nvidia
          title: Gpu Driver
        gpu_driver_type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Type of the GPU driver
          examples:
          - open
          title: Gpu Driver Type
        gpu_driver_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Version of the installed GPU driver
          examples:
          - 570.148.08
          title: Gpu Driver Version
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          default: null
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        id:
          description: Image ID
          example: 44e136a7-15c1-4b5f-a086-20b7b3237d40
          examples:
          - 44e136a7-15c1-4b5f-a086-20b7b3237d40
          format: uuid4
          title: Id
          type: string
        min_disk:
          description: Minimal boot volume required
          example: 1
          examples:
          - 1
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal VM RAM required
          example: 0
          examples:
          - 0
          title: Min Ram
          type: integer
        name:
          description: Image name
          example: ubuntu-23.10-x64
          examples:
          - ubuntu-23.10-x64
          title: Name
          type: string
        os_distro:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS Distribution
          examples:
          - ubuntu
          title: Os Distro
        os_type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The operating system installed on the image
          examples:
          - linux
          title: Os Type
        os_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          examples:
          - '19.04'
          title: Os Version
        size:
          default: 0
          description: Image size in bytes.
          example: 3758096384
          examples:
          - 3758096384
          title: Size
          type: integer
        ssh_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Whether the image supports SSH key or not
          examples:
          - allow
          title: Ssh Key
        status:
          description: Image status
          example: active
          examples:
          - active
          title: Status
          type: string
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id150
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id150
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the image was updated
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Updated At
          type: string
        visibility:
          description: Image visibility. Globally visible images are public
          example: public
          examples:
          - public
          title: Visibility
          type: string
      required:
      - id
      - name
      - status
      - min_disk
      - min_ram
      - tags
      - visibility
      - created_at
      - updated_at
      - disk_format
      - cuda_toolkit_version
      title: GpuImageSerializer
      type: object
    GpuPriceRowSerializer:
      properties:
        currency:
          $ref: '#/components/schemas/GpuCurrency'
          description: ISO 4217 currency code.
          examples:
          - EUR
        deployment_type:
          $ref: '#/components/schemas/GpuDeploymentType'
          description: Baremetal or virtual.
          examples:
          - baremetal
        gpu_count:
          description: Number of GPU cards this price covers.
          example: 8
          examples:
          - 8
          title: Gpu Count
          type: integer
        gpu_model:
          description: GPU model.
          example: H100
          examples:
          - H100
          title: Gpu Model
          type: string
        price_per_gpu_hour:
          description: On-demand price per GPU per hour.
          example: '2.27250000'
          examples:
          - '2.27250000'
          title: Price Per Gpu Hour
          type: string
        price_per_hour:
          description: On-demand price per node/instance per hour.
          example: '18.18000000'
          examples:
          - '18.18000000'
          title: Price Per Hour
          type: string
        pricing_detail:
          $ref: '#/components/schemas/GpuPricingDetailSerializer'
          description: Pricing-specific detail.
        region_name:
          description: Region this price applies to.
          example: Luxembourg-2
          examples:
          - Luxembourg-2
          title: Region Name
          type: string
      required:
      - gpu_model
      - gpu_count
      - deployment_type
      - region_name
      - currency
      - price_per_gpu_hour
      - price_per_hour
      - pricing_detail
      title: GpuPriceRowSerializer
      type: object
    GpuPricingCatalogSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        generated_at:
          description: When this catalog snapshot was built.
          format: date-time
          title: Generated At
          type: string
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GpuPriceRowSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - generated_at
      title: GpuPricingCatalogSerializer
      type: object
    GpuPricingDetailSerializer:
      properties:
        flavor_names:
          description: Flavor names that share this SKU and price.
          example: &id151
          - bm3-infrastructure-ai-h100-80-8
          - noib-ai-h100-80-8
          examples:
          - *id151
          items:
            type: string
          title: Flavor Names
          type: array
        sku:
          description: SKU id for this price row.
          example: h100-80-8
          examples:
          - h100-80-8
          title: Sku
          type: string
        updated_at:
          description: When this row was last refreshed.
          format: date-time
          title: Updated At
          type: string
      required:
      - sku
      - flavor_names
      - updated_at
      title: GpuPricingDetailSerializer
      type: object
    GpuVirtualFlavorHardwareDescriptionSerializer:
      properties:
        gpu:
          anyOf:
          - type: string
          - type: 'null'
          description: Human-readable GPU description
          examples:
          - 1x NVIDIA 11GB
          title: Gpu
        local_storage:
          anyOf:
          - type: integer
          - type: 'null'
          description: Local storage capacity in GiB
          examples:
          - 3000
          title: Local Storage
        ram:
          anyOf:
          - type: integer
          - type: 'null'
          description: RAM size in MiB
          examples:
          - 2048
          title: Ram
        vcpus:
          anyOf:
          - type: integer
          - type: 'null'
          description: Virtual CPU count
          examples:
          - 1
          title: Vcpus
      required:
      - vcpus
      - ram
      - gpu
      - local_storage
      title: GpuVirtualFlavorHardwareDescriptionSerializer
      type: object
    GpuVirtualFlavorSerializer:
      anyOf:
      - $ref: '#/components/schemas/GpuVirtualFlavorSerializerWithoutPrice'
      - $ref: '#/components/schemas/GpuVirtualFlavorSerializerWithPrices'
      title: GpuVirtualFlavorSerializer
    GpuVirtualFlavorSerializerWithPrices:
      properties:
        architecture:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor architecture type
          examples:
          - x86_64
          title: Architecture
        capacity:
          description: Number of available instances of given flavor
          example: 1
          examples:
          - 1
          title: Capacity
          type: integer
        disabled:
          description: If the flavor is disabled, new resources cannot be created using this flavor.
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        hardware_description:
          $ref: '#/components/schemas/GpuVirtualFlavorHardwareDescriptionSerializer'
          description: Additional virtual hardware description
        hardware_properties:
          $ref: '#/components/schemas/GpuFlavorHardwareProperties'
          description: Additional virtual hardware properties
        name:
          description: Flavor name
          example: g1-gpu-1-2-1
          examples:
          - g1-gpu-1-2-1
          title: Name
          type: string
        price:
          $ref: '#/components/schemas/FlavorPrice'
          description: Flavor price.
        supported_features:
          $ref: '#/components/schemas/FlavorFeaturesSerializer'
          description: Set of enabled features based on the flavor's type and configuration
      required:
      - name
      - architecture
      - disabled
      - capacity
      - hardware_description
      - hardware_properties
      - supported_features
      - price
      title: Virtual GPU flavors chema with price
      type: object
    GpuVirtualFlavorSerializerWithoutPrice:
      properties:
        architecture:
          anyOf:
          - type: string
          - type: 'null'
          description: Flavor architecture type
          examples:
          - x86_64
          title: Architecture
        capacity:
          description: Number of available instances of given flavor
          example: 1
          examples:
          - 1
          title: Capacity
          type: integer
        disabled:
          description: If the flavor is disabled, new resources cannot be created using this flavor.
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        hardware_description:
          $ref: '#/components/schemas/GpuVirtualFlavorHardwareDescriptionSerializer'
          description: Additional virtual hardware description
        hardware_properties:
          $ref: '#/components/schemas/GpuFlavorHardwareProperties'
          description: Additional virtual hardware properties
        name:
          description: Flavor name
          example: g1-gpu-1-2-1
          examples:
          - g1-gpu-1-2-1
          title: Name
          type: string
        supported_features:
          $ref: '#/components/schemas/FlavorFeaturesSerializer'
          description: Set of enabled features based on the flavor's type and configuration
      required:
      - name
      - architecture
      - disabled
      - capacity
      - hardware_description
      - hardware_properties
      - supported_features
      title: Virtual GPU flavors chema without price
      type: object
    GroupOrdering:
      enum:
      - created_at.asc
      - created_at.desc
      - status.asc
      - status.desc
      title: GroupOrdering
      type: string
    GroupSecurityGroupSerializer:
      properties:
        id:
          description: Security group ID
          example: ae74714c-c380-48b4-87f8-758d656cdad6
          examples:
          - ae74714c-c380-48b4-87f8-758d656cdad6
          title: Id
          type: string
        name:
          description: Security group name
          example: default
          examples:
          - default
          title: Name
          type: string
      required:
      - id
      - name
      title: GroupSecurityGroupSerializer
      type: object
    HardRebootGPUClusterSerializer:
      properties:
        action:
          const: hard_reboot
          description: Action name
          example: hard_reboot
          examples:
          - hard_reboot
          title: Action
          type: string
      required:
      - action
      title: HardRebootGPUClusterSerializer
      type: object
    HealthMonitorStatusSerializer:
      properties:
        id:
          description: UUID of the entity
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid
          title: Id
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Provisioning status of the entity
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
        type:
          $ref: '#/components/schemas/HealthMonitorTypeEnum'
          description: Type of the Health Monitor
          examples:
          - HTTP
          - HTTPS
          - PING
          - TCP
          - TLS_HELLO
          - UDP_CONNECT
          - K8S
      required:
      - id
      - operating_status
      - provisioning_status
      - type
      title: HealthMonitorStatusSerializer
      type: object
    HealthMonitorTypeEnum:
      enum:
      - HTTP
      - HTTPS
      - K8S
      - PING
      - TCP
      - TLS-HELLO
      - UDP-CONNECT
      title: HealthMonitorTypeEnum
      type: string
    HighAvailabilityOptions:
      properties:
        replication_mode:
          $ref: '#/components/schemas/ReplicationMode'
          description: Type of replication
          examples:
          - sync
          - async
      required:
      - replication_mode
      title: HighAvailabilityOptions
      type: object
    HttpMethodEnum:
      enum:
      - CONNECT
      - DELETE
      - GET
      - HEAD
      - OPTIONS
      - PATCH
      - POST
      - PUT
      - TRACE
      title: HttpMethodEnum
      type: string
    HttpTriggerSerializer:
      properties:
        rate:
          description: HTTP requests rate
          maximum: 1000
          minimum: 1
          title: Rate
          type: integer
        window:
          description: Time window in seconds
          maximum: 3600
          minimum: 1
          title: Window
          type: integer
      required:
      - rate
      - window
      title: HttpTriggerSerializer
      type: object
    HwMachineTypeEnum:
      enum:
      - i440
      - q35
      title: HwMachineTypeEnum
      type: string
    IPRangesSerializer:
      properties:
        ranges:
          description: IP ranges list
          example: &id152
          - 203.0.113.0/24
          examples:
          - *id152
          items:
            anyOf:
            - format: ipv4interface
              type: string
            - format: ipv6interface
              type: string
          title: Ranges
          type: array
      required:
      - ranges
      title: IPRangesSerializer
      type: object
    IPVersion:
      enum:
      - 4
      - 6
      title: IPVersion
      type: integer
    ImageArchitectureTypeEnum:
      enum:
      - aarch64
      - x86_64
      title: ImageArchitectureTypeEnum
      type: string
    ImageCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ImageSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ImageCollectionSerializer
      type: object
    ImageCreateFromVolumeSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          default: x86_64
          description: 'Image CPU architecture type: `aarch64`, `x86_64`'
          examples:
          - x86_64
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          default: null
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          anyOf:
          - $ref: '#/components/schemas/HwMachineTypeEnum'
          - type: 'null'
          default: null
          description: A virtual chipset type.
          examples:
          - q35
        is_baremetal:
          default: false
          description: Set to true if the image will be used by bare metal servers. Defaults to false.
          example: false
          examples:
          - false
          title: Is Baremetal
          type: boolean
        name:
          description: Image name
          example: my-image
          examples:
          - my-image
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          default: linux
          description: The operating system installed on the image.
          examples:
          - linux
        source:
          const: volume
          default: volume
          description: Image source
          example: volume
          examples:
          - volume
          title: Source
          type: string
        ssh_key:
          $ref: '#/components/schemas/SshKeyEnum'
          default: allow
          description: Whether the image supports SSH key or not
          examples:
          - allow
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        volume_id:
          description: Required if source is volume. Volume id
          example: d478ae29-dedc-4869-82f0-96104425f565
          examples:
          - d478ae29-dedc-4869-82f0-96104425f565
          format: uuid4
          title: Volume Id
          type: string
      required:
      - volume_id
      - name
      title: ImageCreateFromVolumeSerializer
      type: object
    ImageDownloadSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          default: x86_64
          description: 'Image CPU architecture type: `aarch64`, `x86_64`'
          examples:
          - x86_64
        cow_format:
          default: false
          description: When True, image cannot be deleted unless all volumes, created from it, are deleted.
          example: false
          examples:
          - false
          title: Cow Format
          type: boolean
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          default: null
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          anyOf:
          - $ref: '#/components/schemas/HwMachineTypeEnum'
          - type: 'null'
          default: null
          description: A virtual chipset type.
          examples:
          - q35
        is_baremetal:
          default: false
          description: Set to true if the image will be used by bare metal servers. Defaults to false.
          example: false
          examples:
          - false
          title: Is Baremetal
          type: boolean
        name:
          description: Image name
          example: my-image
          examples:
          - my-image
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        os_distro:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          examples:
          - ubuntu
          title: Os Distro
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          default: linux
          description: The operating system installed on the image.
          examples:
          - linux
        os_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS version, i.e. 22.04 (for Ubuntu) or 9.4 for Debian
          examples:
          - '22.04'
          title: Os Version
        ssh_key:
          $ref: '#/components/schemas/SshKeyEnum'
          default: allow
          description: Whether the image supports SSH key or not
          examples:
          - allow
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        url:
          description: URL
          example: http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img
          examples:
          - http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img
          format: uri
          minLength: 1
          title: Url
          type: string
      required:
      - url
      - name
      title: ImageDownloadSerializer
      type: object
    ImageHwFirmwareTypeEnum:
      enum:
      - bios
      - uefi
      title: ImageHwFirmwareTypeEnum
      type: string
    ImageOsTypeEnum:
      enum:
      - linux
      - windows
      title: ImageOsTypeEnum
      type: string
    ImagePricingRequestSerializer:
      example: &id153
        size: 1000
      examples:
      - *id153
      properties:
        size:
          description: Image size in Gb
          example: 1000
          examples:
          - 1000
          title: Size
          type: integer
      required:
      - size
      title: ImagePricingRequestSerializer
      type: object
    ImageSerializer:
      properties:
        architecture:
          $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          description: 'An image architecture type: aarch64, `x86_64`.'
          examples:
          - x86_64
        created_at:
          description: Datetime when the image was created
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - b10dd116-07f5-4225-abb7-f42da5cb78fb
          title: Creator Task Id
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Image description
          examples:
          - string
          title: Description
        disk_format:
          description: Disk format
          example: raw
          examples:
          - raw
          title: Disk Format
          type: string
        display_order:
          anyOf:
          - type: integer
          - type: 'null'
          description: ''
          examples:
          - 2010
          title: Display Order
        gpu_driver:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the GPU driver vendor
          examples:
          - nvidia
          title: Gpu Driver
        gpu_driver_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Type of the GPU driver
          examples:
          - open
          title: Gpu Driver Type
        gpu_driver_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of the installed GPU driver
          examples:
          - 570.148.08
          title: Gpu Driver Version
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          anyOf:
          - $ref: '#/components/schemas/HwMachineTypeEnum'
          - type: 'null'
          description: A virtual chipset type.
          examples:
          - q35
        id:
          description: Image ID
          example: 44e136a7-15c1-4b5f-a086-20b7b3237d40
          examples:
          - 44e136a7-15c1-4b5f-a086-20b7b3237d40
          title: Id
          type: string
        is_baremetal:
          description: Set to true if the image will be used by bare metal servers.
          example: false
          examples:
          - false
          title: Is Baremetal
          type: boolean
        min_disk:
          description: Minimal boot volume required
          example: 3
          examples:
          - 3
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal VM RAM required
          example: 0
          examples:
          - 0
          title: Min Ram
          type: integer
        name:
          description: Image display name
          example: ubuntu-20.10-x64
          examples:
          - ubuntu-20.10-x64
          title: Name
          type: string
        os_distro:
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          example: ubuntu
          examples:
          - ubuntu
          title: Os Distro
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          description: The operating system installed on the image.
          examples:
          - linux
        os_version:
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          example: '20.10'
          examples:
          - '20.10'
          title: Os Version
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          description: Price status for the UI
          examples:
          - show
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        size:
          anyOf:
          - type: integer
          - type: 'null'
          description: Image size in bytes
          examples:
          - 2361393152
          title: Size
        ssh_key:
          anyOf:
          - $ref: '#/components/schemas/SshKeyEnum'
          - type: 'null'
          description: Whether the image supports SSH key or not
          examples:
          - allow
        status:
          description: Image status, i.e. active
          example: active
          examples:
          - active
          title: Status
          type: string
        tags_v2:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id154
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id154
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags V2
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the image was updated
          example: '2024-05-05T14:51:26.570866'
          examples:
          - '2024-05-05T14:51:26.570866'
          format: date-time
          title: Updated At
          type: string
        visibility:
          description: Image visibility. Globally visible images are public
          example: public
          examples:
          - public
          title: Visibility
          type: string
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      - project_id
      - region_id
      - region
      - id
      - name
      - description
      - status
      - visibility
      - min_disk
      - min_ram
      - os_distro
      - os_version
      - ssh_key
      - display_order
      - created_at
      - updated_at
      - size
      - creator_task_id
      - task_id
      - disk_format
      - is_baremetal
      - os_type
      - hw_firmware_type
      - hw_machine_type
      - architecture
      - tags_v2
      - gpu_driver
      - gpu_driver_version
      - gpu_driver_type
      title: Image schema
      type: object
    ImageVolumeInputSerializer:
      properties:
        boot_index:
          description: Boot index of the volume
          example: 1
          examples:
          - 1
          minimum: 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Flag indicating whether the volume is deleted on instance termination
          example: true
          examples:
          - true
          title: Delete On Termination
          type: boolean
        image_id:
          description: Image ID for the volume
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          format: uuid4
          title: Image Id
          type: string
        name:
          description: Volume name
          example: my-data-disk
          examples:
          - my-data-disk
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: image
          title: Source
          type: string
        tags:
          additionalProperties:
            type: string
          description: Tags associated with the volume. Tag keys and values cannot contain characters from U+0080 to U+00FF.
          example: &id155
            key1: value1
          examples:
          - *id155
          title: Tags
          type: object
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
          - ssd
      required:
      - size
      - type
      - name
      - boot_index
      - source
      - image_id
      title: ImageVolumeInputSerializer
      type: object
    IndexPatternSerializer:
      properties:
        id:
          description: Pattern ID
          example: exampletopicindexpatternid
          examples:
          - exampletopicindexpatternid
          title: Id
          type: string
      required:
      - id
      title: IndexPatternSerializer
      type: object
    InferenceApplicationPricingRequestSerializer:
      properties:
        components:
          additionalProperties:
            $ref: '#/components/schemas/ApplicationComponentPricingSerializer'
          description: Dictionary of components configuration for pricing calculation.
          minProperties: 1
          title: Components
          type: object
        regions:
          description: List of region IDs where the application will be deployed
          example: &id156
          - 1
          - 2
          - 7
          examples:
          - *id156
          items:
            type: integer
          minItems: 1
          title: Regions
          type: array
      required:
      - regions
      - components
      title: InferenceApplicationPricingRequestSerializer
      type: object
    InferenceBoxSecretsInSerializer:
      properties:
        data:
          $ref: '#/components/schemas/AwsIamData'
          description: Secret data.
          examples:
          - aws_access_key_id: fake-key-id
            aws_secret_access_key: fake-secret
        name:
          description: Secret name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
          title: Name
          type: string
        type:
          description: Secret type. Currently only `aws-iam` is supported.
          example: aws-iam
          examples:
          - aws-iam
          pattern: ^aws-iam$
          title: Type
          type: string
      required:
      - name
      - type
      - data
      title: InferenceBoxSecretsInSerializer
      type: object
    InferenceBoxSecretsSerializer:
      properties:
        data:
          $ref: '#/components/schemas/AwsIamData'
          description: Secret data.
          examples:
          - aws_access_key_id: fake-key-id
            aws_secret_access_key: fake-secret
        name:
          description: Secret name.
          example: aws-dev
          examples:
          - aws-dev
          minLength: 4
          title: Name
          type: string
        type:
          description: Secret type.
          example: aws-iam
          examples:
          - aws-iam
          title: Type
          type: string
      required:
      - name
      - type
      - data
      title: InferenceBoxSecretsSerializer
      type: object
    InferenceBoxSecretsSerializerList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InferenceBoxSecretsSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: InferenceBoxSecretsSerializerList
      type: object
    InferenceContainerPricingV2Serializer:
      properties:
        region_id:
          description: Region ID for the container
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        scale:
          $ref: '#/components/schemas/InferenceContainerScalePricingV2Serializer'
          description: Scale for the container
      required:
      - region_id
      - scale
      title: InferenceContainerPricingV2Serializer
      type: object
    InferenceContainerScalePricingV2Serializer:
      properties:
        max:
          description: Maximum number of containers
          example: 3
          examples:
          - 3
          maximum: 10000000000000000
          minimum: 1
          title: Max
          type: integer
      required:
      - max
      title: InferenceContainerScalePricingV2Serializer
      type: object
    InferenceDeploymentPriceRequestV2Serializer:
      properties:
        containers:
          description: List of containers for the inference instance.
          items:
            $ref: '#/components/schemas/InferenceContainerPricingV2Serializer'
          minItems: 1
          title: Containers
          type: array
        flavor_name:
          description: Flavor name for the inference instance.
          title: Flavor Name
          type: string
      required:
      - flavor_name
      - containers
      title: InferenceDeploymentPriceRequestV2Serializer
      type: object
    InferenceFlavorOutSerializerV3:
      properties:
        cpu:
          description: Inference flavor cpu count.
          example: 2
          examples:
          - 2
          title: Cpu
          type: number
        description:
          description: Inference flavor description.
          example: 1xL40S / 16 vCPU / 232GiB RAM
          examples:
          - 1xL40S / 16 vCPU / 232GiB RAM
          title: Description
          type: string
        gpu:
          description: Inference flavor gpu count.
          example: 1
          examples:
          - 1
          title: Gpu
          type: integer
        gpu_compute_capability:
          description: Inference flavor gpu compute capability.
          example: '8.6'
          examples:
          - '8.6'
          title: Gpu Compute Capability
          type: string
        gpu_memory:
          description: Inference flavor gpu memory in Gi.
          example: 80
          examples:
          - 80
          title: Gpu Memory
          type: number
        gpu_model:
          description: Inference flavor gpu model.
          example: H100
          examples:
          - H100
          title: Gpu Model
          type: string
        is_gpu_shared:
          deprecated: true
          description: Inference flavor is gpu shared (always false, deprecated).
          example: false
          examples:
          - false
          title: Is Gpu Shared
          type: boolean
        memory:
          description: Inference flavor memory in Gi.
          example: 4
          examples:
          - 4
          title: Memory
          type: number
        name:
          description: Inference flavor name.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Name
          type: string
      required:
      - name
      - cpu
      - memory
      - gpu
      - gpu_model
      - gpu_memory
      - is_gpu_shared
      - gpu_compute_capability
      - description
      title: InferenceFlavorOutSerializerV3
      type: object
    InferenceFlavorOutSerializerV3List:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InferenceFlavorOutSerializerV3'
          title: Results
          type: array
      required:
      - count
      - results
      title: InferenceFlavorOutSerializerV3List
      type: object
    InferenceInstanceContainerProbeConfigurationOutSerializerV2:
      properties:
        enabled:
          description: Whether the probe is enabled or not.
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        probe:
          anyOf:
          - $ref: '#/components/schemas/ContainerProbeOutSerializerV2'
          - type: 'null'
          description: Probe configuration (exec, `http_get` or `tcp_socket`)
      required:
      - enabled
      - probe
      title: InferenceInstanceContainerProbeConfigurationOutSerializerV2
      type: object
    InferenceInstanceContainerProbeConfigurationSerializerV2:
      properties:
        enabled:
          description: Whether the probe is enabled or not.
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        probe:
          $ref: '#/components/schemas/ContainerProbeSerializerV2'
          description: Probe configuration (exec, `http_get` or `tcp_socket`)
      required:
      - enabled
      title: InferenceInstanceContainerProbeConfigurationSerializerV2
      type: object
    InferenceInstanceInSerializerV3:
      properties:
        api_keys:
          description: List of API keys for the inference instance. Multiple keys can be attached to one deployment.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised.
          example: &id157
          - key1
          - key2
          examples:
          - *id157
          items:
            type: string
          title: Api Keys
          type: array
        auth_enabled:
          default: false
          deprecated: true
          description: 'Set to `true` to enable API key authentication for the inference instance. `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised.'
          example: false
          examples:
          - false
          title: Auth Enabled
          type: boolean
        command:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Command to be executed when running a container from an image.
          examples:
          - - nginx
            - -g
            - daemon off;
          title: Command
        containers:
          description: List of containers for the inference instance.
          example: &id158
          - region_id: 1
            scale:
              cooldown_period: 60
              max: 3
              min: 1
              triggers:
                cpu:
                  threshold: 80
                memory:
                  threshold: 70
          examples:
          - *id158
          items:
            $ref: '#/components/schemas/ContainerInSerializerV3'
          minItems: 1
          title: Containers
          type: array
        credentials_name:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: Registry credentials name
          examples:
          - dockerhub
          title: Credentials Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: Inference instance description.
          examples:
          - My first instance
          title: Description
        envs:
          additionalProperties:
            type: string
          default: {}
          description: Environment variables for the inference instance.
          example: &id159
            DEBUG_MODE: 'False'
            KEY: '12345'
          examples:
          - *id159
          title: Envs
          type: object
        flavor_name:
          description: Flavor name for the inference instance.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          minLength: 1
          title: Flavor Name
          type: string
        image:
          description: Docker image for the inference instance. This field should contain the image name and tag in the format 'name:tag', e.g., 'nginx:latest'. It defaults to Docker Hub as the image registry, but any accessible Docker image URL can be specified.
          example: nginx:latest
          examples:
          - nginx:latest
          pattern: ^(?:(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$
          title: Image
          type: string
        ingress_opts:
          anyOf:
          - $ref: '#/components/schemas/IngressOptsSerializer'
          - type: 'null'
          default: null
          description: Ingress options for the inference instance
          examples:
          - disable_response_buffering: true
        listening_port:
          description: Listening port for the inference instance.
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Listening Port
          type: integer
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingInSerializer'
          - type: 'null'
          default: null
          description: Logging configuration for the inference instance
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 42
            topic_name: my-log-name
          - enabled: false
        name:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          maxLength: 30
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Name
          type: string
        probes:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceProbesSerializerV2'
          - type: 'null'
          default: null
          description: Probes configured for all containers of the inference instance. If probes are not provided, and the `image_name` is from a the Model Catalog registry, the default probes will be used.
        timeout:
          anyOf:
          - minimum: 0
            type: integer
          - type: 'null'
          default: 120
          description: Specifies the duration in seconds without any requests after which the containers will be downscaled to their minimum scale value as defined by `scale.min`. If set, this helps in optimizing resource usage by reducing the number of container instances during periods of inactivity. The default value when the parameter is not set is 120.
          examples:
          - 120
          title: Timeout
      required:
      - name
      - image
      - listening_port
      - containers
      - flavor_name
      title: InferenceInstanceInSerializerV3
      type: object
    InferenceInstanceInUpdateSerializerV3:
      properties:
        api_keys:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: List of API keys for the inference instance. Multiple keys can be attached to one deployment.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised.If `[]` is provided, the API keys will be removed and auth will be disabled on the deployment.
          examples:
          - - key1
            - key2
          title: Api Keys
        auth_enabled:
          deprecated: true
          description: 'Set to `true` to enable API key authentication for the inference instance. `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised.'
          example: false
          examples:
          - false
          title: Auth Enabled
          type: boolean
        command:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Command to be executed when running a container from an image.
          examples:
          - - nginx
            - -g
            - daemon off;
          title: Command
        containers:
          anyOf:
          - items:
              $ref: '#/components/schemas/ContainerInUpdateSerializerV3'
            minItems: 1
            type: array
          - type: 'null'
          default: null
          description: List of containers for the inference instance.
          examples:
          - - region_1: 1
              scale:
                cooldown_period: 60
                max: 3
                min: 1
                triggers:
                  cpu:
                    threshold: 80
                  memory:
                    threshold: 70
          title: Containers
        credentials_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Registry credentials name
          examples:
          - dockerhub
          title: Credentials Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Inference instance description.
          examples:
          - My first instance
          title: Description
        envs:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Environment variables for the inference instance.
          examples:
          - DEBUG_MODE: 'False'
            KEY: '12345'
          title: Envs
        flavor_name:
          description: Flavor name for the inference instance.
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Flavor Name
          type: string
        image:
          anyOf:
          - pattern: ^(?:(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$
            type: string
          - type: 'null'
          default: null
          description: Docker image for the inference instance. This field should contain the image name and tag in the format 'name:tag', e.g., 'nginx:latest'. It defaults to Docker Hub as the image registry, but any accessible Docker image URL can be specified.
          examples:
          - nginx:latest
          title: Image
        ingress_opts:
          anyOf:
          - $ref: '#/components/schemas/IngressOptsSerializer'
          - type: 'null'
          default: null
          description: Ingress options for the inference instance
          examples:
          - disable_response_buffering: true
        listening_port:
          anyOf:
          - maximum: 65535
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Listening port for the inference instance.
          examples:
          - 80
          title: Listening Port
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingInSerializer'
          - type: 'null'
          default: null
          description: Logging configuration for the inference instance
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 42
            topic_name: my-log-name
          - enabled: false
        probes:
          anyOf:
          - $ref: '#/components/schemas/PatchInferenceInstanceProbesSerializerV2'
          - type: 'null'
          description: Probes configured for all containers of the inference instance.
        timeout:
          anyOf:
          - minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Specifies the duration in seconds without any requests after which the containers will be downscaled to their minimum scale value as defined by `scale.min`. If set, this helps in optimizing resource usage by reducing the number of container instances during periods of inactivity. The default value when the parameter is not set is 120.
          examples:
          - 120
          title: Timeout
      title: InferenceInstanceInUpdateSerializerV3
      type: object
    InferenceInstanceLogSerializerV3:
      properties:
        message:
          description: Log message.
          example: GET /v1/predictions
          examples:
          - GET /v1/predictions
          title: Message
          type: string
        pod:
          description: Pod name.
          example: iate-container-8568ff8fc7-z7vx9
          examples:
          - iate-container-8568ff8fc7-z7vx9
          title: Pod
          type: string
        region_id:
          description: Region ID where the container is deployed.
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        time:
          description: Log message timestamp in ISO 8601 format.
          example: '2024-10-14T14:54:04.82851142Z'
          examples:
          - '2024-10-14T14:54:04.82851142Z'
          format: date-time
          title: Time
          type: string
      required:
      - time
      - region_id
      - pod
      - message
      title: InferenceInstanceLogSerializerV3
      type: object
    InferenceInstanceLogSerializerV3List:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InferenceInstanceLogSerializerV3'
          title: Results
          type: array
      required:
      - count
      - results
      title: InferenceInstanceLogSerializerV3List
      type: object
    InferenceInstanceOutSerializerV3:
      properties:
        address:
          anyOf:
          - format: uri
            minLength: 1
            type: string
          - type: 'null'
          description: Address of the inference instance
          examples:
          - https://example.com
          title: Address
        api_keys:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: List of API keys for the inference instance
          examples:
          - - key1
            - key2
          title: Api Keys
        auth_enabled:
          deprecated: true
          description: '`true` if instance uses API key authentication. `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled.'
          example: false
          examples:
          - false
          title: Auth Enabled
          type: boolean
        command:
          anyOf:
          - type: string
          - type: 'null'
          description: Command to be executed when running a container from an image.
          examples:
          - - nginx
            - -g
            - daemon off;
          title: Command
        containers:
          description: List of containers for the inference instance
          example: &id160
          - deploy_status:
              ready: 1
              total: 3
            region_id: 1
            scale:
              cooldown_period: 60
              max: 3
              min: 1
              triggers:
                cpu:
                  threshold: 80
                memory:
                  threshold: 70
          examples:
          - *id160
          items:
            $ref: '#/components/schemas/ContainerOutSerializerV3'
          title: Containers
          type: array
        created_at:
          anyOf:
          - type: string
          - type: 'null'
          description: Inference instance creation date in ISO 8601 format.
          examples:
          - '2023-08-22T11:21:00Z'
          title: Created At
        credentials_name:
          description: Registry credentials name
          example: dockerhub
          examples:
          - dockerhub
          title: Credentials Name
          type: string
        description:
          description: Inference instance description.
          example: My first instance
          examples:
          - My first instance
          title: Description
          type: string
        envs:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          description: Environment variables for the inference instance
          examples:
          - DEBUG_MODE: 'False'
            KEY: '12345'
          title: Envs
        flavor_name:
          description: Flavor name for the inference instance
          example: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - inference-16vcpu-232gib-1xh100-80gb
          title: Flavor Name
          type: string
        image:
          description: Docker image for the inference instance. This field should contain the image name and tag in the format 'name:tag', e.g., 'nginx:latest'. It defaults to Docker Hub as the image registry, but any accessible Docker image URL can be specified.
          example: nginx:latest
          examples:
          - nginx:latest
          title: Image
          type: string
        ingress_opts:
          anyOf:
          - $ref: '#/components/schemas/IngressOptsOutSerializer'
          - type: 'null'
          description: Ingress options for the inference instance
          examples:
          - disable_response_buffering: true
        listening_port:
          description: Listening port for the inference instance.
          example: 8080
          examples:
          - 8080
          title: Listening Port
          type: integer
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingOutSerializer'
          - type: 'null'
          description: Logging configuration for the inference instance
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
        name:
          description: Inference instance name.
          example: my-instance
          examples:
          - my-instance
          title: Name
          type: string
        object_references:
          description: Indicates to which parent object this inference belongs to.
          items:
            $ref: '#/components/schemas/InferenceObjectReferenceSerializer'
          title: Object References
          type: array
        probes:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceProbesOutSerializerV2'
          - type: 'null'
          description: Probes configured for all containers of the inference instance.
        project_id:
          description: Project ID. If not provided, your default project ID will be used.
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        status:
          $ref: '#/components/schemas/InferenceInstanceStatusV3'
          description: |-
            Inference instance status.

              Value can be one of the following:
              - `DEPLOYING` - The instance is being deployed. Containers are not yet created.
              - `PARTIALLYDEPLOYED` - All containers have been created, but some may not be ready yet. Instances stuck in this state typically indicate either image being pulled, or a failure of some kind. In the latter case, the `error_message` field of the respective container object in the `containers` collection explains the failure reason.
              - `ACTIVE` - The instance is running and ready to accept requests.
              - `DISABLED` - The instance is disabled and not accepting any requests.
              - `PENDING` - The instance is running but scaled to zero. It will be automatically scaled up when a request is made.
              - `FAILED` - The instance has a persistent failure. A short error does not cause this status. The `error_message` field of the respective container object in the `containers` collection explains the failure reason.
              - `DELETING` - The instance is being deleted.
          examples:
          - ACTIVE
        timeout:
          anyOf:
          - minimum: 0
            type: integer
          - type: 'null'
          description: Specifies the duration in seconds without any requests after which the containers will be downscaled to their minimum scale value as defined by `scale.min`. If set, this helps in optimizing resource usage by reducing the number of container instances during periods of inactivity.
          examples:
          - 120
          title: Timeout
      required:
      - project_id
      - name
      - description
      - image
      - listening_port
      - created_at
      - status
      - auth_enabled
      - address
      - containers
      - timeout
      - envs
      - flavor_name
      - command
      - credentials_name
      - logging
      - probes
      - ingress_opts
      - object_references
      title: InferenceInstanceOutSerializerV3
      type: object
    InferenceInstanceOutSerializerV3List:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InferenceInstanceOutSerializerV3'
          title: Results
          type: array
      required:
      - count
      - results
      title: InferenceInstanceOutSerializerV3List
      type: object
    InferenceInstanceProbesOutSerializerV2:
      additionalProperties: false
      properties:
        liveness_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationOutSerializerV2'
          - type: 'null'
          description: Liveness probe configuration
        readiness_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationOutSerializerV2'
          - type: 'null'
          description: Readiness probe configuration
        startup_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationOutSerializerV2'
          - type: 'null'
          description: Startup probe configuration
      required:
      - liveness_probe
      - readiness_probe
      - startup_probe
      title: InferenceInstanceProbesOutSerializerV2
      type: object
    InferenceInstanceProbesSerializerV2:
      additionalProperties: false
      properties:
        liveness_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationSerializerV2'
          - type: 'null'
          description: Liveness probe configuration
        readiness_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationSerializerV2'
          - type: 'null'
          description: Readiness probe configuration
        startup_probe:
          anyOf:
          - $ref: '#/components/schemas/InferenceInstanceContainerProbeConfigurationSerializerV2'
          - type: 'null'
          description: Startup probe configuration
      title: InferenceInstanceProbesSerializerV2
      type: object
    InferenceInstanceStatusV3:
      enum:
      - ACTIVE
      - DELETING
      - DEPLOYING
      - DISABLED
      - FAILED
      - PARTIALLYDEPLOYED
      - PENDING
      title: InferenceInstanceStatusV3
      type: string
    InferenceKind:
      enum:
      - AppDeployment
      title: InferenceKind
      type: string
    InferenceLogsOrderByChoices:
      enum:
      - time.asc
      - time.desc
      title: InferenceLogsOrderByChoices
      type: string
    InferenceObjectReferenceSerializer:
      properties:
        kind:
          $ref: '#/components/schemas/InferenceKind'
          description: Kind of the inference object to be referenced
          examples:
          - AppDeployment
        name:
          description: Name of the inference object to be referenced
          example: my-inference-app
          examples:
          - my-inference-app
          title: Name
          type: string
      required:
      - name
      - kind
      title: InferenceObjectReferenceSerializer
      type: object
    InferenceRegistryCredentialInSerializer:
      properties:
        name:
          description: Registry credential name.
          example: docker-io
          examples:
          - docker-io
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Name
          type: string
        password:
          description: Registry password.
          example: password
          examples:
          - password
          minLength: 1
          title: Password
          type: string
        registry_url:
          description: Registry URL.
          example: registry.example.com
          examples:
          - registry.example.com
          minLength: 1
          title: Registry Url
          type: string
        username:
          description: Registry username.
          example: username
          examples:
          - username
          minLength: 1
          title: Username
          type: string
      required:
      - name
      - username
      - password
      - registry_url
      title: InferenceRegistryCredentialInSerializer
      type: object
    InferenceRegistryCredentialInUpdateSerializer:
      properties:
        password:
          description: Registry password.
          example: password
          examples:
          - password
          title: Password
          type: string
        registry_url:
          description: Registry URL.
          example: registry.example.com
          examples:
          - registry.example.com
          title: Registry Url
          type: string
        username:
          description: Registry username.
          example: username
          examples:
          - username
          title: Username
          type: string
      required:
      - username
      - password
      - registry_url
      title: InferenceRegistryCredentialInUpdateSerializer
      type: object
    InferenceRegistryCredentialOutSerializer:
      properties:
        name:
          description: Registry credential name.
          example: docker-io
          examples:
          - docker-io
          minLength: 4
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Name
          type: string
        project_id:
          description: Project ID to which the inference registry credentials belongs.
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        registry_url:
          description: Registry URL.
          example: registry.example.com
          examples:
          - registry.example.com
          title: Registry Url
          type: string
        username:
          description: Registry username.
          example: username
          examples:
          - username
          title: Username
          type: string
      required:
      - project_id
      - name
      - username
      - registry_url
      title: InferenceRegistryCredentialOutSerializer
      type: object
    InferenceRegistryCredentialOutSerializerList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InferenceRegistryCredentialOutSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: InferenceRegistryCredentialOutSerializerList
      type: object
    InferenceRequiredQuotaSerializer:
      properties:
        inference_cpu_millicore_count_limit:
          description: Inference CPU millicore count limit
          example: 8000
          examples:
          - 8000
          title: Inference Cpu Millicore Count Limit
          type: integer
        inference_cpu_millicore_count_requested:
          description: Inference CPU millicore count requested
          example: 3000
          examples:
          - 3000
          title: Inference Cpu Millicore Count Requested
          type: integer
        inference_cpu_millicore_count_usage:
          description: Inference CPU millicore count usage
          example: 2000
          examples:
          - 2000
          title: Inference Cpu Millicore Count Usage
          type: integer
        inference_gpu_a100_count_limit:
          description: Inference GPU A100 Count limit
          example: 4
          examples:
          - 4
          title: Inference Gpu A100 Count Limit
          type: integer
        inference_gpu_a100_count_requested:
          description: Inference GPU A100 Count requested
          example: 2
          examples:
          - 2
          title: Inference Gpu A100 Count Requested
          type: integer
        inference_gpu_a100_count_usage:
          description: Inference GPU A100 Count usage
          example: 1
          examples:
          - 1
          title: Inference Gpu A100 Count Usage
          type: integer
        inference_gpu_h100_count_limit:
          description: Inference GPU H100 Count limit
          example: 4
          examples:
          - 4
          title: Inference Gpu H100 Count Limit
          type: integer
        inference_gpu_h100_count_requested:
          description: Inference GPU H100 Count requested
          example: 2
          examples:
          - 2
          title: Inference Gpu H100 Count Requested
          type: integer
        inference_gpu_h100_count_usage:
          description: Inference GPU H100 Count usage
          example: 1
          examples:
          - 1
          title: Inference Gpu H100 Count Usage
          type: integer
        inference_gpu_l40s_count_limit:
          description: Inference GPU L40s Count limit
          example: 4
          examples:
          - 4
          title: Inference Gpu L40S Count Limit
          type: integer
        inference_gpu_l40s_count_requested:
          description: Inference GPU L40s Count requested
          example: 2
          examples:
          - 2
          title: Inference Gpu L40S Count Requested
          type: integer
        inference_gpu_l40s_count_usage:
          description: Inference GPU L40s Count usage
          example: 1
          examples:
          - 1
          title: Inference Gpu L40S Count Usage
          type: integer
        inference_instance_count_limit:
          description: Inference instance count limit
          example: 10
          examples:
          - 10
          title: Inference Instance Count Limit
          type: integer
        inference_instance_count_requested:
          description: Inference instance count requested
          example: 1
          examples:
          - 1
          title: Inference Instance Count Requested
          type: integer
        inference_instance_count_usage:
          description: Inference instance count usage
          example: 1
          examples:
          - 1
          title: Inference Instance Count Usage
          type: integer
      title: InferenceRequiredQuotaSerializer
      type: object
    InferenceSecretInUpdateSerializer:
      properties:
        data:
          $ref: '#/components/schemas/AwsIamData'
          description: Secret data.
          examples:
          - aws_access_key_id: fake-key-id
            aws_secret_access_key: fake-secret
        type:
          description: Secret type.
          example: aws-iam
          examples:
          - aws-iam
          pattern: ^aws-iam$
          title: Type
          type: string
      required:
      - type
      - data
      title: InferenceSecretInUpdateSerializer
      type: object
    IngressOptsOutSerializer:
      properties:
        disable_response_buffering:
          description: Disable response buffering if true. A client usually has a much slower connection and can not consume the response data as fast as it is produced by an upstream application. Ingress tries to buffer the whole response in order to release the upstream application as soon as possible.By default, the response buffering is enabled.
          example: true
          examples:
          - true
          - false
          title: Disable Response Buffering
          type: boolean
      required:
      - disable_response_buffering
      title: IngressOptsOutSerializer
      type: object
    IngressOptsSerializer:
      properties:
        disable_response_buffering:
          default: false
          description: Disable response buffering if true. A client usually has a much slower connection and can not consume the response data as fast as it is produced by an upstream application. Ingress tries to buffer the whole response in order to release the upstream application as soon as possible.By default, the response buffering is enabled.
          example: true
          examples:
          - true
          - false
          title: Disable Response Buffering
          type: boolean
      title: IngressOptsSerializer
      type: object
    InstanceActionSerializerPydantic:
      anyOf:
      - $ref: '#/components/schemas/StartActionInstanceSerializer'
      - $ref: '#/components/schemas/BasicActionInstanceSerializer'
      title: InstanceActionSerializerPydantic
    InstanceBriefSerializer:
      properties:
        instance_id:
          description: The ID of the instance, corresponding to the attribute 'id'.
          example: 142988bb-aa1e-4862-bffb-1bc2f0036c77
          examples:
          - 142988bb-aa1e-4862-bffb-1bc2f0036c77
          title: Instance Id
          type: string
        instance_name:
          description: The name of the instance, corresponding to the attribute 'name'.
          example: test_instance
          examples:
          - test_instance
          title: Instance Name
          type: string
      required:
      - instance_id
      - instance_name
      title: Instance brief details schema
      type: object
    InstanceCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InstanceSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: InstanceCollectionSerializer
      type: object
    InstanceFixedAddressSerializer:
      description: Schema for `fixed` addresses. This schema is used when fetching a single instance.
      properties:
        addr:
          description: IP address
          example: 10.0.0.17
          examples:
          - 10.0.0.17
          title: Addr
          type: string
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. This field will be `null` if `with_interfaces_name=true` is not set in the request when listing instances. It will also be `null` if the `interface_name` was not specified during instance creation or when attaching the interface.
          examples:
          - my-interface
          title: Interface Name
        subnet_id:
          description: The unique identifier of the subnet associated with this address. Included only in the response for a single-resource lookup (GET by ID). For the trunk subports, this field is always set.
          example: ba83aec4-7bc1-4979-b934-a11fc1d36cf3
          examples:
          - ba83aec4-7bc1-4979-b934-a11fc1d36cf3
          title: Subnet Id
          type: string
        subnet_name:
          description: The name of the subnet associated with this address. Included only in the response for a single-resource lookup (GET by ID). For the trunk subports, this field is always set.
          example: my-subnet
          examples:
          - my-subnet
          title: Subnet Name
          type: string
        type:
          const: fixed
          description: Type of the address
          example: fixed
          examples:
          - fixed
          title: Type
          type: string
      required:
      - addr
      - type
      - interface_name
      - subnet_name
      - subnet_id
      title: Fixed IP Address
      type: object
    InstanceFixedAddressShortSerializer:
      description: |-
        Schema for `fixed` addresses. This schema is used when listing instances.
        It omits the `subnet_name` and `subnet_id` fields.
      properties:
        addr:
          description: IP address
          example: 10.0.0.17
          examples:
          - 10.0.0.17
          title: Addr
          type: string
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. This field will be `null` if `with_interfaces_name=true` is not set in the request when listing instances. It will also be `null` if the `interface_name` was not specified during instance creation or when attaching the interface.
          examples:
          - my-interface
          title: Interface Name
        type:
          const: fixed
          description: Type of the address
          example: fixed
          examples:
          - fixed
          title: Type
          type: string
      required:
      - addr
      - type
      - interface_name
      title: Fixed IP Address (short)
      type: object
    InstanceFlavorExtendedSerializerWithPrice:
      description: Instances flavor schema with price information
      properties:
        architecture:
          description: Flavor architecture type
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code
          examples:
          - USD
          title: Currency Code
        disabled:
          description: Disabled flavor flag
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          additionalProperties:
            type: string
          description: Additional hardware description
          title: Hardware Description
          type: object
        os_type:
          description: Flavor operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per hour
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          description: Price per month
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          description: Price status for the UI
          examples:
          - show
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - disabled
      - hardware_description
      - os_type
      - architecture
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      title: Instances flavor schema with price
      type: object
    InstanceFlavorExtendedSerializerWithoutPrice:
      description: Instances flavor schema without price information
      properties:
        architecture:
          description: Flavor architecture type
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        disabled:
          description: Disabled flavor flag
          example: false
          examples:
          - false
          title: Disabled
          type: boolean
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          additionalProperties:
            type: string
          description: Additional hardware description
          title: Hardware Description
          type: object
        os_type:
          description: Flavor operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - disabled
      - hardware_description
      - os_type
      - architecture
      title: Instances flavor schema without price
      type: object
    InstanceFlavorExtendedUnion:
      anyOf:
      - $ref: '#/components/schemas/InstanceFlavorExtendedSerializerWithoutPrice'
      - $ref: '#/components/schemas/InstanceFlavorExtendedSerializerWithPrice'
      title: InstanceFlavorExtendedUnion
    InstanceFlavorExtendedV1CollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InstanceFlavorExtendedUnion'
          title: Results
          type: array
      required:
      - count
      - results
      title: InstanceFlavorExtendedV1CollectionSerializer
      type: object
    InstanceFlavorHardwareDescriptionSerializer:
      properties:
        ram:
          description: RAM description
          example: '16384'
          examples:
          - '16384'
          title: Ram
          type: string
        vcpus:
          description: CPU description
          example: '16'
          examples:
          - '16'
          title: Vcpus
          type: string
      required:
      - vcpus
      - ram
      title: InstanceFlavorHardwareDescriptionSchema hardware hints for a flavor
      type: object
    InstanceFlavorSerializer:
      description: Instances flavor schema embedded into instance schema
      properties:
        architecture:
          description: CPU architecture
          example: x86_64
          examples:
          - x86_64
          title: Architecture
          type: string
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        hardware_description:
          $ref: '#/components/schemas/InstanceFlavorHardwareDescriptionSerializer'
          description: Additional hardware description
        os_type:
          description: Flavor operating system
          example: linux
          examples:
          - linux
          title: Os Type
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      - hardware_description
      - os_type
      - architecture
      title: Instance flavor
      type: object
    InstanceFloatingAddressSerializer:
      description: Schema for `floating` addresses.
      properties:
        addr:
          description: Address
          example: 10.0.0.17
          examples:
          - 10.0.0.17
          title: Addr
          type: string
        type:
          const: floating
          description: Type of the address
          example: fixed
          examples:
          - fixed
          title: Type
          type: string
      required:
      - addr
      - type
      title: Floating IP Address
      type: object
    InstanceIdSerializer:
      properties:
        instance_id:
          description: Instance ID
          example: 169942e0-9b53-42df-95ef-1a8b6525c2bd
          examples:
          - 169942e0-9b53-42df-95ef-1a8b6525c2bd
          format: uuid4
          title: Instance Id
          type: string
      required:
      - instance_id
      title: InstanceIdSerializer
      type: object
    InstanceInFloatingSerializer:
      properties:
        addresses:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/InstanceFloatingAddressSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressShortSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressSerializer'
            type: array
          description: Map of `network_name` to list of addresses in that network
          title: Addresses
          type: object
        created_at:
          description: Datetime when instance was created
          example: '2023-11-29T10:56:49Z'
          examples:
          - '2023-11-29T10:56:49Z'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          description: Task that created this entity
          example: d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          examples:
          - d1e1500b-e2be-40aa-9a4b-cc493fa1af30
          title: Creator Task Id
          type: string
        flavor:
          $ref: '#/components/schemas/BaseFlavorSerializer'
          description: Flavor
        id:
          description: Instance ID
          example: 6c6aa80f-7836-4dc2-a2ae-125e248be476
          examples:
          - 6c6aa80f-7836-4dc2-a2ae-125e248be476
          format: uuid4
          title: Id
          type: string
        instance_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Instance description
          examples:
          - Instance description
          title: Instance Description
        name:
          description: Instance name
          example: my-instance-1
          examples:
          - my-instance-1
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 111
          examples:
          - 111
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
        security_groups:
          description: Security groups
          items:
            $ref: '#/components/schemas/NameSerializerPydantic'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key name assigned to instance
          examples:
          - my-ssh-key
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Instance status
          examples:
          - ACTIVE
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id161
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id161
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        task_state:
          anyOf:
          - type: string
          - type: 'null'
          description: Task state
          examples:
          - null
          title: Task State
        vm_state:
          $ref: '#/components/schemas/InstanceVMState'
          description: Virtual machine state (active)
          examples:
          - active
        volumes:
          description: List of volumes
          items:
            $ref: '#/components/schemas/InstanceVolumeSerializer'
          title: Volumes
          type: array
      required:
      - id
      - name
      - created_at
      - status
      - vm_state
      - volumes
      - flavor
      - tags
      - instance_description
      - addresses
      - security_groups
      - ssh_key_name
      - creator_task_id
      - task_state
      - task_id
      - region
      - region_id
      - project_id
      title: InstanceInFloatingSerializer
      type: object
    InstanceInterfaceMixedCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InstanceInterfaceVariant'
          title: Results
          type: array
      required:
      - count
      - results
      title: InstanceInterfaceMixedCollectionSerializer
      type: object
    InstanceInterfaceSerializer:
      properties:
        allowed_address_pairs:
          description: Group of subnet masks and/or IP addresses that share the current IP as VIP
          items:
            $ref: '#/components/schemas/AllowedAddressPairsSerializer'
          title: Allowed Address Pairs
          type: array
        floatingip_details:
          description: Bodies of floating IPs that are NAT-ing IPs of this port
          items:
            $ref: '#/components/schemas/FloatingIPSerializer'
          title: Floatingip Details
          type: array
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. Null when the interface has no name set.
          examples:
          - my-interface
          title: Interface Name
        ip_assignments:
          description: IP addresses assigned to this port
          example: &id162
          - ip_address: 192.168.123.20
            subnet_id: 351b0dd7-ca09-431c-be53-935db3785067
          - ip_address: 192.168.120.16
            subnet_id: 0a641ef8-62dc-4146-91e5-6ab4b464df6d
          examples:
          - *id162
          items:
            $ref: '#/components/schemas/PortIpSubnetIdSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          description: MAC address of the virtual port
          example: 00:16:3e:f2:87:16
          examples:
          - 00:16:3e:f2:87:16
          title: Mac Address
          type: string
        network_details:
          $ref: '#/components/schemas/NetworkSubnetworkSerializer'
          description: Body of the network this port is attached to
        network_id:
          description: ID of the network the port is attached to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of virtual ethernet port object
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
        port_security_enabled:
          description: Port security status
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
      required:
      - port_id
      - mac_address
      - ip_assignments
      - network_id
      - port_security_enabled
      - network_details
      - floatingip_details
      - interface_name
      - allowed_address_pairs
      title: InstanceInterfaceSerializer
      type: object
    InstanceInterfaceSubportSerializer:
      properties:
        allowed_address_pairs:
          description: Group of subnet masks and/or IP addresses that share the current IP as VIP
          items:
            $ref: '#/components/schemas/AllowedAddressPairsSerializer'
          title: Allowed Address Pairs
          type: array
        floatingip_details:
          description: Bodies of floating IPs that are NAT-ing IPs of this port
          items:
            $ref: '#/components/schemas/FloatingIPSerializer'
          title: Floatingip Details
          type: array
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. Null when the interface has no name set.
          examples:
          - my-interface
          title: Interface Name
        ip_assignments:
          description: IP addresses assigned to this port
          example: &id163
          - ip_address: 192.168.123.20
            subnet_id: 351b0dd7-ca09-431c-be53-935db3785067
          - ip_address: 192.168.120.16
            subnet_id: 0a641ef8-62dc-4146-91e5-6ab4b464df6d
          examples:
          - *id163
          items:
            $ref: '#/components/schemas/PortIpSubnetIdSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          description: MAC address of the virtual port
          example: 00:16:3e:f2:87:16
          examples:
          - 00:16:3e:f2:87:16
          title: Mac Address
          type: string
        network_details:
          $ref: '#/components/schemas/NetworkSubnetworkSerializer'
          description: Body of the network this port is attached to
        network_id:
          description: ID of the network the port is attached to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of virtual ethernet port object
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
        port_security_enabled:
          description: Port security status
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        segmentation_id:
          description: id of network segment
          example: 3990
          examples:
          - 3990
          title: Segmentation Id
          type: integer
        segmentation_type:
          description: type of network segment
          example: vlan
          examples:
          - vlan
          title: Segmentation Type
          type: string
      required:
      - port_id
      - mac_address
      - ip_assignments
      - network_id
      - port_security_enabled
      - network_details
      - floatingip_details
      - interface_name
      - allowed_address_pairs
      - segmentation_type
      - segmentation_id
      title: InstanceInterfaceSubportSerializer
      type: object
    InstanceInterfaceTrunkSerializer:
      properties:
        allowed_address_pairs:
          description: Group of subnet masks and/or IP addresses that share the current IP as VIP
          items:
            $ref: '#/components/schemas/AllowedAddressPairsSerializer'
          title: Allowed Address Pairs
          type: array
        floatingip_details:
          description: Bodies of floating IPs that are NAT-ing IPs of this port
          items:
            $ref: '#/components/schemas/FloatingIPSerializer'
          title: Floatingip Details
          type: array
        interface_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Interface name. Null when the interface has no name set.
          examples:
          - my-interface
          title: Interface Name
        ip_assignments:
          description: IP addresses assigned to this port
          example: &id164
          - ip_address: 192.168.123.20
            subnet_id: 351b0dd7-ca09-431c-be53-935db3785067
          - ip_address: 192.168.120.16
            subnet_id: 0a641ef8-62dc-4146-91e5-6ab4b464df6d
          examples:
          - *id164
          items:
            $ref: '#/components/schemas/PortIpSubnetIdSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          description: MAC address of the virtual port
          example: 00:16:3e:f2:87:16
          examples:
          - 00:16:3e:f2:87:16
          title: Mac Address
          type: string
        network_details:
          $ref: '#/components/schemas/NetworkSubnetworkSerializer'
          description: Body of the network this port is attached to
        network_id:
          description: ID of the network the port is attached to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of virtual ethernet port object
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
        port_security_enabled:
          description: Port security status
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        sub_ports:
          description: body of ports that are included into trunk port
          items:
            $ref: '#/components/schemas/InstanceInterfaceSubportSerializer'
          title: Sub Ports
          type: array
      required:
      - port_id
      - mac_address
      - ip_assignments
      - network_id
      - port_security_enabled
      - network_details
      - floatingip_details
      - interface_name
      - allowed_address_pairs
      - sub_ports
      title: InstanceInterfaceTrunkSerializer
      type: object
    InstanceInterfaceVariant:
      anyOf:
      - $ref: '#/components/schemas/InstanceInterfaceTrunkSerializer'
      - $ref: '#/components/schemas/InstanceInterfaceSerializer'
      title: InstanceInterfaceVariant
    InstanceMetricsListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InstanceMetricsSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: InstanceMetricsListSerializer
      type: object
    InstanceMetricsRequestSerializer:
      description: |-
        Time range and time unit, required to obtain instance metrics.
        Available intervals are 1h, 6h, 24h, 7 days, 14 days.
        Time delta in the results is fixed and depends on the time range:
        1h - 15 seconds,
        6h - 20 seconds,
        24h - 2 minutes,
        7 days - 10 minutes,
        14 days - 20 minutes.
      properties:
        time_interval:
          description: Time interval.
          example: 6
          examples:
          - 6
          title: Time Interval
          type: integer
        time_unit:
          $ref: '#/components/schemas/InstanceMetricsTimeUnitEnum'
          description: Time interval unit.
          examples:
          - hour
      required:
      - time_interval
      - time_unit
      title: Instance metrics request schema
      type: object
    InstanceMetricsSerializer:
      description: Instance metrics item
      properties:
        cpu_util:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: CPU utilization, % (max 100% for multi-core)
          examples:
          - 8
          title: Cpu Util
        disks:
          anyOf:
          - items:
              $ref: '#/components/schemas/DisksMetrics'
            type: array
          - type: 'null'
          default: null
          description: Disks metrics for each of the disks attached
          examples:
          - - disk_Bps_read: 16384
              disk_Bps_write: 86016
              disk_iops_read: 3
              disk_iops_write: 12
              disk_name: sda
            - disk_Bps_read: 163840
              disk_Bps_write: 860160
              disk_iops_read: 30
              disk_iops_write: 120
              disk_name: sdb
          title: Disks
        memory_util:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: RAM utilization, %
          examples:
          - 33.28411162695459
          title: Memory Util
        network_Bps_egress:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Network out, bits per second (the 'Bps' in the field name is historical; the value is bits, not bytes)
          examples:
          - 816
          title: Network Bps Egress
        network_Bps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Network in, bits per second (the 'Bps' in the field name is historical; the value is bits, not bytes)
          examples:
          - 816
          title: Network Bps Ingress
        network_pps_egress:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Network out, packets per second
          examples:
          - 0.7
          title: Network Pps Egress
        network_pps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Network in, packets per second
          examples:
          - 0.7
          title: Network Pps Ingress
        time:
          description: Timestamp
          example: '2020-07-07T12:57:00Z'
          examples:
          - '2020-07-07T12:57:00Z'
          title: Time
          type: string
      required:
      - time
      title: InstanceMetricsSerializer
      type: object
    InstanceMetricsTimeUnitEnum:
      enum:
      - day
      - hour
      title: InstanceMetricsTimeUnitEnum
      type: string
    InstancePortsSecurityGroupsSerializer:
      properties:
        name:
          description: Security group name, applies to all ports
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        ports_security_group_names:
          description: Port security groups mapping
          example: &id165
          - port_id: null
            security_group_names:
            - some_name
          - port_id: ee2402d0-f0cd-4503-9b75-69be1d11c5f1
            security_group_names:
            - name1
            - name2
          examples:
          - *id165
          items:
            $ref: '#/components/schemas/PortSecurityGroupNamesSerializer'
          title: Ports Security Group Names
          type: array
      title: InstancePortsSecurityGroupsSerializer
      type: object
    InstancePricingPreviewV2RequestSerializer:
      description: Pricing details for creating instances with version 2 interfaces.
      example: &id166
        flavor: g1-standard-1-2
        interfaces:
        - floating_ip:
            source: new
          network_id: ddc28e44-2acb-499b-985b-831f29432e1c
          subnet_id: 2731a56e-a5c9-44be-80c2-02c57c594573
          type: subnet
        - floating_ip:
            existing_floating_id: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
            source: existing
          network_id: 53609647-2619-420a-b046-59905c8e3370
          subnet_id: e3c6ee77-48cb-416b-b204-11b492cc776e3
          type: subnet
        - network_id: 783b36b4-3ef4-48ac-879d-5b3ea53180d8
          subnet_id: 382a83e5-1b38-49f9-bd83-730353b29ed4
          type: subnet
        - network_id: 783b36b4-3ef4-48ac-879d-5b3ea53180d8
          type: any_subnet
        - type: external
        names:
        - my-instance-1
        volumes:
        - size: 10
          source: image
          type_name: ssd_hiiops
        - size: 5
          source: new-volume
          type_name: standard
        - snapshot_id: 7cca40d7-a843-4e9f-ae08-62b9a394b1ab
          source: snapshot
      examples:
      - *id166
      properties:
        flavor:
          description: The flavor of the instance.
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        interfaces:
          description: Subnet IPs and floating IPs
          items:
            $ref: '#/components/schemas/NewVmInterfaceSerializersPydantic'
          title: Interfaces
          type: array
        name_templates:
          description: A list of instance name templates. Either this or `names` must be specified.
          example: &id167
          - my-instance-{ip_octets}
          examples:
          - *id167
          items:
            anyOf:
            - type: string
            - type: 'null'
          title: Name Templates
          type: array
        names:
          description: A list of instance names. Either this or `name_templates` must be specified.
          example: &id168
          - my-instance-1
          examples:
          - *id168
          items:
            type: string
          title: Names
          type: array
        volumes:
          description: A list of volumes to be created or used.
          example: &id169
          - image_id: b5b4d65d-945f-4b98-ab6f-332319c724ef
            size: 10
            source: image
            type_name: ssd_hiiops
          - size: 5
            source: new-volume
            type_name: standard
          examples:
          - *id169
          items:
            $ref: '#/components/schemas/InstanceVolumePricingRequestSerializer'
          title: Volumes
          type: array
      required:
      - flavor
      - interfaces
      title: InstancePricingPreviewV2RequestSerializer
      type: object
    InstancePricingPreviewV2ResponseSerializer:
      description: Billing response v2 preview schema for server instance.
      properties:
        currency_code:
          anyOf:
          - enum:
            - AZN
            - EUR
            - USD
            type: string
          - type: 'null'
          description: Currency code (3-letter code per ISO 4217).
          examples:
          - USD
          - EUR
          title: Currency Code
        discount_details:
          description: Discount details per resource.
          example: &id170
            discount: '0.5'
            resource: ssd_hiiops
          examples:
          - *id170
          items:
            $ref: '#/components/schemas/ResourceDiscountSerializer'
          title: Discount Details
          type: array
        discount_percent:
          description: Actual discount as a relative value.
          example: '10.50'
          examples:
          - '10.50'
          - '5.00'
          title: Discount Percent
          type: string
        per_gb:
          anyOf:
          - $ref: '#/components/schemas/DetailedInstancePricingPerGBSerializer'
          - type: 'null'
          description: Pricing details per category charged per GB.
          examples:
          - egress_traffic_baremetal: 1.3
            egress_traffic_virtual: 0.5
        per_hour:
          $ref: '#/components/schemas/DetailedInstancePricingSerializer'
          description: Prices per category charged per hour.
          examples:
          - external_ip: 0.02
            flavor: 0.8
            floating_ip: 0.05
            volumes:
              cold: 0.1083
              ssd_hiiops: 0.0278
              standard: 0.0139
        per_month:
          $ref: '#/components/schemas/DetailedInstancePricingSerializer'
          description: Prices per category charged per month.
          examples:
          - external_ip: 14.4
            flavor: 576
            floating_ip: 36
            volumes:
              cold: 78
              ssd_hiiops: 20
              standard: 10
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI.
          examples:
          - show
          - hide
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount.
          examples:
          - '800.00'
          - '1000.50'
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: 0
          examples:
          - 0
          - 17
          - 12
          title: Tax Percent
          type: number
        total_price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour.
          examples:
          - '1.02'
          - '2.50'
          title: Total Price Per Hour
        total_price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month.
          examples:
          - '734.4'
          - '1200.00'
          title: Total Price Per Month
        vm_count:
          default: 1
          description: Number of virtual machine instances being created.
          example: 1
          examples:
          - 1
          - 10
          title: Vm Count
          type: integer
      required:
      - currency_code
      - discount_percent
      - per_hour
      - per_month
      - price_status
      - price_without_discount_per_month
      - total_price_per_hour
      - total_price_per_month
      - tax_percent
      - per_gb
      - discount_details
      title: InstancePricingPreviewV2ResponseSerializer
      type: object
    InstancePutServerGroupSerializer:
      properties:
        servergroup_id:
          description: Anti-affinity or affinity or soft-anti-affinity placement group ID.
          example: 47003067-550a-6f17-93b6-81ee16ba061e
          examples:
          - 47003067-550a-6f17-93b6-81ee16ba061e
          title: Servergroup Id
          type: string
      required:
      - servergroup_id
      title: InstancePutPlacementGroup schema
      type: object
    InstanceSecurityGroupListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/InstanceSecurityGroupSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: InstanceSecurityGroupListSerializer
      type: object
    InstanceSecurityGroupSerializer:
      properties:
        id:
          description: Security group ID
          example: 4536dba1-93b1-492e-b3df-270b6b9f3650
          examples:
          - 4536dba1-93b1-492e-b3df-270b6b9f3650
          title: Id
          type: string
        name:
          description: Security group name
          example: some_name
          examples:
          - some_name
          title: Name
          type: string
      required:
      - id
      - name
      title: InstanceSecurityGroupSerializer
      type: object
    InstanceSerializer:
      properties:
        addresses:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/InstanceFloatingAddressSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressShortSerializer'
              - $ref: '#/components/schemas/InstanceFixedAddressSerializer'
            type: array
          description: Map of `network_name` to list of addresses in that network
          title: Addresses
          type: object
        blackhole_ports:
          description: IP addresses of the instances that are blackholed by DDoS mitigation system
          items:
            $ref: '#/components/schemas/BlackholePortSerializer'
          title: Blackhole Ports
          type: array
        created_at:
          description: Datetime when instance was created
          example: '2023-11-29T10:56:49Z'
          examples:
          - '2023-11-29T10:56:49Z'
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task that created this entity
          title: Creator Task Id
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/GetClientProfileSerializer'
          - type: 'null'
          description: Advanced DDoS protection profile. It is always `null` if query parameter `with_ddos=true` is not set.
        fixed_ip_assignments:
          anyOf:
          - items:
              $ref: '#/components/schemas/IpAssignmentsSerializer'
            type: array
          - type: 'null'
          description: Fixed IP assigned to instance
          title: Fixed Ip Assignments
        flavor:
          anyOf:
          - $ref: '#/components/schemas/InstanceFlavorSerializer'
          - $ref: '#/components/schemas/BareMetalFlavorSerializer'
          - $ref: '#/components/schemas/DeprecatedGpuClusterFlavorSerializer'
          description: Flavor
          title: Flavor
        id:
          description: Instance ID
          example: 6c6aa80f-7836-4dc2-a2ae-125e248be476
          examples:
          - 6c6aa80f-7836-4dc2-a2ae-125e248be476
          format: uuid4
          title: Id
          type: string
        instance_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Instance description
          examples:
          - Instance description
          title: Instance Description
        instance_isolation:
          anyOf:
          - $ref: '#/components/schemas/IsolationSerializer'
          - type: 'null'
          description: Instance isolation information
        name:
          description: Instance name
          example: my-instance-1
          examples:
          - my-instance-1
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 111
          examples:
          - 111
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
        security_groups:
          description: Security groups
          items:
            $ref: '#/components/schemas/NameSerializerPydantic'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key assigned to instance
          title: Ssh Key Name
        status:
          $ref: '#/components/schemas/InstanceStatus'
          description: Instance status
          examples:
          - ACTIVE
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id171
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id171
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        task_state:
          anyOf:
          - type: string
          - type: 'null'
          description: Task state
          title: Task State
        vm_state:
          $ref: '#/components/schemas/InstanceVMState'
          description: Virtual machine state (active)
          examples:
          - active
        volumes:
          description: List of volumes
          items:
            $ref: '#/components/schemas/InstanceVolumeSerializer'
          title: Volumes
          type: array
      required:
      - id
      - name
      - created_at
      - status
      - vm_state
      - volumes
      - flavor
      - tags
      - instance_description
      - addresses
      - security_groups
      - ssh_key_name
      - creator_task_id
      - task_state
      - task_id
      - blackhole_ports
      - ddos_profile
      - fixed_ip_assignments
      - instance_isolation
      - region
      - region_id
      - project_id
      title: InstanceSerializer
      type: object
    InstanceStatus:
      enum:
      - ACTIVE
      - BUILD
      - DELETED
      - ERROR
      - HARD_REBOOT
      - MIGRATING
      - PASSWORD
      - PAUSED
      - REBOOT
      - REBUILD
      - RESCUE
      - RESIZE
      - REVERT_RESIZE
      - SHELVED
      - SHELVED_OFFLOADED
      - SHUTOFF
      - SOFT_DELETED
      - SUSPENDED
      - UNKNOWN
      - VERIFY_RESIZE
      title: InstanceStatus
      type: string
    InstanceStatusQuery:
      enum:
      - ACTIVE
      - BUILD
      - ERROR
      - HARD_REBOOT
      - MIGRATING
      - PAUSED
      - REBOOT
      - REBUILD
      - RESIZE
      - REVERT_RESIZE
      - SHELVED
      - SHELVED_OFFLOADED
      - SHUTOFF
      - SOFT_DELETED
      - SUSPENDED
      - VERIFY_RESIZE
      title: InstanceStatusQuery
      type: string
    InstanceVMState:
      enum:
      - active
      - building
      - deleted
      - error
      - paused
      - rescued
      - resized
      - shelved
      - shelved_offloaded
      - soft-deleted
      - stopped
      - suspended
      title: InstanceVMState
      type: string
    InstanceVolumePricingRequestSerializer:
      description: Schema lists only the fields required to calculate price
      example: &id172
        size: 1000
        source: new-volume
        type_name: standard
      examples:
      - *id172
      properties:
        size:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Volume size in GiB. Specify it when the source is 'new-volume', 'image' or 'apptemplate'.
          examples:
          - 1000
          title: Size
        snapshot_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The snapshot ID. Specify it when the source is 'snapshot'.
          examples:
          - 7cca40d7-a843-4e9f-ae08-62b9a394b1ab
          title: Snapshot Id
        source:
          $ref: '#/components/schemas/VolumeSource'
          description: 'The source of the volume. It must be one of: ''new-volume'', ''image'', ''snapshot'', ''apptemplate''.'
          examples:
          - new-volume
        type_name:
          anyOf:
          - $ref: '#/components/schemas/VolumeTypeName'
          - type: 'null'
          default: null
          description: 'The type of the volume. It must be one of: ''standard'', ''ssd_hiiops'', ''cold'', ''ultra''.'
          examples:
          - standard
      required:
      - source
      title: InstanceVolumePricingRequestSerializer
      type: object
    InstanceVolumeSerializer:
      properties:
        delete_on_termination:
          description: Whether the volume is deleted together with the VM
          title: Delete On Termination
          type: boolean
        id:
          description: Volume ID
          title: Id
          type: string
      required:
      - id
      - delete_on_termination
      title: InstanceVolumeSerializer
      type: object
    InstanceVolumesPricingSerializer:
      description: Pricing schema with detailed prices per volume type.
      example: &id173
        cold: 78
        ssd_hiiops: 20
        ssd_lowlatency: 10
        standard: 10
        ultra: 78
      examples:
      - *id173
      properties:
        cold:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of cold volume over the specified period of time.
          examples:
          - 78
          title: Cold
        ssd_hiiops:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of `ssd_hiiops` volume over the specified period of time.
          examples:
          - 20
          title: Ssd Hiiops
        ssd_lowlatency:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of `ssd_lowlatency` volume over the specified period of time.
          examples:
          - 10
          title: Ssd Lowlatency
        standard:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of standard volume over the specified period of time.
          examples:
          - 10
          title: Standard
        ultra:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Price of ultra volume over the specified period of time.
          examples:
          - 78
          title: Ultra
      title: InstanceVolumesPricingSerializer
      type: object
    InstancesOrderByChoices:
      enum:
      - created.asc
      - created.desc
      - name.asc
      - name.desc
      - status.asc
      - status.desc
      title: InstancesOrderByChoices
      type: string
    IntRangeFilter:
      additionalProperties: false
      description: |-
        Filter a non-negative integer field (e.g. `servers_count`) by a range.

        Set a lower bound with `gt` (greater than) or `gte` (greater than or equal),
        and an upper bound with `lt` (less than) or `lte` (less than or equal). Use one
        or both; together they form a range.

        Examples:

        - `servers_count[gte]=2` - 2 or more.
        - `servers_count[gte]=2&servers_count[lt]=8` - from 2 to 8.

        Pass at most one lower and one upper bound; two lower or two upper bounds is a
        400.
      properties:
        gt:
          description: Strictly greater than, e.g. `[gt]=1`.
          minimum: 0
          title: Gt
          type: integer
        gte:
          description: Greater than or equal, e.g. `[gte]=2`.
          minimum: 0
          title: Gte
          type: integer
        lt:
          description: Strictly less than, e.g. `[lt]=8`.
          minimum: 0
          title: Lt
          type: integer
        lte:
          description: Less than or equal, e.g. `[lte]=4`.
          minimum: 0
          title: Lte
          type: integer
      title: IntRangeFilter
      type: object
    InterfaceIPFamily:
      enum:
      - dual
      - ipv4
      - ipv6
      title: InterfaceIPFamily
      type: string
    Interfaces:
      enum:
      - any_subnet
      - external
      - reserved_fixed_ip
      - subnet
      title: Interfaces
      type: string
    IpAssignmentRequestSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipv4
            type: string
          - format: ipv6
            type: string
          description: IP address to assign. Omit it to get any free address of the subnet, which is the only option when the subnet's free addresses are not known to the caller.
          examples:
          - 192.168.123.20
          title: Ip Address
        subnet_id:
          description: ID of the subnet
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      title: IpAssignmentRequestSerializer
      type: object
    IpAssignmentSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipv4
            type: string
          - format: ipv6
            type: string
          description: IP address assigned to the port
          examples:
          - 192.168.123.20
          title: Ip Address
        subnet_id:
          description: ID of the subnet
          example: 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - 351b0dd7-ca09-431c-be53-935db3785067
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      - ip_address
      title: IpAssignmentSerializer
      type: object
    IpAssignmentsSerializer:
      properties:
        external:
          description: Is network external
          title: External
          type: boolean
        ip_address:
          description: Ip address
          example: 123.123.123.1
          examples:
          - 123.123.123.1
          title: Ip Address
          type: string
        subnet_id:
          description: Interface subnet id
          example: eaafdc3c-f48b-4eb4-826f-057dfc7d6476
          examples:
          - eaafdc3c-f48b-4eb4-826f-057dfc7d6476
          title: Subnet Id
          type: string
      required:
      - subnet_id
      - ip_address
      - external
      title: IpAssignmentsSerializer
      type: object
    IsolationSerializer:
      properties:
        reason:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The reason of instance isolation if it is isolated from external internet.
          examples:
          - Suspicious activities
          title: Reason
      title: IsolationSerializer
      type: object
    ItemPriceResponseSerializer:
      description: Response with prices per hour and per month
      example: &id174
        currency_code: USD
        discount_percent: 0.16
        price_per_hour: 1
        price_per_month: 720
        price_status: show
        price_without_discount_per_month: 604.8
        tax_percent: 17
      examples:
      - *id174
      properties:
        currency_code:
          anyOf:
          - enum:
            - AZN
            - EUR
            - USD
            type: string
          - type: 'null'
          description: Currency code (3 letter code per ISO 4217)
          title: Currency Code
        discount_percent:
          anyOf:
          - type: number
          - type: 'null'
          description: Actual discount relative value
          examples:
          - 0.16
          title: Discount Percent
        price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Price of the item charged per hour
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Price of the item charged per month
          examples:
          - 720
          title: Price Per Month
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI
          examples:
          - show
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount
          examples:
          - 604.8
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: 0
          examples:
          - 0
          - 17
          - 12
          title: Tax Percent
          type: number
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_without_discount_per_month
      - discount_percent
      - price_status
      - tax_percent
      title: ItemPriceResponseSerializer
      type: object
    K8sClusterAddonsCreateV2Serializer:
      properties:
        slurm:
          $ref: '#/components/schemas/K8sClusterSlurmAddonEnableV2Serializer'
          description: Slurm add-on configuration
      title: K8sClusterAddonsCreateV2Serializer
      type: object
    K8sClusterAddonsUpdateV2Serializer:
      properties:
        slurm:
          $ref: '#/components/schemas/K8sClusterSlurmAddonV2Serializers'
          description: Slurm add-on configuration
      title: K8sClusterAddonsUpdateV2Serializer
      type: object
    K8sClusterAddonsV2Serializer:
      properties:
        slurm:
          $ref: '#/components/schemas/K8sClusterSlurmAddonV2Serializer'
          description: Slurm add-on configuration
      required:
      - slurm
      title: K8sClusterAddonsV2Serializer
      type: object
    K8sClusterAuthenticationCreateV2Serializer:
      properties:
        oidc:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterOIDCV2Serializer'
          - type: 'null'
          default: null
          description: OIDC authentication settings
      title: K8sClusterAuthenticationCreateV2Serializer
      type: object
    K8sClusterAuthenticationV2Serializer:
      properties:
        kubeconfig_created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Kubeconfig creation date
          examples:
          - '2024-02-15T11:53:03Z'
          title: Kubeconfig Created At
        kubeconfig_expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Kubeconfig expiration date
          examples:
          - '2026-02-15T11:53:03Z'
          title: Kubeconfig Expires At
        oidc:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterOIDCV2Serializer'
          - type: 'null'
          default: null
          description: OIDC authentication settings
      title: K8sClusterAuthenticationV2Serializer
      type: object
    K8sClusterCNI:
      enum:
      - calico
      - cilium
      title: K8sClusterCNI
      type: string
    K8sClusterCNICreateV2Serializer:
      properties:
        cilium:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCiliumV2Serializer'
          - type: 'null'
          default: null
          description: Cilium settings
        provider:
          $ref: '#/components/schemas/K8sClusterCNI'
          default: calico
          description: CNI provider
          examples:
          - calico
      title: K8sClusterCNICreateV2Serializer
      type: object
    K8sClusterCNIV2Serializer:
      properties:
        cilium:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCiliumV2Serializer'
          - type: 'null'
          default: null
          description: Cilium settings
        provider:
          $ref: '#/components/schemas/K8sClusterCNI'
          default: calico
          description: CNI provider
          examples:
          - calico
      title: K8sClusterCNIV2Serializer
      type: object
    K8sClusterCSICreateV2Serializer:
      properties:
        nfs:
          $ref: '#/components/schemas/K8sClusterNFSCreateV2Serializer'
          description: NFS CSI driver settings
          examples:
          - ddn_enabled: false
            vast_enabled: true
      title: K8sClusterCSICreateV2Serializer
      type: object
    K8sClusterCSIV2Serializer:
      properties:
        nfs:
          $ref: '#/components/schemas/K8sClusterNFSV2Serializer'
          description: NFS settings
          examples:
          - ddn_enabled: false
            vast_enabled: true
      required:
      - nfs
      title: K8sClusterCSIV2Serializer
      type: object
    K8sClusterCertificateV2Serializer:
      properties:
        certificate:
          description: Cluster CA certificate
          examples: []
          title: Certificate
          type: string
        key:
          description: Cluster CA private key
          examples: []
          title: Key
          type: string
      required:
      - certificate
      - key
      title: K8sClusterCertificateV2Serializer
      type: object
    K8sClusterCheckLimitsLoggingV2Serializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: The logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
          - my-log-name
          title: Topic Name
      title: K8sClusterCheckLimitsLoggingV2Serializer
      type: object
    K8sClusterCheckLimitsPoolV2Serializer:
      properties:
        boot_volume_size:
          anyOf:
          - maximum: 2000
            minimum: 10
            type: integer
          - type: 'null'
          default: null
          description: Boot volume size
          examples:
          - 50
          title: Boot Volume Size
        flavor_id:
          description: Flavor ID
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor Id
          type: string
        is_public_ipv4:
          default: false
          description: Enable public IPv4 address for pool nodes. Each node consumes one external IP quota unit
          example: true
          examples:
          - true
          title: Is Public Ipv4
          type: boolean
        max_node_count:
          anyOf:
          - maximum: 200
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Maximum node count
          examples:
          - 5
          title: Max Node Count
        min_node_count:
          anyOf:
          - maximum: 200
            minimum: 1
            type: integer
          - type: 'null'
          default: 1
          description: Minimum node count
          examples:
          - 3
          title: Min Node Count
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the cluster pool
          examples:
          - test
          title: Name
        node_count:
          anyOf:
          - maximum: 200
            minimum: 1
            type: integer
          - type: 'null'
          default: 1
          description: Maximum node count
          examples:
          - 5
          title: Node Count
        servergroup_policy:
          anyOf:
          - $ref: '#/components/schemas/ServerGroupPolicyEnum'
          - type: 'null'
          default: null
          description: 'Placement group policy: anti-affinity, soft-anti-affinity or affinity'
          examples:
          - anti-affinity
      required:
      - flavor_id
      title: K8sClusterCheckLimitsPoolV2Serializer
      type: object
    K8sClusterCheckLimitsV2Serializer:
      properties:
        fixed_network:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Fixed network ID. When set, OVPN infrastructure quotas (LB, FIP) are checked.
          title: Fixed Network
        logging:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCheckLimitsLoggingV2Serializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            topic_name: my-log-name
          - null
        pools:
          description: K8s pools to create
          example: &id175
          - flavor_id: bm2-hf-medium
            min_node_count: 1
            name: test
          examples:
          - *id175
          items:
            $ref: '#/components/schemas/K8sClusterCheckLimitsPoolV2Serializer'
          title: Pools
          type: array
      required:
      - pools
      title: K8sClusterCheckLimitsV2Serializer
      type: object
    K8sClusterCiliumLBMode:
      enum:
      - dsr
      - hybrid
      - snat
      title: K8sClusterCiliumLBMode
      type: string
    K8sClusterCiliumRoutingMode:
      enum:
      - native
      - tunnel
      title: K8sClusterCiliumRoutingMode
      type: string
    K8sClusterCiliumTunnel:
      enum:
      - ''
      - geneve
      - vxlan
      title: K8sClusterCiliumTunnel
      type: string
    K8sClusterCiliumV2Serializer:
      properties:
        cni_exclusive:
          default: true
          description: Whether Cilium manages networking exclusively. Set to `false` to allow other CNI components to coexist with Cilium.
          example: true
          examples:
          - true
          title: Cni Exclusive
          type: boolean
        encryption:
          default: false
          description: Wireguard encryption
          title: Encryption
          type: boolean
        hubble_relay:
          default: false
          description: Hubble Relay
          title: Hubble Relay
          type: boolean
        hubble_ui:
          default: false
          description: Hubble UI
          title: Hubble Ui
          type: boolean
        lb_acceleration:
          default: false
          description: LoadBalancer acceleration
          title: Lb Acceleration
          type: boolean
        lb_mode:
          $ref: '#/components/schemas/K8sClusterCiliumLBMode'
          default: snat
          description: LoadBalancer mode
          examples:
          - hybrid
          - snat
          - dsr
        mask_size:
          default: 24
          description: Mask size for IPv4
          example: 24
          examples:
          - 24
          title: Mask Size
          type: integer
        mask_size_v6:
          default: 120
          description: Mask size for IPv6
          example: 120
          examples:
          - 120
          title: Mask Size V6
          type: integer
        routing_mode:
          $ref: '#/components/schemas/K8sClusterCiliumRoutingMode'
          default: tunnel
          description: Routing mode
          examples:
          - tunnel
        tunnel:
          $ref: '#/components/schemas/K8sClusterCiliumTunnel'
          default: geneve
          description: CNI provider
          examples:
          - geneve
      title: K8sClusterCiliumV2Serializer
      type: object
    K8sClusterConfigV2Serializer:
      properties:
        client_certificate:
          description: String in base64 format. Cluster client certificate
          examples: []
          title: Client Certificate
          type: string
        client_key:
          description: String in base64 format. Cluster client key
          examples: []
          title: Client Key
          type: string
        cluster_ca_certificate:
          description: String in base64 format. Cluster ca certificate
          examples: []
          title: Cluster Ca Certificate
          type: string
        config:
          description: Cluster kubeconfig
          examples: []
          title: Config
          type: string
        created_at:
          description: Kubeconfig creation date
          example: '2024-02-15T11:53:03Z'
          examples:
          - '2024-02-15T11:53:03Z'
          format: date-time
          title: Created At
          type: string
        expires_at:
          description: Kubeconfig expiration date
          example: '2026-02-15T11:53:03Z'
          examples:
          - '2026-02-15T11:53:03Z'
          format: date-time
          title: Expires At
          type: string
        host:
          description: Cluster host
          examples: []
          title: Host
          type: string
      required:
      - config
      - host
      - cluster_ca_certificate
      - client_certificate
      - client_key
      - created_at
      - expires_at
      title: K8sClusterConfigV2Serializer
      type: object
    K8sClusterCreateV2Serializer:
      properties:
        add_ons:
          $ref: '#/components/schemas/K8sClusterAddonsCreateV2Serializer'
          description: Cluster add-ons configuration
          examples:
          - slurm:
              enabled: true
              file_share_id: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
              ssh_key_ids:
              - 25735292-bd97-44b0-a1af-d7eab876261d
              - efc01f3a-35b9-4385-89f9-e38439093ee7
              worker_count: 2
        authentication:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterAuthenticationCreateV2Serializer'
          - type: 'null'
          default: null
          description: Authentication settings
          examples:
          - oidc:
              client_id: kubernetes
              groups_claim: groups
              groups_prefix: 'oidc:'
              issuer_url: https://accounts.provider.example
              required_claims:
                claim: value
              signing_algs:
              - RS256
              - RS512
              username_claim: sub
              username_prefix: 'oidc:'
        autoscaler_config:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: |-
            Cluster autoscaler configuration.

              It allows you to override the default cluster-autoscaler parameters provided by the platform with your preferred values.

              Supported parameters (in alphabetical order):
              - balance-similar-node-groups (boolean: true/false) - Detect similar node groups and balance the number of nodes between them.
              - expander (string: random, most-pods, least-waste, price, priority, grpc) - Type of node group expander to be used in scale up. Specifying multiple values separated by commas will call the expanders in succession until there is only one option remaining.
              - expendable-pods-priority-cutoff (float) - Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
              - ignore-daemonsets-utilization (boolean: true/false) - Should CA ignore DaemonSet pods when calculating resource utilization for scaling down.
              - max-empty-bulk-delete (integer) - Maximum number of empty nodes that can be deleted at the same time.
              - max-graceful-termination-sec (integer) - Maximum number of seconds CA waits for pod termination when trying to scale down a node.
              - max-node-provision-time (duration: e.g., '15m') - The default maximum time CA waits for node to be provisioned - the value can be overridden per node group.
              - max-total-unready-percentage (float) - Maximum percentage of unready nodes in the cluster. After this is exceeded, CA halts operations.
              - new-pod-scale-up-delay (duration: e.g., '10s') - Pods less than this old will not be considered for scale-up. Can be increased for individual pods through annotation.
              - ok-total-unready-count (integer) - Number of allowed unready nodes, irrespective of max-total-unready-percentage.
              - scale-down-delay-after-add (duration: e.g., '10m') - How long after scale up that scale down evaluation resumes.
              - scale-down-delay-after-delete (duration: e.g., '10s') - How long after node deletion that scale down evaluation resumes.
              - scale-down-delay-after-failure (duration: e.g., '3m') - How long after scale down failure that scale down evaluation resumes.
              - scale-down-enabled (boolean: true/false) - Should CA scale down the cluster.
              - scale-down-unneeded-time (duration: e.g., '10m') - How long a node should be unneeded before it is eligible for scale down.
              - scale-down-unready-time (duration: e.g., '20m') - How long an unready node should be unneeded before it is eligible for scale down.
              - scale-down-utilization-threshold (float) - The maximum value between the sum of cpu requests and sum of memory requests of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down.
              - scan-interval (duration: e.g., '10s') - How often cluster is reevaluated for scale up or down.
              - skip-nodes-with-custom-controller-pods (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods owned by custom controllers.
              - skip-nodes-with-local-storage (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath.
              - skip-nodes-with-system-pods (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods).
          examples:
          - scale-down-unneeded-time: 5m
          title: Autoscaler Config
        cni:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCNICreateV2Serializer'
          - type: 'null'
          default: null
          description: Cluster CNI settings
          examples:
          - cilium:
              cni_exclusive: true
              encryption: true
              hubble_relay: true
              hubble_ui: true
              lb_acceleration: true
              lb_mode: snat
              tunnel: geneve
            provider: cilium
        csi:
          $ref: '#/components/schemas/K8sClusterCSICreateV2Serializer'
          description: Container Storage Interface (CSI) driver settings
          examples:
          - nfs:
              ddn_enabled: false
              vast_enabled: true
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterDdosProfileCreateV2Serializer'
          - type: 'null'
          default: null
          description: Advanced DDoS Protection profile
          examples:
          - enabled: true
            fields:
            - base_field: 10
              field_value:
              - 45046
              - 45047
            profile_template: 29
        fixed_network:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: The network of the cluster
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: Fixed Network
        fixed_subnet:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: The subnet of the cluster
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: Fixed Subnet
        is_ipv6:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Enable public v6 address
          examples:
          - true
          - false
          title: Is Ipv6
        keypair:
          description: The keypair of the cluster
          example: some_keypair
          examples:
          - some_keypair
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Keypair
          type: string
        logging:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterLoggingCreateV2Serializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
          - null
        name:
          description: The name of the cluster
          example: string
          examples:
          - string
          maxLength: 20
          minLength: 1
          pattern: ^[a-z][a-z0-9\-]{0,18}[a-z0-9]$
          title: Name
          type: string
        pods_ip_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IP pool for the pods
          examples:
          - 172.16.0.0/18
          title: Pods Ip Pool
        pods_ipv6_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IPv6 pool for the pods
          examples:
          - 2a03:90c0:88:393::/64
          title: Pods Ipv6 Pool
        pools:
          description: The pools of the cluster
          items:
            $ref: '#/components/schemas/K8sClusterPoolCreateV2Serializer'
          minItems: 1
          title: Pools
          type: array
        services_ip_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IP pool for the services
          examples:
          - 172.24.0.0/18
          title: Services Ip Pool
        services_ipv6_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IPv6 pool for the services
          examples:
          - 2a03:90c0:88:381::/108
          title: Services Ipv6 Pool
        version:
          description: The version of the k8s cluster
          example: 1.28.1
          examples:
          - 1.28.1
          title: Version
          type: string
      required:
      - keypair
      - name
      - pools
      - version
      title: K8sClusterCreateV2Serializer
      type: object
    K8sClusterDdosProfileCreateV2Serializer:
      properties:
        enabled:
          description: Enable advanced DDoS protection
          example: true
          examples:
          - true
          title: Enabled
          type: boolean
        fields:
          default: []
          description: DDoS profile parameters
          example: &id176
          - base_field: 10
            field_value:
            - 45046
            - 45047
          examples:
          - *id176
          items:
            $ref: '#/components/schemas/K8sClusterDdosProfileFieldV2Serializer'
          title: Fields
          type: array
        profile_template:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: DDoS profile template ID
          examples:
          - 29
          title: Profile Template
        profile_template_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: DDoS profile template name
          examples: []
          title: Profile Template Name
      required:
      - enabled
      title: K8sClusterDdosProfileCreateV2Serializer
      type: object
    K8sClusterDdosProfileFieldV2Serializer:
      properties:
        base_field:
          description: ''
          example: 10
          examples:
          - 10
          title: Base Field
          type: integer
        field_value:
          anyOf:
          - {}
          - type: 'null'
          default: null
          description: Complex value for the DDoS profile field
          examples:
          - - 45046
            - 45047
          title: Field Value
      required:
      - base_field
      title: K8sClusterDdosProfileFieldV2Serializer
      type: object
    K8sClusterDdosProfileUpdateV2Serializer:
      properties:
        enabled:
          description: Enable advanced DDoS protection
          example: true
          examples:
          - true
          title: Enabled
          type: boolean
        fields:
          default: []
          description: DDoS profile parameters
          example: &id177
          - base_field: 10
            field_value:
            - 45046
            - 45047
          examples:
          - *id177
          items:
            $ref: '#/components/schemas/K8sClusterDdosProfileFieldV2Serializer'
          title: Fields
          type: array
        profile_template:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: DDoS profile template ID
          examples:
          - 29
          title: Profile Template
        profile_template_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: DDoS profile template name
          examples: []
          title: Profile Template Name
      required:
      - enabled
      title: K8sClusterDdosProfileUpdateV2Serializer
      type: object
    K8sClusterDdosProfileV2Serializer:
      properties:
        enabled:
          description: Enable advanced DDoS protection
          example: true
          examples:
          - true
          title: Enabled
          type: boolean
        fields:
          anyOf:
          - items:
              $ref: '#/components/schemas/K8sClusterDdosProfileFieldV2Serializer'
            type: array
          - type: 'null'
          default: null
          description: DDoS profile parameters
          examples:
          - - base_field: 10
              field_value:
              - 45046
              - 45047
          title: Fields
        profile_template:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: DDoS profile template ID
          examples:
          - 29
          title: Profile Template
        profile_template_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: DDoS profile template name
          examples: []
          title: Profile Template Name
      required:
      - enabled
      title: K8sClusterDdosProfileV2Serializer
      type: object
    K8sClusterLoggingCreateV2Serializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: The logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
          - my-log-name
          title: Topic Name
      title: K8sClusterLoggingCreateV2Serializer
      type: object
    K8sClusterLoggingUpdateV2Serializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: The logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
          - my-log-name
          title: Topic Name
      title: K8sClusterLoggingUpdateV2Serializer
      type: object
    K8sClusterNFSCreateV2Serializer:
      properties:
        ddn_enabled:
          default: false
          description: Enable or disable DDN (Lustre) integration. The default value is `false`. When set to `true`, the DDN EXAScaler CSI driver will be deployed in the cluster with a dedicated StorageClass for each DDN file share defined in the cloud. At least one DDN file share must already exist in the project; otherwise cluster creation fails with a `400` validation error. Existing file shares are available immediately, while those created after the cluster may take a few minutes to appear.
          example: true
          examples:
          - true
          title: Ddn Enabled
          type: boolean
        vast_enabled:
          default: false
          description: Enable or disable VAST NFS integration. The default value is `false`. When set to `true`, a dedicated StorageClass will be created in the cluster for each VAST NFS file share defined in the cloud. All file shares created prior to cluster creation will be available immediately, while those created afterward may take a few minutes for to appear.
          example: true
          examples:
          - true
          title: Vast Enabled
          type: boolean
      title: K8sClusterNFSCreateV2Serializer
      type: object
    K8sClusterNFSV2Serializer:
      properties:
        ddn_enabled:
          description: Whether DDN (Lustre) integration is enabled. When `true`, the DDN EXAScaler CSI driver is deployed in the cluster and each DDN file share defined in the cloud is exposed as a dedicated StorageClass.
          example: true
          examples:
          - true
          title: Ddn Enabled
          type: boolean
        vast_enabled:
          description: Indicates the status of VAST NFS integration
          example: true
          examples:
          - true
          title: Vast Enabled
          type: boolean
      required:
      - vast_enabled
      - ddn_enabled
      title: K8sClusterNFSV2Serializer
      type: object
    K8sClusterOIDCV2Serializer:
      properties:
        client_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Client ID
          examples:
          - kubernetes
          title: Client Id
        groups_claim:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: JWT claim to use as the user's group
          examples:
          - groups
          title: Groups Claim
        groups_prefix:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Prefix prepended to group claims
          examples:
          - 'oidc:'
          title: Groups Prefix
        issuer_url:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Issuer URL
          examples:
          - https://accounts.provider.example
          title: Issuer Url
        required_claims:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Key-value pairs that describe required claims in the token
          examples:
          - claim: value
          title: Required Claims
        signing_algs:
          anyOf:
          - items:
              $ref: '#/components/schemas/OIDCSigningAlgorithmEnum'
            type: array
          - type: 'null'
          default: null
          description: Accepted signing algorithms
          examples:
          - - RS512
          title: Signing Algs
        username_claim:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: JWT claim to use as the user name
          examples:
          - sub
          title: Username Claim
        username_prefix:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Prefix prepended to username claims to prevent clashes
          examples:
          - 'oidc:'
          title: Username Prefix
      title: K8sClusterOIDCV2Serializer
      type: object
    K8sClusterPoolCreateV2Serializer:
      properties:
        auto_healing_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Enable auto healing
          examples:
          - true
          - false
          title: Auto Healing Enabled
        boot_volume_size:
          anyOf:
          - maximum: 2000
            minimum: 10
            type: integer
          - type: 'null'
          default: null
          description: Boot volume size
          examples:
          - 50
          title: Boot Volume Size
        boot_volume_type:
          anyOf:
          - $ref: '#/components/schemas/VolumeTypeName'
          - type: 'null'
          default: null
          description: Boot volume type
          examples:
          - ssd_hiiops
        crio_config:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Cri-o configuration for pool nodes
          examples:
          - default-ulimits: nofile=1024:2048
          title: Crio Config
        flavor_id:
          description: Flavor ID
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor Id
          type: string
        is_public_ipv4:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Enable public v4 address
          examples:
          - true
          - false
          title: Is Public Ipv4
        kubelet_config:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Kubelet configuration for pool nodes
          examples:
          - podMaxPids: '4096'
          title: Kubelet Config
        labels:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: {}
          description: Labels applied to the cluster pool
          examples:
          - my-label: foo
          title: Labels
        max_node_count:
          anyOf:
          - maximum: 200
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Maximum node count
          examples:
          - 5
          title: Max Node Count
        min_node_count:
          description: Minimum node count
          example: 3
          examples:
          - 3
          maximum: 200
          minimum: 1
          title: Min Node Count
          type: integer
        name:
          description: Pool's name
          example: my-pool
          examples:
          - my-pool
          maxLength: 20
          minLength: 1
          pattern: ^[a-z][a-z0-9\-]{0,18}[a-z0-9]$
          title: Name
          type: string
        security_group_ids:
          description: Security group IDs applied to the cluster pool nodes
          example: &id178
          - e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce
          examples:
          - *id178
          items:
            format: uuid4
            type: string
          title: Security Group Ids
          type: array
        servergroup_policy:
          anyOf:
          - $ref: '#/components/schemas/ServerGroupPolicyEnum'
          - type: 'null'
          default: null
          description: 'Placement group policy: anti-affinity, soft-anti-affinity or affinity'
        taints:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: {}
          description: Taints applied to the cluster pool
          examples:
          - my-taint: bar:NoSchedule
          title: Taints
      required:
      - flavor_id
      - min_node_count
      - name
      title: K8sClusterPoolCreateV2Serializer
      type: object
    K8sClusterPoolPricingRequestV2Serializer:
      example: &id179
        boot_volume_size: 10
        boot_volume_type: ssd_hiiops
        flavor_id: g0-standard-1-2
        node_count: 1
      examples:
      - *id179
      properties:
        boot_volume_size:
          anyOf:
          - maximum: 2000
            minimum: 10
            type: integer
          - type: 'null'
          default: null
          description: Size (in GiB) of the boot volume. Required for virtual instances.
          title: Boot Volume Size
        boot_volume_type:
          anyOf:
          - $ref: '#/components/schemas/VolumeType'
          - type: 'null'
          default: null
          description: Type of the boot volume. Required for virtual instances.
        flavor_id:
          description: Flavor ID.
          title: Flavor Id
          type: string
        is_public_ipv4:
          default: false
          description: Enable public v4 address.
          title: Is Public Ipv4
          type: boolean
        node_count:
          default: 1
          description: Minimum node count.
          maximum: 200
          minimum: 1
          title: Node Count
          type: integer
      required:
      - flavor_id
      title: K8sClusterPoolPricingRequestV2Serializer
      type: object
    K8sClusterPoolResizeV2Serializer:
      properties:
        node_count:
          description: Target node count
          example: 2
          examples:
          - 2
          maximum: 200
          minimum: 1
          title: Node Count
          type: integer
      required:
      - node_count
      title: K8sClusterPoolResizeV2Serializer
      type: object
    K8sClusterPoolUpdateV2Serializer:
      properties:
        auto_healing_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Enable/disable auto healing
          examples:
          - true
          title: Auto Healing Enabled
        labels:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Labels applied to the cluster pool
          examples:
          - my-label: foo
          title: Labels
        max_node_count:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Maximum node count
          examples:
          - 3
          title: Max Node Count
        min_node_count:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Minimum node count
          examples:
          - 1
          title: Min Node Count
        node_count:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          deprecated: true
          description: This field is deprecated. Please use the cluster pool resize handler instead.
          examples:
          - 2
          title: Node Count
        security_group_ids:
          description: Security group IDs applied to the cluster pool nodes. Omit the field to leave unchanged; pass an empty list to clear.
          example: &id180
          - e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce
          examples:
          - *id180
          items:
            format: uuid4
            type: string
          title: Security Group Ids
          type: array
        taints:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Taints applied to the cluster pool
          examples:
          - my-taint: bar:NoSchedule
          title: Taints
      title: K8sClusterPoolUpdateV2Serializer
      type: object
    K8sClusterPoolV2CollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/K8sClusterPoolV2Serializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: K8sClusterPoolV2CollectionSerializer
      type: object
    K8sClusterPoolV2Serializer:
      properties:
        auto_healing_enabled:
          description: Indicates the status of auto healing
          example: true
          examples:
          - true
          title: Auto Healing Enabled
          type: boolean
        boot_volume_size:
          description: Size of the boot volume
          example: 50
          examples:
          - 50
          title: Boot Volume Size
          type: integer
        boot_volume_type:
          description: Type of the boot volume
          example: ssd_hiiops
          examples:
          - ssd_hiiops
          title: Boot Volume Type
          type: string
        created_at:
          description: Date of function creation
          example: '2023-02-15T11:53:03+03:00'
          examples:
          - '2023-02-15T11:53:03+03:00'
          title: Created At
          type: string
        crio_config:
          additionalProperties:
            type: string
          description: Crio configuration for pool nodes
          example: &id181
            default-ulimits: nofile=1024:2048
          examples:
          - *id181
          title: Crio Config
          type: object
        flavor_id:
          description: ID of the cluster pool flavor
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor Id
          type: string
        id:
          description: UUID of the cluster pool
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          title: Id
          type: string
        is_public_ipv4:
          description: Indicates if the pool is public
          example: true
          examples:
          - true
          title: Is Public Ipv4
          type: boolean
        kubelet_config:
          additionalProperties:
            type: string
          description: Kubelet configuration for pool nodes
          example: &id182
            podMaxPids: '4096'
          examples:
          - *id182
          title: Kubelet Config
          type: object
        labels:
          additionalProperties:
            type: string
          description: Labels applied to the cluster pool
          example: &id183
            my-label: foo
          examples:
          - *id183
          title: Labels
          type: object
        max_node_count:
          description: Maximum node count in the cluster pool
          example: 10
          examples:
          - 10
          title: Max Node Count
          type: integer
        min_node_count:
          description: Minimum node count in the cluster pool
          example: 1
          examples:
          - 1
          title: Min Node Count
          type: integer
        name:
          description: Name of the cluster pool
          example: test
          examples:
          - test
          title: Name
          type: string
        node_count:
          description: Node count in the cluster pool
          example: 2
          examples:
          - 2
          title: Node Count
          type: integer
        security_group_ids:
          description: Security group IDs applied to the cluster pool nodes
          example: &id184
          - e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce
          examples:
          - *id184
          items:
            type: string
          title: Security Group Ids
          type: array
        servergroup_id:
          default: ''
          description: Placement group ID
          example: 1772de21-f013-4b70-9f8f-a518985b3bc2
          examples:
          - 1772de21-f013-4b70-9f8f-a518985b3bc2
          title: Servergroup Id
          type: string
        servergroup_name:
          default: ''
          description: Placement group name
          example: my-placement-group
          examples:
          - my-placement-group
          title: Servergroup Name
          type: string
        servergroup_policy:
          default: ''
          description: Anti-affinity, affinity or soft-anti-affinity placement group policy
          example: anti-affinity
          examples:
          - anti-affinity
          title: Servergroup Policy
          type: string
        status:
          description: Status of the cluster pool
          example: Running
          examples:
          - Running
          title: Status
          type: string
        taints:
          additionalProperties:
            type: string
          description: Taints applied to the cluster pool
          example: &id185
            my-taint: bar:NoSchedule
          examples:
          - *id185
          title: Taints
          type: object
      required:
      - auto_healing_enabled
      - boot_volume_size
      - boot_volume_type
      - created_at
      - crio_config
      - flavor_id
      - id
      - is_public_ipv4
      - kubelet_config
      - max_node_count
      - min_node_count
      - name
      - node_count
      - status
      - labels
      - taints
      - security_group_ids
      title: K8sClusterPoolV2Serializer
      type: object
    K8sClusterPricingRequestV2Serializer:
      example: &id186
        pools:
        - flavor_id: g0-standard-1-2
          node_count: 1
      examples:
      - *id186
      properties:
        pools:
          description: Cluster pools
          items:
            $ref: '#/components/schemas/K8sClusterPoolPricingRequestV2Serializer'
          title: Pools
          type: array
      required:
      - pools
      title: K8sClusterPricingRequestV2Serializer
      type: object
    K8sClusterQuotaResponseSerializer:
      description: |-
        Response schema for K8s cluster quota check.

        Returns quota fields that are exceeded. Fields are only included when
        regional limits would be violated. Empty response means no quotas exceeded.
      properties:
        baremetal_gpu_a100_count_limit:
          description: Bare metal A100 GPU server count limit
          example: 5
          examples:
          - 5
          title: Baremetal Gpu A100 Count Limit
          type: integer
        baremetal_gpu_a100_count_requested:
          description: Bare metal A100 GPU server count requested
          example: 10
          examples:
          - 10
          title: Baremetal Gpu A100 Count Requested
          type: integer
        baremetal_gpu_a100_count_usage:
          description: Bare metal A100 GPU server count usage
          example: 3
          examples:
          - 3
          title: Baremetal Gpu A100 Count Usage
          type: integer
        baremetal_gpu_h100_count_limit:
          description: Bare metal H100 GPU server count limit
          example: 5
          examples:
          - 5
          title: Baremetal Gpu H100 Count Limit
          type: integer
        baremetal_gpu_h100_count_requested:
          description: Bare metal H100 GPU server count requested
          example: 10
          examples:
          - 10
          title: Baremetal Gpu H100 Count Requested
          type: integer
        baremetal_gpu_h100_count_usage:
          description: Bare metal H100 GPU server count usage
          example: 3
          examples:
          - 3
          title: Baremetal Gpu H100 Count Usage
          type: integer
        baremetal_gpu_h200_count_limit:
          description: Bare metal H200 GPU server count limit
          example: 5
          examples:
          - 5
          title: Baremetal Gpu H200 Count Limit
          type: integer
        baremetal_gpu_h200_count_requested:
          description: Bare metal H200 GPU server count requested
          example: 10
          examples:
          - 10
          title: Baremetal Gpu H200 Count Requested
          type: integer
        baremetal_gpu_h200_count_usage:
          description: Bare metal H200 GPU server count usage
          example: 3
          examples:
          - 3
          title: Baremetal Gpu H200 Count Usage
          type: integer
        baremetal_gpu_l40s_count_limit:
          description: Bare metal L40S GPU server count limit
          example: 5
          examples:
          - 5
          title: Baremetal Gpu L40S Count Limit
          type: integer
        baremetal_gpu_l40s_count_requested:
          description: Bare metal L40S GPU server count requested
          example: 10
          examples:
          - 10
          title: Baremetal Gpu L40S Count Requested
          type: integer
        baremetal_gpu_l40s_count_usage:
          description: Bare metal L40S GPU server count usage
          example: 3
          examples:
          - 3
          title: Baremetal Gpu L40S Count Usage
          type: integer
        baremetal_hf_count_limit:
          description: High-frequency bare metal servers count limit
          example: 5
          examples:
          - 5
          title: Baremetal Hf Count Limit
          type: integer
        baremetal_hf_count_requested:
          description: High-frequency bare metal servers count requested
          example: 10
          examples:
          - 10
          title: Baremetal Hf Count Requested
          type: integer
        baremetal_hf_count_usage:
          description: High-frequency bare metal servers count usage
          example: 3
          examples:
          - 3
          title: Baremetal Hf Count Usage
          type: integer
        cluster_count_limit:
          description: K8s clusters count limit
          example: 5
          examples:
          - 5
          title: Cluster Count Limit
          type: integer
        cluster_count_requested:
          description: K8s clusters count requested
          example: 6
          examples:
          - 6
          title: Cluster Count Requested
          type: integer
        cluster_count_usage:
          description: K8s clusters count usage
          example: 4
          examples:
          - 4
          title: Cluster Count Usage
          type: integer
        cpu_count_limit:
          description: vCPU Count limit
          example: 10
          examples:
          - 10
          title: Cpu Count Limit
          type: integer
        cpu_count_requested:
          description: vCPU Count requested
          example: 20
          examples:
          - 20
          title: Cpu Count Requested
          type: integer
        cpu_count_usage:
          description: vCPU Count usage
          example: 5
          examples:
          - 5
          title: Cpu Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 5
          examples:
          - 5
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 6
          examples:
          - 6
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 4
          examples:
          - 4
          title: External Ip Count Usage
          type: integer
        firewall_count_limit:
          description: Firewalls Count limit
          example: 5
          examples:
          - 5
          title: Firewall Count Limit
          type: integer
        firewall_count_requested:
          description: Firewalls Count requested
          example: 6
          examples:
          - 6
          title: Firewall Count Requested
          type: integer
        firewall_count_usage:
          description: Firewalls Count usage
          example: 4
          examples:
          - 4
          title: Firewall Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count limit
          example: 5
          examples:
          - 5
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 6
          examples:
          - 6
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: Floating IP Count usage
          example: 4
          examples:
          - 4
          title: Floating Count Usage
          type: integer
        gpu_count_limit:
          description: GPU Count limit
          example: 4
          examples:
          - 4
          title: Gpu Count Limit
          type: integer
        gpu_count_requested:
          description: GPU Count requested
          example: 8
          examples:
          - 8
          title: Gpu Count Requested
          type: integer
        gpu_count_usage:
          description: GPU Count usage
          example: 2
          examples:
          - 2
          title: Gpu Count Usage
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 4
          examples:
          - 4
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_a100_count_requested:
          description: Virtual A100 GPU card count requested
          example: 8
          examples:
          - 8
          title: Gpu Virtual A100 Count Requested
          type: integer
        gpu_virtual_a100_count_usage:
          description: Virtual A100 GPU card count usage
          example: 2
          examples:
          - 2
          title: Gpu Virtual A100 Count Usage
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 4
          examples:
          - 4
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h100_count_requested:
          description: Virtual H100 GPU card count requested
          example: 8
          examples:
          - 8
          title: Gpu Virtual H100 Count Requested
          type: integer
        gpu_virtual_h100_count_usage:
          description: Virtual H100 GPU card count usage
          example: 2
          examples:
          - 2
          title: Gpu Virtual H100 Count Usage
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 4
          examples:
          - 4
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_h200_count_requested:
          description: Virtual H200 GPU card count requested
          example: 8
          examples:
          - 8
          title: Gpu Virtual H200 Count Requested
          type: integer
        gpu_virtual_h200_count_usage:
          description: Virtual H200 GPU card count usage
          example: 2
          examples:
          - 2
          title: Gpu Virtual H200 Count Usage
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 4
          examples:
          - 4
          title: Gpu Virtual L40S Count Limit
          type: integer
        gpu_virtual_l40s_count_requested:
          description: Virtual L40S GPU card count requested
          example: 8
          examples:
          - 8
          title: Gpu Virtual L40S Count Requested
          type: integer
        gpu_virtual_l40s_count_usage:
          description: Virtual L40S GPU card count usage
          example: 2
          examples:
          - 2
          title: Gpu Virtual L40S Count Usage
          type: integer
        laas_topic_count_limit:
          description: LaaS Topics Count limit
          example: 5
          examples:
          - 5
          title: Laas Topic Count Limit
          type: integer
        laas_topic_count_requested:
          description: LaaS Topics Count requested
          example: 6
          examples:
          - 6
          title: Laas Topic Count Requested
          type: integer
        laas_topic_count_usage:
          description: LaaS Topics Count usage
          example: 4
          examples:
          - 4
          title: Laas Topic Count Usage
          type: integer
        loadbalancer_count_limit:
          description: Load Balancers Count limit
          example: 5
          examples:
          - 5
          title: Loadbalancer Count Limit
          type: integer
        loadbalancer_count_requested:
          description: Load Balancers Count requested
          example: 6
          examples:
          - 6
          title: Loadbalancer Count Requested
          type: integer
        loadbalancer_count_usage:
          description: Load Balancers Count usage
          example: 4
          examples:
          - 4
          title: Loadbalancer Count Usage
          type: integer
        ram_limit:
          description: RAM Size, MiB limit
          example: 20480
          examples:
          - 20480
          title: Ram Limit
          type: integer
        ram_requested:
          description: RAM Size, MiB requested
          example: 40960
          examples:
          - 40960
          title: Ram Requested
          type: integer
        ram_usage:
          description: RAM Size, MiB usage
          example: 10240
          examples:
          - 10240
          title: Ram Usage
          type: integer
        servergroup_count_limit:
          description: Placement Group Count limit
          example: 5
          examples:
          - 5
          title: Servergroup Count Limit
          type: integer
        servergroup_count_requested:
          description: Placement Group Count requested
          example: 10
          examples:
          - 10
          title: Servergroup Count Requested
          type: integer
        servergroup_count_usage:
          description: Placement Group Count usage
          example: 3
          examples:
          - 3
          title: Servergroup Count Usage
          type: integer
        vm_count_limit:
          description: VMs Count limit
          example: 5
          examples:
          - 5
          title: Vm Count Limit
          type: integer
        vm_count_requested:
          description: VMs Count requested
          example: 10
          examples:
          - 10
          title: Vm Count Requested
          type: integer
        vm_count_usage:
          description: VMs Count usage
          example: 3
          examples:
          - 3
          title: Vm Count Usage
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 5
          examples:
          - 5
          title: Volume Count Limit
          type: integer
        volume_count_requested:
          description: Volumes Count requested
          example: 10
          examples:
          - 10
          title: Volume Count Requested
          type: integer
        volume_count_usage:
          description: Volumes Count usage
          example: 3
          examples:
          - 3
          title: Volume Count Usage
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 400
          examples:
          - 400
          title: Volume Size Limit
          type: integer
        volume_size_requested:
          description: Volumes Size, GiB requested
          example: 800
          examples:
          - 800
          title: Volume Size Requested
          type: integer
        volume_size_usage:
          description: Volumes Size, GiB usage
          example: 200
          examples:
          - 200
          title: Volume Size Usage
          type: integer
      title: K8sClusterQuotaResponseSerializer
      type: object
    K8sClusterSlurmAddonDisableV2Serializer:
      properties:
        enabled:
          const: false
          description: The Slurm add-on will be disabled in the cluster.
          example: false
          examples:
          - false
          title: Enabled
          type: boolean
      required:
      - enabled
      title: K8sClusterSlurmAddonDisableV2Serializer
      type: object
    K8sClusterSlurmAddonEnableV2Serializer:
      properties:
        enabled:
          const: true
          description: |-
            The Slurm add-on will be enabled in the cluster.

              This add-on is only supported in clusters running Kubernetes v1.31 and v1.32 with at least 1 GPU cluster pool and VAST NFS support enabled.
          example: true
          examples:
          - true
          title: Enabled
          type: boolean
        file_share_id:
          description: |-
            ID of a VAST file share to be used as Slurm storage.

              The Slurm add-on will create separate Persistent Volume Claims for different purposes (controller spool, worker spool, jail) on that file share.

              The file share must have `root_squash` disabled, while `path_length` and `allowed_characters` settings must be set to `NPL`.
          example: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
          examples:
          - cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
          format: uuid4
          title: File Share Id
          type: string
        ssh_key_ids:
          description: IDs of SSH keys to authorize for SSH connection to Slurm login nodes.
          example: &id187
          - 25735292-bd97-44b0-a1af-d7eab876261d
          - efc01f3a-35b9-4385-89f9-e38439093ee7
          examples:
          - *id187
          items:
            format: uuid4
            type: string
          minItems: 1
          title: Ssh Key Ids
          type: array
        worker_count:
          description: |-
            Size of the worker pool, i.e. the number of Slurm worker nodes.

            Each Slurm worker node will be backed by a Pod scheduled on one of cluster's GPU nodes.

            Note: Downscaling (reducing worker count) is not supported.
          example: 2
          examples:
          - 2
          minimum: 1
          title: Worker Count
          type: integer
      required:
      - enabled
      - file_share_id
      - ssh_key_ids
      - worker_count
      title: K8sClusterSlurmAddonEnableV2Serializer
      type: object
    K8sClusterSlurmAddonV2Serializer:
      properties:
        enabled:
          description: |-
            Indicates whether Slurm add-on is deployed in the cluster.

            This add-on is only supported in clusters running Kubernetes v1.31 and v1.32 with at least 1 GPU cluster pool.
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        file_share_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: |-
            ID of a VAST file share used as Slurm storage.

            The Slurm add-on creates separate Persistent Volume Claims for different purposes (controller spool, worker spool, jail) on that file share.
          examples:
          - cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
          title: File Share Id
        ssh_key_ids:
          anyOf:
          - items:
              format: uuid4
              type: string
            type: array
          - type: 'null'
          description: IDs of SSH keys authorized for SSH connection to Slurm login nodes.
          examples:
          - - 25735292-bd97-44b0-a1af-d7eab876261d
            - efc01f3a-35b9-4385-89f9-e38439093ee7
          title: Ssh Key Ids
        worker_count:
          anyOf:
          - type: integer
          - type: 'null'
          description: |-
            Size of the worker pool, i.e. number of worker nodes.

            Each Slurm worker node is backed by a Pod scheduled on one of cluster's GPU nodes.

            Note: Downscaling (reducing worker count) is not supported.
          examples:
          - 2
          title: Worker Count
      required:
      - enabled
      - file_share_id
      - ssh_key_ids
      - worker_count
      title: K8sClusterSlurmAddonV2Serializer
      type: object
    K8sClusterSlurmAddonV2Serializers:
      discriminator:
        mapping:
          'false': '#/components/schemas/K8sClusterSlurmAddonDisableV2Serializer'
          'true': '#/components/schemas/K8sClusterSlurmAddonEnableV2Serializer'
        propertyName: enabled
      oneOf:
      - $ref: '#/components/schemas/K8sClusterSlurmAddonEnableV2Serializer'
      - $ref: '#/components/schemas/K8sClusterSlurmAddonDisableV2Serializer'
      title: K8sClusterSlurmAddonV2Serializers
    K8sClusterUpdateV2Serializer:
      properties:
        add_ons:
          $ref: '#/components/schemas/K8sClusterAddonsUpdateV2Serializer'
          description: Cluster add-ons configuration
          examples:
          - slurm:
              enabled: true
              file_share_id: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
              ssh_key_ids:
              - 25735292-bd97-44b0-a1af-d7eab876261d
              - efc01f3a-35b9-4385-89f9-e38439093ee7
              worker_count: 2
        authentication:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterAuthenticationCreateV2Serializer'
          - type: 'null'
          default: null
          description: Authentication settings
          examples:
          - oidc:
              client_id: kubernetes
              groups_claim: groups
              groups_prefix: 'oidc:'
              issuer_url: https://accounts.provider.example
              required_claims:
                claim: value
              signing_algs:
              - RS256
              - RS512
              username_claim: sub
              username_prefix: 'oidc:'
        autoscaler_config:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: |-
            Cluster autoscaler configuration.

              It allows you to override the default cluster-autoscaler parameters provided by the platform with your preferred values.

              Supported parameters (in alphabetical order):
              - balance-similar-node-groups (boolean: true/false) - Detect similar node groups and balance the number of nodes between them.
              - expander (string: random, most-pods, least-waste, price, priority, grpc) - Type of node group expander to be used in scale up. Specifying multiple values separated by commas will call the expanders in succession until there is only one option remaining.
              - expendable-pods-priority-cutoff (float) - Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
              - ignore-daemonsets-utilization (boolean: true/false) - Should CA ignore DaemonSet pods when calculating resource utilization for scaling down.
              - max-empty-bulk-delete (integer) - Maximum number of empty nodes that can be deleted at the same time.
              - max-graceful-termination-sec (integer) - Maximum number of seconds CA waits for pod termination when trying to scale down a node.
              - max-node-provision-time (duration: e.g., '15m') - The default maximum time CA waits for node to be provisioned - the value can be overridden per node group.
              - max-total-unready-percentage (float) - Maximum percentage of unready nodes in the cluster. After this is exceeded, CA halts operations.
              - new-pod-scale-up-delay (duration: e.g., '10s') - Pods less than this old will not be considered for scale-up. Can be increased for individual pods through annotation.
              - ok-total-unready-count (integer) - Number of allowed unready nodes, irrespective of max-total-unready-percentage.
              - scale-down-delay-after-add (duration: e.g., '10m') - How long after scale up that scale down evaluation resumes.
              - scale-down-delay-after-delete (duration: e.g., '10s') - How long after node deletion that scale down evaluation resumes.
              - scale-down-delay-after-failure (duration: e.g., '3m') - How long after scale down failure that scale down evaluation resumes.
              - scale-down-enabled (boolean: true/false) - Should CA scale down the cluster.
              - scale-down-unneeded-time (duration: e.g., '10m') - How long a node should be unneeded before it is eligible for scale down.
              - scale-down-unready-time (duration: e.g., '20m') - How long an unready node should be unneeded before it is eligible for scale down.
              - scale-down-utilization-threshold (float) - The maximum value between the sum of cpu requests and sum of memory requests of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down.
              - scan-interval (duration: e.g., '10s') - How often cluster is reevaluated for scale up or down.
              - skip-nodes-with-custom-controller-pods (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods owned by custom controllers.
              - skip-nodes-with-local-storage (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath.
              - skip-nodes-with-system-pods (boolean: true/false) - If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods).
          examples:
          - scale-down-unneeded-time: 5m
          title: Autoscaler Config
        cni:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCNICreateV2Serializer'
          - type: 'null'
          default: null
          description: Cluster CNI settings
          examples:
          - cilium:
              cni_exclusive: true
              encryption: true
              hubble_relay: true
              hubble_ui: true
              lb_acceleration: true
              lb_mode: snat
              tunnel: geneve
            provider: cilium
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterDdosProfileUpdateV2Serializer'
          - type: 'null'
          default: null
          description: Advanced DDoS Protection profile
          examples:
          - enabled: true
            fields:
            - base_field: 10
              field_value:
              - 45046
              - 45047
            profile_template: 29
          - enabled: false
        logging:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterLoggingUpdateV2Serializer'
          - type: 'null'
          default: null
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
          - enabled: false
          - null
      title: K8sClusterUpdateV2Serializer
      type: object
    K8sClusterUpgradeV2Serializer:
      properties:
        version:
          description: Target k8s cluster version
          example: v1.28.1
          examples:
          - v1.28.1
          title: Version
          type: string
      required:
      - version
      title: K8sClusterUpgradeV2Serializer
      type: object
    K8sClusterV2CollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/K8sClusterV2Serializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: K8sClusterV2CollectionSerializer
      type: object
    K8sClusterV2Serializer:
      properties:
        add_ons:
          $ref: '#/components/schemas/K8sClusterAddonsV2Serializer'
          description: Cluster add-ons configuration
          examples:
          - slurm:
              enabled: true
              file_share_id: cbc94d0e-06c6-4d12-9e86-9782ba14fc8c
              ssh_key_ids:
              - 25735292-bd97-44b0-a1af-d7eab876261d
              - efc01f3a-35b9-4385-89f9-e38439093ee7
              worker_count: 2
        authentication:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterAuthenticationV2Serializer'
          - type: 'null'
          default: null
          description: Cluster authentication settings
          examples:
          - kubeconfig_created_at: '2024-02-15T11:53:03Z'
            kubeconfig_expires_at: '2026-02-15T11:53:03Z'
            oidc:
              client_id: kubernetes
              groups_claim: groups
              groups_prefix: 'oidc:'
              issuer_url: https://accounts.provider.example
              required_claims:
                claim: value
              signing_algs:
              - RS256
              - RS512
              username_claim: sub
              username_prefix: 'oidc:'
        autoscaler_config:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: |-
            Cluster autoscaler configuration.

              It contains overrides to the default cluster-autoscaler parameters provided by the platform.
          examples:
          - scale-down-unneeded-time: 5m
          title: Autoscaler Config
        cni:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterCNIV2Serializer'
          - type: 'null'
          default: null
          description: Cluster CNI settings
        created_at:
          description: Function creation date
          example: '2023-02-15T11:53:03Z'
          examples:
          - '2023-02-15T11:53:03Z'
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Task that created this entity
          examples:
          - 1772de21-f013-4b70-9f8f-a518985b3bc2
          title: Creator Task Id
        csi:
          $ref: '#/components/schemas/K8sClusterCSIV2Serializer'
          description: Cluster CSI settings
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/K8sClusterDdosProfileV2Serializer'
          - type: 'null'
          default: null
          description: Advanced DDoS Protection profile
          examples:
          - enabled: true
            fields:
            - base_field: 10
              field_value:
              - 45046
              - 45047
            profile_template: 29
        fixed_network:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: Fixed network id
          examples:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: Fixed Network
        fixed_subnet:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          description: Fixed subnet id
          examples:
          - 90729bc3-dd37-4761-ae09-b32f2f0a365b
          title: Fixed Subnet
        id:
          description: Cluster pool uuid
          example: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          title: Id
          type: string
        is_ipv6:
          default: false
          description: Enable public v6 address
          example: true
          examples:
          - true
          - false
          title: Is Ipv6
          type: boolean
        is_public:
          description: Cluster is public
          example: false
          examples:
          - false
          title: Is Public
          type: boolean
        keypair:
          description: Keypair
          example: mykeypair
          examples:
          - mykeypair
          title: Keypair
          type: string
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingOutSerializer'
          - type: 'null'
          description: Logging configuration
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
        name:
          description: Name
          example: test k8s
          examples:
          - test k8s
          title: Name
          type: string
        pods_ip_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: 172.16.0.0/18
          description: The IP pool for the pods
          examples:
          - 172.16.0.0/18
          title: Pods Ip Pool
        pods_ipv6_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IPv6 pool for the pods
          examples:
          - 2a03:90c0:88:393::/64
          title: Pods Ipv6 Pool
        pools:
          description: pools
          items:
            $ref: '#/components/schemas/K8sClusterPoolV2Serializer'
          title: Pools
          type: array
        services_ip_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: 172.24.0.0/18
          description: The IP pool for the services
          examples:
          - 172.24.0.0/18
          title: Services Ip Pool
        services_ipv6_pool:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The IPv6 pool for the services
          examples:
          - 2a03:90c0:88:381::/108
          title: Services Ipv6 Pool
        status:
          $ref: '#/components/schemas/K8sClusterV2Status'
          description: Status
          examples:
          - Provisioned
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        version:
          description: K8s version
          example: v1.28.1
          examples:
          - v1.28.1
          title: Version
          type: string
      required:
      - add_ons
      - csi
      - created_at
      - id
      - is_public
      - keypair
      - logging
      - name
      - pools
      - status
      - version
      title: K8sClusterV2Serializer
      type: object
    K8sClusterV2Status:
      enum:
      - Deleting
      - Failed
      - Pending
      - Provisioned
      - Provisioning
      - Unknown
      title: K8sClusterV2Status
      type: string
    K8sClusterVersionV2CollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/K8sClusterVersionV2Serializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: K8sClusterVersionV2CollectionSerializer
      type: object
    K8sClusterVersionV2Serializer:
      properties:
        version:
          description: List of supported Kubernetes cluster versions
          example: v1.28.1
          examples:
          - v1.28.1
          title: Version
          type: string
      required:
      - version
      title: K8sClusterVersionV2Serializer
      type: object
    KeypairSerializer:
      additionalProperties: false
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Keypair creation datetime
          examples:
          - '2022-06-16T17:05:50'
          title: Created At
        fingerprint:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key fingerprint
          examples:
          - 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          title: Fingerprint
        private_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Private part of the key
          examples:
          - <private_key>
          title: Private Key
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Project ID
          examples:
          - 1
          title: Project Id
        public_key:
          description: Public part of the key. To generate public and private keys in the platform, do not specify the parameter in the request body.
          example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFHrnwGVBZs6q6vmTBzQFfzdRLQW8N6Rd0ogGe3h8tm83ZJLTTsF+1H4JcOvwI5ETkHMaFIWd2U15nHU5M7plE6UPRKfzy4rq6yI6cE4tojd3A9attMpbEEX7EbGKrbrb4AsjzxHKAVaREAb31ZplJkUlsiees25hTQXBcWQnOESlc9RCxZ/QQgNUUgqm7QGg7CNkL8Mpq9V4YaOhcFGWj0jXP1CL3g6Xe3xJo1CmUbkIOGUyAmrSfLEiy2O91iOUhbmYQyXksznNrT9O6uLkijf6syLZOdyAuUd/Z86eYXej4/YsvIA5eIFU4B6y9zOXEO2A81txPYMRAytYt7+e7 alice@alice
          examples:
          - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFHrnwGVBZs6q6vmTBzQFfzdRLQW8N6Rd0ogGe3h8tm83ZJLTTsF+1H4JcOvwI5ETkHMaFIWd2U15nHU5M7plE6UPRKfzy4rq6yI6cE4tojd3A9attMpbEEX7EbGKrbrb4AsjzxHKAVaREAb31ZplJkUlsiees25hTQXBcWQnOESlc9RCxZ/QQgNUUgqm7QGg7CNkL8Mpq9V4YaOhcFGWj0jXP1CL3g6Xe3xJo1CmUbkIOGUyAmrSfLEiy2O91iOUhbmYQyXksznNrT9O6uLkijf6syLZOdyAuUd/Z86eYXej4/YsvIA5eIFU4B6y9zOXEO2A81txPYMRAytYt7+e7 alice@alice
          title: Public Key
          type: string
        shared_in_project:
          description: Keypair is shared for all users in the project
          example: true
          examples:
          - true
          title: Shared In Project
          type: boolean
        sshkey_id:
          description: Key ID, equal to `sshkey_name`
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          title: Sshkey Id
          type: string
        sshkey_name:
          description: Keypair name
          example: alice
          examples:
          - alice
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Sshkey Name
          type: string
        state:
          $ref: '#/components/schemas/KeypairState'
          description: Keypair state
          examples:
          - ACTIVE
          - DELETING
      required:
      - sshkey_id
      - public_key
      - sshkey_name
      - state
      - shared_in_project
      title: Keypair response object
      type: object
    KeypairState:
      enum:
      - ACTIVE
      - DELETING
      title: KeypairState
      type: string
    KeystoneSerializerAi:
      properties:
        created_on:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: Datetime object. It automatically is being generated when it is created
          examples:
          - '2019-12-31 23:59:59'
          title: Created On
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: An automatically generated Region ID when it is created.
          examples:
          - 1
          title: Id
        keystone_federated_domain_id:
          description: ID of the federated identity domain. The system creates it during initialization
          example: 2b2798cc-eb87-475e-8eab-1e711e5dbe46
          examples:
          - 2b2798cc-eb87-475e-8eab-1e711e5dbe46
          title: Keystone Federated Domain Id
          type: string
        password:
          anyOf:
          - format: password
            type: string
            writeOnly: true
          - type: 'null'
          description: The value is '******' when a password exists, and 'null' when no password exists
          examples:
          - '******'
          title: Password
        state:
          $ref: '#/components/schemas/KeystoneState'
          description: Identity service state
          examples:
          - NEW
        url:
          description: Unique constraint. Identity service endpoint of the region
          example: https://identity.example.com:5000/v3
          examples:
          - https://identity.example.com:5000/v3
          title: Url
          type: string
        username:
          description: Username for admin access
          example: admin
          examples:
          - admin
          title: Username
          type: string
      required:
      - url
      - state
      - keystone_federated_domain_id
      - username
      - password
      title: Identity service object
      type: object
    KeystoneState:
      enum:
      - DELETED
      - INITIALIZATION_FAILED
      - INITIALIZED
      - NEW
      title: KeystoneState
      type: string
    L7PolicyCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/L7PolicySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: L7PolicyCollectionSerializer
      type: object
    L7PolicySerializer:
      properties:
        action:
          $ref: '#/components/schemas/PolicyActionEnum'
          description: Action
          examples:
          - REDIRECT_TO_URL
        id:
          description: ID
          example: 9b4b9a23-ccac-4945-bcdd-b0e793c12cd9
          examples:
          - 9b4b9a23-ccac-4945-bcdd-b0e793c12cd9
          title: Id
          type: string
        listener_id:
          description: Listener ID
          example: 023f2e34-7806-443b-bfae-16c324569a3d
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Listener Id
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: L7 policy operating status
          examples:
          - ONLINE
        position:
          description: The position of this policy on the listener. Positions start at 1.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          examples:
          - ACTIVE
        redirect_http_code:
          anyOf:
          - type: integer
          - type: 'null'
          description: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or `REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
          examples:
          - 301
          - 302
          - 303
          - 307
          - 308
          title: Redirect Http Code
        redirect_pool_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Requests matching this policy will be redirected to the pool with this ID. Only valid if action is `REDIRECT_TO_POOL`.
          examples:
          - 00000000-0000-4000-8000-000000000000
          title: Redirect Pool Id
        redirect_prefix:
          anyOf:
          - type: string
          - type: 'null'
          description: Requests matching this policy will be redirected to this Prefix URL. Only valid if action is `REDIRECT_PREFIX`.
          title: Redirect Prefix
        redirect_url:
          anyOf:
          - type: string
          - type: 'null'
          description: Requests matching this policy will be redirected to this URL. Only valid if action is `REDIRECT_TO_URL`.
          title: Redirect Url
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        rules:
          description: Rules. All the rules associated with a given policy are logically ANDed together. A request must match all the policy's rules to match the policy.If you need to express a logical OR operation between rules, then do this by creating multiple policies with the same action.
          items:
            $ref: '#/components/schemas/L7RuleInlineSerializer'
          title: Rules
          type: array
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id188
          - test_tag
          examples:
          - *id188
          items:
            type: string
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - 023f2e34-7806-443b-bfae-16c324569a3d
          title: Task Id
      required:
      - project_id
      - region_id
      - region
      - action
      - id
      - listener_id
      - name
      - operating_status
      - position
      - provisioning_status
      - redirect_http_code
      - redirect_pool_id
      - redirect_prefix
      - redirect_url
      - rules
      - tags
      - task_id
      title: L7PolicySerializer
      type: object
    L7RuleCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/L7RuleSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: L7RuleCollectionSerializer
      type: object
    L7RuleInlineSerializer:
      properties:
        id:
          description: L7Rule ID
          example: 0ca7bebd-7a54-4977-bca7-e4ac1e612ec7
          examples:
          - 0ca7bebd-7a54-4977-bca7-e4ac1e612ec7
          title: Id
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
      required:
      - project_id
      - region_id
      - region
      - id
      title: L7RuleInlineSerializer
      type: object
    L7RuleSerializer:
      properties:
        compare_type:
          $ref: '#/components/schemas/CompareTypeEnum'
          description: The comparison type for the L7 rule
          examples:
          - STARTS_WITH
        id:
          description: L7Rule ID
          example: 0ca7bebd-7a54-4977-bca7-e4ac1e612ec7
          examples:
          - 0ca7bebd-7a54-4977-bca7-e4ac1e612ec7
          title: Id
          type: string
        invert:
          description: When true the logic of the rule is inverted. For example, with invert true, 'equal to' would become 'not equal to'. Default is false.
          example: true
          examples:
          - true
          - false
          title: Invert
          type: boolean
        key:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: The key to use for the comparison. For example, the name of the cookie to evaluate.
          examples:
          - key
          title: Key
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: L7 policy operating status
          examples:
          - ONLINE
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          examples:
          - ACTIVE
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        tags:
          description: A list of simple strings assigned to the l7 rule
          example: &id189
          - test_tag
          examples:
          - *id189
          items:
            type: string
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          title: Task Id
        type:
          $ref: '#/components/schemas/L7RuleTypeEnum'
          description: The L7 rule type
          examples:
          - PATH
        value:
          description: The value to use for the comparison. For example, the file type to compare.
          example: /images*
          examples:
          - /images*
          title: Value
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - compare_type
      - invert
      - key
      - operating_status
      - provisioning_status
      - tags
      - task_id
      - type
      - value
      title: L7RuleSerializer
      type: object
    L7RuleTypeEnum:
      enum:
      - COOKIE
      - FILE_TYPE
      - HEADER
      - HOST_NAME
      - PATH
      - SSL_CONN_HAS_CERT
      - SSL_DN_FIELD
      - SSL_VERIFY_RESULT
      title: L7RuleTypeEnum
      type: string
    LaasHostsSerializer:
      additionalProperties: true
      properties:
        exporter:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: LaaS exporter hosts
          examples:
          - - exporter.example.com
          title: Exporter
        kafka:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Kafka broker hosts
          examples:
          - - kafka.example.com
          title: Kafka
        opensearch:
          anyOf:
          - $ref: '#/components/schemas/LaasOpensearchHosts'
          - type: 'null'
          description: OpenSearch endpoints
      required:
      - opensearch
      - kafka
      - exporter
      title: LaasHostsSerializer
      type: object
    LaasIndexRetentionPolicyPydanticSerializer:
      properties:
        period:
          anyOf:
          - exclusiveMinimum: 0
            maximum: 1825
            type: integer
          - type: 'null'
          description: Duration of days for which logs must be kept.
          examples:
          - 45
          title: Period
      required:
      - period
      title: LaasIndexRetentionPolicyPydanticSerializer
      type: object
    LaasKafkaTopicCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LaasKafkaTopicSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LaasKafkaTopicCollectionSerializer
      type: object
    LaasKafkaTopicSerializer:
      properties:
        index_pattern:
          anyOf:
          - $ref: '#/components/schemas/IndexPatternSerializer'
          - type: 'null'
          description: Index Pattern data
          examples:
          - id: exampletopicindexpatternid
        name:
          description: Kafka topic name to be used in log shipper config to write logs to LaaS
          example: my-topic
          examples:
          - my-topic
          title: Name
          type: string
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          examples:
          - period: 45
        size_in_bytes:
          description: Size of the topic in bytes
          minimum: 0
          title: Size In Bytes
          type: integer
      required:
      - name
      - size_in_bytes
      - retention_policy
      - index_pattern
      title: LaasKafkaTopicSerializer
      type: object
    LaasOpensearchHosts:
      additionalProperties: true
      properties:
        api:
          anyOf:
          - type: string
          - type: 'null'
          description: OpenSearch API endpoint
          examples:
          - https://logging-dev.example.com:443
          title: Api
        dashboards:
          anyOf:
          - type: string
          - type: 'null'
          description: OpenSearch Dashboards endpoint
          examples:
          - https://logging-dev-ui.example.com
          title: Dashboards
      required:
      - api
      - dashboards
      title: LaasOpensearchHosts
      type: object
    LaasStatusSerializer:
      properties:
        is_initialized:
          description: Boolean showing whether client is initialized with LaaS
          example: true
          examples:
          - true
          title: Is Initialized
          type: boolean
        namespace:
          anyOf:
          - type: string
          - type: 'null'
          description: Client namespace
          examples:
          - null
          - 2ehwccnfzytsnt576dkmvs
          title: Namespace
      required:
      - namespace
      - is_initialized
      title: LaasStatusSerializer
      type: object
    LaasUserSerializer:
      properties:
        password:
          description: Password to be used in log shipper config to write logs to LaaS
          example: LnHyPmVor6dAufMtR8GC5WNcNg5NjjAIksjIlFNbaEQ
          examples:
          - LnHyPmVor6dAufMtR8GC5WNcNg5NjjAIksjIlFNbaEQ
          title: Password
          type: string
        username:
          description: Username to be used in log shipper config to write logs to LaaS
          example: 2ehwccnfzytsnt576dkmvs
          examples:
          - 2ehwccnfzytsnt576dkmvs
          title: Username
          type: string
      required:
      - username
      - password
      title: LaasUserSerializer
      type: object
    LbAlgorithmEnum:
      enum:
      - LEAST_CONNECTIONS
      - ROUND_ROBIN
      - SOURCE_IP
      title: LbAlgorithmEnum
      type: string
    LbFlavorCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            anyOf:
            - $ref: '#/components/schemas/LbFlavorSerializer'
            - $ref: '#/components/schemas/LbFlavorPricingSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LbFlavorCollectionSerializer
      type: object
    LbFlavorPricingSerializer:
      properties:
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Currency code. Shown if the `include_prices` query parameter if set to true
          examples:
          - USD
          title: Currency Code
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        price_per_hour:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per hour. Shown if the `include_prices` query parameter if set to true
          examples:
          - 1
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: integer
          - type: 'null'
          default: null
          description: Price per month. Shown if the `include_prices` query parameter if set to true
          examples:
          - 720
          title: Price Per Month
        price_status:
          anyOf:
          - $ref: '#/components/schemas/PriceDisplayStatus'
          - type: 'null'
          default: null
          description: Price status for the UI
          examples:
          - show
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      title: Optional price schema
      type: object
    LbFlavorSerializer:
      properties:
        flavor_id:
          description: Flavor ID is the same as name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Id
          type: string
        flavor_name:
          description: Flavor name
          example: g2-standard-32-64
          examples:
          - g2-standard-32-64
          title: Flavor Name
          type: string
        ram:
          description: RAM size in MiB
          example: 2048
          examples:
          - 2048
          title: Ram
          type: integer
        vcpus:
          description: Virtual CPU count. For bare metal flavors, it's a physical CPU count
          example: 1
          examples:
          - 1
          title: Vcpus
          type: integer
      required:
      - flavor_id
      - flavor_name
      - vcpus
      - ram
      title: LbFlavorSerializer
      type: object
    LbHealthMonitorSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: false
          examples:
          - false
          title: Admin State Up
          type: boolean
        delay:
          description: The time, in seconds, between sending probes to members
          example: 10
          examples:
          - 10
          maximum: 2147483647
          minimum: 1
          title: Delay
          type: integer
        domain_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - example.com
          title: Domain Name
        expected_codes:
          anyOf:
          - type: string
          - type: 'null'
          description: Expected HTTP response codes. Can be a single code, a comma-separated list of codes, or a single range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200, 200,202,401,403,404, or 200-204. If not specified, the default is 200. Null for non-HTTP(S) health monitor types.
          examples:
          - 200,301,302
          title: Expected Codes
        http_method:
          anyOf:
          - $ref: '#/components/schemas/HttpMethodEnum'
          - type: 'null'
          description: HTTP method. Null for non-HTTP(S) health monitor types.
          examples:
          - GET
        http_version:
          anyOf:
          - enum:
            - '1.0'
            - '1.1'
            type: string
          - type: 'null'
          description: HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - '1.1'
          - '1.0'
          title: Http Version
        id:
          description: Health monitor ID
          example: 2eb5823b-9cdc-45cd-97c0-c95cc2278422
          examples:
          - 2eb5823b-9cdc-45cd-97c0-c95cc2278422
          format: uuid4
          title: Id
          type: string
        max_retries:
          description: Number of successes before the member is switched to ONLINE state
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries
          type: integer
        max_retries_down:
          description: Number of failures before the member is switched to ERROR state
          example: 3
          examples:
          - 3
          maximum: 10
          minimum: 1
          title: Max Retries Down
          type: integer
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Health Monitor operating status
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Health monitor lifecycle status
          examples:
          - ACTIVE
        timeout:
          description: The maximum time to connect. Must be less than the delay value
          example: 5
          examples:
          - 5
          maximum: 2147483
          minimum: 0
          title: Timeout
          type: integer
        type:
          $ref: '#/components/schemas/HealthMonitorTypeEnum'
          description: Health monitor type. Once health monitor is created, cannot be changed.
          examples:
          - HTTP
        url_path:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: URL Path. Defaults to '/'. Null for non-HTTP(S) health monitor types.
          examples:
          - /
          title: Url Path
      required:
      - delay
      - max_retries
      - timeout
      - id
      - type
      - max_retries_down
      - http_method
      - url_path
      - expected_codes
      - operating_status
      - provisioning_status
      - admin_state_up
      - http_version
      - domain_name
      title: LbHealthMonitorSerializer
      type: object
    LbListenerCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LbListenerSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LbListenerCollectionSerializer
      type: object
    LbListenerProtocolEnum:
      enum:
      - HTTP
      - HTTPS
      - PROMETHEUS
      - TCP
      - TERMINATED_HTTPS
      - UDP
      title: LbListenerProtocolEnum
      type: string
    LbListenerSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        allowed_cidrs:
          anyOf:
          - items:
              format: ipvanynetwork
              type: string
            type: array
          - type: 'null'
          description: Network CIDRs from which service will be accessible
          examples:
          - - 10.0.0.0/8
          title: Allowed Cidrs
        connection_limit:
          description: Limit of simultaneous connections
          maximum: 1000000
          minimum: -1
          title: Connection Limit
          type: integer
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - de105b9c-c095-4f1c-9b76-aaa9bc60e32a
          title: Creator Task Id
        id:
          description: Load balancer listener ID
          example: 43658ea9-54bd-4807-90b1-925921c9a0d1
          examples:
          - 43658ea9-54bd-4807-90b1-925921c9a0d1
          format: uuid4
          title: Id
          type: string
        insert_headers:
          additionalProperties: true
          description: Dictionary of additional header insertion into HTTP headers. Only used with HTTP and `TERMINATED_HTTPS` protocols.
          title: Insert Headers
          type: object
        load_balancer_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Load balancer ID
          examples:
          - 67149a91-739b-42bf-bbd1-cb64f723dad7
          title: Load Balancer Id
        name:
          description: Load balancer listener name
          example: my_listener
          examples:
          - my_listener
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Listener operating status
        pool_count:
          description: Number of pools (for UI)
          example: 1
          examples:
          - 1
          title: Pool Count
          type: integer
        protocol:
          $ref: '#/components/schemas/LbListenerProtocolEnum'
          description: Load balancer protocol
          examples:
          - TCP
        protocol_port:
          description: Protocol port
          example: 80
          examples:
          - 80
          maximum: 65535
          minimum: 1
          title: Protocol Port
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Listener lifecycle status
        secret_id:
          anyOf:
          - type: string
          - type: 'null'
          description: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS load balancer
          examples:
          - e36200c7-114b-44e6-ba1a-043b2bd53879
          title: Secret Id
        sni_secret_id:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: List of secret's ID containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners
          examples:
          - - e36200c7-114b-44e6-ba1a-043b2bd53879
            - c5d156ce-0925-4aef-b458-cce46bd346f0
          title: Sni Secret Id
        stats:
          anyOf:
          - $ref: '#/components/schemas/LoadbalancerStatsSerializer'
          - type: 'null'
          description: Statistics of the load balancer. It is available only in get functions by a flag.
          examples:
          - active_connections: 0
            bytes_in: 34942398609
            bytes_out: 304777113641
            request_errors: 4
            total_connections: 21095970
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          title: Task Id
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member connection timeout in milliseconds
          examples:
          - 5000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Data
        user_list:
          description: Load balancer listener users list
          example: &id190
          - encrypted_password: $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
            username: admin
          examples:
          - *id190
          items:
            $ref: '#/components/schemas/UserListItem'
          title: User List
          type: array
      required:
      - id
      - name
      - protocol
      - protocol_port
      - load_balancer_id
      - insert_headers
      - pool_count
      - operating_status
      - provisioning_status
      - creator_task_id
      - task_id
      - secret_id
      - sni_secret_id
      - allowed_cidrs
      - timeout_client_data
      - timeout_member_connect
      - timeout_member_data
      - connection_limit
      - user_list
      - stats
      - admin_state_up
      title: LbListenerSerializer
      type: object
    LbPoolCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LbPoolSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LbPoolCollectionSerializer
      type: object
    LbPoolInstanceSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        ca_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA certificate bundle
          title: Ca Secret Id
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - d8334c12-2881-4c4a-84ad-1b21fea73ad1
          title: Creator Task Id
        crl_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA revocation list file
          title: Crl Secret Id
        healthmonitor:
          anyOf:
          - $ref: '#/components/schemas/LbHealthMonitorSerializer'
          - type: 'null'
          description: Health monitor parameters
          examples:
          - admin_state_up: true
            delay: 10
            domain_name: example.com
            http_method: GET
            http_version: '1.1'
            max_retries: 3
            max_retries_down: 3
            timeout: 5
            type: HTTP
            url_path: /
        id:
          description: Pool ID
          example: 9fccf0a3-c0de-441d-9afd-2b9b58b08b9f
          examples:
          - 9fccf0a3-c0de-441d-9afd-2b9b58b08b9f
          format: uuid4
          title: Id
          type: string
        lb_algorithm:
          $ref: '#/components/schemas/LbAlgorithmEnum'
          description: Load balancer algorithm
          examples:
          - ROUND_ROBIN
        listeners:
          description: Listeners IDs
          example: &id191
          - id: c63341da-ea44-4027-bbf6-1f1939c783da
          examples:
          - *id191
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Listeners
          type: array
        loadbalancers:
          description: Load balancers IDs
          example: &id192
          - id: 79943b39-5e67-47e1-8878-85044b39667a
          examples:
          - *id192
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Loadbalancers
          type: array
        members:
          deprecated: true
          description: Pool members. Deprecated. Use `GET /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members` instead.
          items:
            $ref: '#/components/schemas/DetailedLbPoolMemberSerializer'
          title: Members
          type: array
        name:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Pool operating status
          examples:
          - ONLINE
        protocol:
          $ref: '#/components/schemas/LbPoolProtocolEnum'
          description: Protocol
          examples:
          - TCP
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Pool lifecycle status
          examples:
          - ACTIVE
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID for TLS client authentication to the member servers
          title: Secret Id
        session_persistence:
          anyOf:
          - $ref: '#/components/schemas/LbSessionPersistence'
          - type: 'null'
          description: Session persistence parameters
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member connection timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member inactivity timeout in milliseconds
          examples:
          - null
          title: Timeout Member Data
      required:
      - id
      - name
      - lb_algorithm
      - protocol
      - loadbalancers
      - listeners
      - members
      - session_persistence
      - operating_status
      - provisioning_status
      - creator_task_id
      - task_id
      - timeout_client_data
      - timeout_member_connect
      - timeout_member_data
      - secret_id
      - crl_secret_id
      - ca_secret_id
      - healthmonitor
      - admin_state_up
      title: LbPoolInstanceSerializer
      type: object
    LbPoolMemberCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/DetailedLbPoolMemberSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LbPoolMemberCollectionSerializer
      type: object
    LbPoolMemberSerializer:
      properties:
        id:
          description: Member ID must be provided if an existing member is being updated
          example: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
          examples:
          - a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
          format: uuid4
          title: Id
          type: string
      required:
      - id
      title: LbPoolMemberSerializer
      type: object
    LbPoolMembersListOrderByChoices:
      enum:
      - address.asc
      - address.desc
      - created_at.asc
      - created_at.desc
      title: LbPoolMembersListOrderByChoices
      type: string
    LbPoolProtocolEnum:
      enum:
      - HTTP
      - HTTPS
      - PROXY
      - PROXYV2
      - TCP
      - UDP
      title: LbPoolProtocolEnum
      type: string
    LbPoolSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        ca_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA certificate bundle
          title: Ca Secret Id
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - d8334c12-2881-4c4a-84ad-1b21fea73ad1
          title: Creator Task Id
        crl_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA revocation list file
          title: Crl Secret Id
        healthmonitor:
          anyOf:
          - $ref: '#/components/schemas/LbHealthMonitorSerializer'
          - type: 'null'
          description: Health monitor parameters
          examples:
          - admin_state_up: true
            delay: 10
            domain_name: example.com
            http_method: GET
            http_version: '1.1'
            max_retries: 3
            max_retries_down: 3
            timeout: 5
            type: HTTP
            url_path: /
        id:
          description: Pool ID
          example: 9fccf0a3-c0de-441d-9afd-2b9b58b08b9f
          examples:
          - 9fccf0a3-c0de-441d-9afd-2b9b58b08b9f
          format: uuid4
          title: Id
          type: string
        lb_algorithm:
          $ref: '#/components/schemas/LbAlgorithmEnum'
          description: Load balancer algorithm
          examples:
          - ROUND_ROBIN
        listeners:
          description: Listeners IDs
          example: &id193
          - id: c63341da-ea44-4027-bbf6-1f1939c783da
          examples:
          - *id193
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Listeners
          type: array
        loadbalancers:
          description: Load balancers IDs
          example: &id194
          - id: 79943b39-5e67-47e1-8878-85044b39667a
          examples:
          - *id194
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Loadbalancers
          type: array
        members:
          deprecated: true
          description: Pool members. Deprecated. Use `GET /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members` instead.
          items:
            anyOf:
            - $ref: '#/components/schemas/LbPoolMemberSerializer'
            - $ref: '#/components/schemas/DetailedLbPoolMemberSerializer'
          title: Members
          type: array
        name:
          description: Pool name
          example: my-pool
          examples:
          - my-pool
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Pool operating status
          examples:
          - ONLINE
        protocol:
          $ref: '#/components/schemas/LbPoolProtocolEnum'
          description: Protocol
          examples:
          - TCP
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Pool lifecycle status
          examples:
          - ACTIVE
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID for TLS client authentication to the member servers
          title: Secret Id
        session_persistence:
          anyOf:
          - $ref: '#/components/schemas/LbSessionPersistence'
          - type: 'null'
          description: Session persistence parameters
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member connection timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member inactivity timeout in milliseconds
          examples:
          - null
          title: Timeout Member Data
      required:
      - id
      - name
      - lb_algorithm
      - protocol
      - loadbalancers
      - listeners
      - members
      - session_persistence
      - operating_status
      - provisioning_status
      - creator_task_id
      - task_id
      - timeout_client_data
      - timeout_member_connect
      - timeout_member_data
      - secret_id
      - crl_secret_id
      - ca_secret_id
      - healthmonitor
      - admin_state_up
      title: LbPoolSerializer
      type: object
    LbSessionPersistence:
      properties:
        cookie_name:
          anyOf:
          - pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
            type: string
          - type: 'null'
          description: Should be set if app cookie or http cookie is used. Null otherwise.
          examples:
          - cookie_name
          title: Cookie Name
        persistence_granularity:
          anyOf:
          - type: string
          - type: 'null'
          description: Subnet mask if `source_ip` is used. For UDP ports only, null otherwise.
          title: Persistence Granularity
        persistence_timeout:
          anyOf:
          - type: integer
          - type: 'null'
          description: Session persistence timeout. For UDP ports only, null otherwise.
          title: Persistence Timeout
        type:
          $ref: '#/components/schemas/SessionPersistenceTypeEnum'
          description: Session persistence type
          examples:
          - APP_COOKIE
      required:
      - type
      - cookie_name
      - persistence_timeout
      - persistence_granularity
      title: LbSessionPersistence
      type: object
    LegacyCreateTagsSerializer:
      additionalProperties:
        maxLength: 1024
        type: string
      description: |-
        A tag is a key-value pair that can be associated with a resource,
        enabling efficient filtering and grouping for better organization and management.
        Some tags are read-only and cannot be modified by the user.
        Legacy variant of CreateTagsSerializer: keys allow up to 255 characters and values up to
        1024 characters, with no character restrictions, matching the pre-migration validation rules
        for the deprecated v1 instance metadata endpoints.
      example: &id195
        my-tag: my-tag-value
      examples:
      - *id195
      propertyNames:
        maxLength: 255
      title: LegacyCreateTagsSerializer
      type: object
    LegacyGPUClusterPricingPreviewRequestSerializer:
      description: Pricing schema for AI cluster creation with detailed prices per category
      example: &id196
        flavor: bm1-ai-small-v1pod-4
        instances_count: 1
        interfaces:
        - floating_ip:
            source: new
          network_id: ddc28e44-2acb-499b-985b-831f29432e1c
          subnet_id: 2731a56e-a5c9-44be-80c2-02c57c594573
          type: subnet
        name: poplar-ubuntu
        volumes:
        - size: 10
          source: image
          type_name: ssd_hiiops
        - size: 5
          source: new-volume
          type_name: standard
        - snapshot_id: 7cca40d7-a843-4e9f-ae08-62b9a394b1ab
          source: snapshot
      examples:
      - *id196
      properties:
        flavor:
          description: AI cluster flavor
          title: Flavor
          type: string
        instances_count:
          default: 1
          description: A multiplier that would be used to calculate the price, multiplying the flavor, IP, and volume prices by this number
          title: Instances Count
          type: integer
        interfaces:
          description: Subnet IPs and floating IPs
          items:
            $ref: '#/components/schemas/NewVmInterfaceSerializersPydantic'
          title: Interfaces
          type: array
        name:
          description: AI cluster name
          title: Name
          type: string
        volumes:
          description: Volumes attached to the AI cluster
          items:
            $ref: '#/components/schemas/InstanceVolumePricingRequestSerializer'
          title: Volumes
          type: array
      required:
      - name
      - flavor
      - interfaces
      title: LegacyGPUClusterPricingPreviewRequestSerializer
      type: object
    LifeCyclePolicyV2ResponseSerializer:
      description: Billing response preview schema for server instance.
      example: &id197
        currency_code: USD
        discount: 0
        per_hour:
          volumes:
          - discount: 0.1
            price: 78
            type: cold
          - discount: 0
            price: 78
            type: ssd_hiiops
          - discount: 0.1
            price: 78
            type: standard
        per_month:
          volumes:
          - discount: 0.1
            price: 178
            type: cold
          - discount: 0
            price: 178
            type: ssd_hiiops
          - discount: 0.1
            price: 178
            type: standard
        price_status: show
        price_without_discount_per_month: 734.4
        tax_percent: 17
        total_price_per_hour: 1.02
        total_price_per_month: 734.4
      examples:
      - *id197
      properties:
        currency_code:
          description: Currency code (3-letter code per ISO 4217).
          enum:
          - AZN
          - EUR
          - USD
          example: USD
          examples:
          - USD
          - EUR
          - AZN
          title: Currency Code
          type: string
        discount:
          anyOf:
          - type: number
          - type: 'null'
          description: Discount value within range [0..1] where 1 is 100%.
          examples:
          - 0.1
          - 0.02
          - 0.99
          title: Discount
        per_hour:
          $ref: '#/components/schemas/VolumePricingWithDiscountPerPeriodSerializer'
          description: Prices per category charged per hour.
          examples:
          - volumes:
            - discount: 0.1
              price: 78
              type: cold
            - discount: 0
              price: 78
              type: ssd_hiiops
            - discount: 0.1
              price: 78
              type: standard
        per_month:
          $ref: '#/components/schemas/VolumePricingWithDiscountPerPeriodSerializer'
          description: Prices per category charged per month.
          examples:
          - volumes:
            - discount: 0.1
              price: 178
              type: cold
            - discount: 0
              price: 178
              type: ssd_hiiops
            - discount: 0.1
              price: 178
              type: standard
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI.
          examples:
          - show
          - hide
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount.
          examples:
          - 800
          - 1000.5
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: 0
          examples:
          - 0
          - 17
          - 12
          title: Tax Percent
          type: number
        total_price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour.
          examples:
          - 1.02
          - 2.5
          title: Total Price Per Hour
        total_price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month.
          examples:
          - 734.4
          - 1200
          title: Total Price Per Month
      required:
      - currency_code
      - discount
      - per_hour
      - per_month
      - price_status
      - price_without_discount_per_month
      - total_price_per_hour
      - total_price_per_month
      - tax_percent
      title: LifeCyclePolicyV2ResponseSerializer
      type: object
    LifecyclePolicyActionEnum:
      enum:
      - volume_snapshot
      title: LifecyclePolicyActionEnum
      type: string
    LifecyclePolicyCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LifecyclePolicySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LifecyclePolicyCollectionSerializer
      type: object
    LifecyclePolicySerializer:
      properties:
        action:
          description: Action associated with the lifecycle policy.
          example: volume_snapshot
          examples:
          - volume_snapshot
          title: Action
          type: string
        id:
          description: Unique identifier for the policy.
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: Name of the policy.
          example: schedule_1
          examples:
          - schedule_1
          title: Name
          type: string
        project_id:
          description: Project ID associated with the policy.
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        region_id:
          description: Region ID where the policy is applied.
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        schedules:
          description: List of schedules within the policy.
          example: &id198
          - day_of_week: '*'
            hour: 0, 10, 20
            id: 1488e2ce-f906-47fb-ba32-c25a3f63df4f
            max_quantity: 2
            minute: '30'
            owner: lifecycle_policy
            owner_id: 1
            resource_name_template: reserve snap of the volume {volume_id}
            type: cron
            user_id: 12
          examples:
          - *id198
          items:
            $ref: '#/components/schemas/ScheduleSerializer'
          title: Schedules
          type: array
        status:
          $ref: '#/components/schemas/LifecyclePolicyStatusesEnum'
          description: Status of the lifecycle policy.
          examples:
          - active
        user_id:
          description: User ID of the creator of the policy.
          example: 11
          examples:
          - 11
          title: User Id
          type: integer
        volumes:
          description: Data of volumes that should be reserved. Displayed only when the query parameter is specified.
          example: &id199
          - volume_id: 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
            volume_name: test schedule
          examples:
          - *id199
          items:
            $ref: '#/components/schemas/VolumeDataForLifecyclePolicySerializer'
          title: Volumes
          type: array
      required:
      - action
      - id
      - name
      - project_id
      - region_id
      - schedules
      - status
      - user_id
      - volumes
      title: LifecyclePolicySerializer
      type: object
    LifecyclePolicyStatusesEnum:
      enum:
      - active
      - paused
      title: LifecyclePolicyStatusesEnum
      type: string
    LifecyclePolicyUsageSerializer:
      properties:
        max_cost:
          $ref: '#/components/schemas/ItemPriceResponseSerializer'
          description: Total billed cost of all snapshots that can be created by the schedule. Cost of `max_volume_snapshot_count_usage` snapshots.
          examples:
          - currency_code: USD
            price_per_hour: 0.01
            price_per_month: 7.2
            price_status: show
        max_volume_snapshot_count_usage:
          description: Count of snapshots that can be created if the schedule creates the maximum possible number of snapshots.
          example: 2
          examples:
          - 2
          title: Max Volume Snapshot Count Usage
          type: integer
        max_volume_snapshot_sequence_length:
          description: Maximum volume snapshot sequence length.
          example: 2
          examples:
          - 2
          title: Max Volume Snapshot Sequence Length
          type: integer
        max_volume_snapshot_size_usage:
          description: The amount of memory in GiB that snapshots will take up if the schedule creates the maximum possible number of them.
          example: 20
          examples:
          - 20
          title: Max Volume Snapshot Size Usage
          type: integer
      required:
      - max_cost
      - max_volume_snapshot_count_usage
      - max_volume_snapshot_sequence_length
      - max_volume_snapshot_size_usage
      title: LifecyclePolicyUsageSerializer
      type: object
    LimitsRequestCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LimitsRequestSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LimitsRequestCollectionSerializer
      type: object
    LimitsRequestCreateSerializer:
      properties:
        description:
          description: Describe the reason, in general terms.
          example: Scale up mysql cluster
          examples:
          - Scale up mysql cluster
          maxLength: 1000
          title: Description
          type: string
        requested_limits:
          $ref: '#/components/schemas/ClientMixedQuotasLimitsSerializer'
          description: Limits you want to increase.
      required:
      - description
      - requested_limits
      title: Request to create LimitsRequest.
      type: object
    LimitsRequestSerializer:
      properties:
        client_id:
          description: Client ID
          example: 1
          examples:
          - 1
          title: Client Id
          type: integer
        created_at:
          description: Datetime when the request was created.
          example: '2019-07-26T13:25:03'
          examples:
          - '2019-07-26T13:25:03'
          format: date-time
          title: Created At
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Describe the reason, in general terms.
          examples:
          - Scale up mysql cluster
          title: Description
        id:
          description: Request ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        requested_limits:
          $ref: '#/components/schemas/AllClientQuotasLimitsSerializer'
          description: Requested limits.
        status:
          description: Request status
          example: in progress
          examples:
          - in progress
          title: Status
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime when the request was updated.
          examples:
          - '2019-07-26T13:25:03'
          title: Updated At
      required:
      - id
      - client_id
      - requested_limits
      - status
      title: LimitsRequest object
      type: object
    LimitsRequestStatus:
      enum:
      - done
      - in progress
      - rejected
      title: LimitsRequestStatus
      type: string
    ListGpuBaremetalFlavorSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GpuBaremetalFlavorSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListGpuBaremetalFlavorSerializer
      type: object
    ListGpuImageSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GpuImageSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListGpuImageSerializer
      type: object
    ListGpuVirtualFlavorSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/GpuVirtualFlavorSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListGpuVirtualFlavorSerializer
      type: object
    ListKeypairSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/KeypairSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListKeypairSerializer
      type: object
    ListProjectsSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ProjectSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListProjectsSerializer
      type: object
    ListenerSerializer:
      properties:
        id:
          description: Listener ID
          example: 43658ea9-54bd-4807-90b1-925921c9a0d1
          examples:
          - 43658ea9-54bd-4807-90b1-925921c9a0d1
          format: uuid4
          title: Id
          type: string
      required:
      - id
      title: ListenerSerializer
      type: object
    ListenerStatusSerializer:
      properties:
        id:
          description: UUID of the entity
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid
          title: Id
          type: string
        name:
          description: Name of the load balancer listener
          example: My Load Balancer Listener
          examples:
          - My Load Balancer Listener
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        pools:
          description: Pools of the Listeners
          items:
            $ref: '#/components/schemas/PoolStatusSerializer'
          title: Pools
          type: array
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Provisioning status of the entity
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
      required:
      - id
      - operating_status
      - provisioning_status
      - name
      - pools
      title: ListenerStatusSerializer
      type: object
    LoadBalancerInstanceRoleEnum:
      enum:
      - BACKUP
      - MASTER
      - STANDALONE
      title: LoadBalancerInstanceRoleEnum
      type: string
    LoadBalancerOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - flavor.asc
      - flavor.desc
      - name.asc
      - name.desc
      - operating_status.asc
      - operating_status.desc
      - provisioning_status.asc
      - provisioning_status.desc
      - updated_at.asc
      - updated_at.desc
      - vip_address.asc
      - vip_address.desc
      - vip_ip_family.asc
      - vip_ip_family.desc
      title: LoadBalancerOrderByChoices
      type: string
    LoadBalancerPatchSerializer:
      properties:
        logging:
          $ref: '#/components/schemas/LoadbalancerLoggingSerializer'
          description: Logging configuration
        name:
          description: Name.
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        preferred_connectivity:
          $ref: '#/components/schemas/MemberConnectivity'
          description: Preferred option to establish connectivity between load balancer and its pools members
          examples:
          - - L2
            - L3
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: LoadBalancerPatchSerializer
      type: object
    LoadBalancerPatchSerializerV2:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        logging:
          $ref: '#/components/schemas/LoadbalancerLoggingSerializer'
          description: Logging configuration
        name:
          description: Name.
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        preferred_connectivity:
          $ref: '#/components/schemas/MemberConnectivity'
          description: Preferred option to establish connectivity between load balancer and its pools members
          examples:
          - - L2
            - L3
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: LoadBalancerPatchSerializerV2
      type: object
    LoadBalancerPricingPreviewRequestSerializer:
      example: &id200
        flavor: lb1-1-2
      examples:
      - *id200
      properties:
        flavor:
          description: Load balancer flavor name
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
      required:
      - flavor
      title: LoadBalancerPricingPreviewRequestSerializer
      type: object
    LoadBalancerPricingPreviewResponseSerializer:
      description: Billing response preview schema for loadbalancer
      example: &id201
        currency_code: USD
        discount_percent: 0.16
        per_hour:
          external_ip: 0.02
          flavor: 0.8
          floating_ip: 0.05
        per_month:
          external_ip: 14.4
          flavor: 576
          floating_ip: 36
        price_status: show
        price_without_discount_per_month: 604.8
        tax_percent: 17
        total_price_per_hour: 1.02
        total_price_per_month: 734.4
      examples:
      - *id201
      properties:
        currency_code:
          anyOf:
          - enum:
            - AZN
            - EUR
            - USD
            type: string
          - type: 'null'
          description: Currency code (3 letter code per ISO 4217)
          title: Currency Code
        discount_percent:
          anyOf:
          - type: number
          - type: 'null'
          description: Actual discount relative value
          examples:
          - 0.16
          title: Discount Percent
        per_hour:
          $ref: '#/components/schemas/DetailedLoadBalancerPricingSerializer'
          description: Prices per category charged per hour
        per_month:
          $ref: '#/components/schemas/DetailedLoadBalancerPricingSerializer'
          description: Prices per category charged per month
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI
          examples:
          - show
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: '0'
          examples:
          - '0'
          - 17
          - 12
          title: Tax Percent
          type: number
        total_price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour
          title: Total Price Per Hour
        total_price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month
          title: Total Price Per Month
      required:
      - currency_code
      - per_hour
      - per_month
      - total_price_per_hour
      - total_price_per_month
      - price_status
      - price_without_discount_per_month
      - discount_percent
      - tax_percent
      title: LoadBalancerPricingPreviewResponseSerializer
      type: object
    LoadBalancerPricingPreviewV2RequestSerializer:
      description: Price preview loadbalancer schema
      example: &id202
        flavor: lb1-1-2
        floating_ip:
          existing_floating_id: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          source: existing
      examples:
      - *id202
      properties:
        flavor:
          description: Load balancer flavor name
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        vip_ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: null
          description: 'Which subnet should be selected if not specified: IPv4, IPv6 or use dual stack. Mutually exclusive with `vip_subnet_id`.'
          examples:
          - ipv4
        vip_network_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Network ID for load balancer. If not specified, default external network will be used. Mutually exclusive with `vip_port_id`
          examples:
          - ddc28e44-2acb-499b-985b-831f29432e1c
          title: Vip Network Id
        vip_port_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with `vip_network_id`
          examples:
          - 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          title: Vip Port Id
        vip_subnet_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Subnet ID for load balancer. If not specified, any subnet from `vip_network_id` will be selected. Requires `vip_network_id`. Mutually exclusive with `vip_ip_family`.
          examples:
          - 2731a56e-a5c9-44be-80c2-02c57c594573
          title: Vip Subnet Id
      required:
      - flavor
      title: LoadBalancerPricingPreviewV2RequestSerializer
      type: object
    LoadBalancerStatusCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LoadBalancerStatusSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LoadBalancerStatusCollectionSerializer
      type: object
    LoadBalancerStatusSerializer:
      properties:
        id:
          description: UUID of the entity
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid
          title: Id
          type: string
        listeners:
          description: Listeners of the Load Balancer
          items:
            $ref: '#/components/schemas/ListenerStatusSerializer'
          title: Listeners
          type: array
        name:
          description: Name of the load balancer
          example: My Load Balancer
          examples:
          - My Load Balancer
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Provisioning status of the entity
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id203
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id203
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
      required:
      - id
      - operating_status
      - provisioning_status
      - name
      - tags
      - listeners
      title: LoadBalancerStatusSerializer
      type: object
    LoadbalancerCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LoadbalancerSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LoadbalancerCollectionSerializer
      type: object
    LoadbalancerLoggingSerializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: The logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
          - my-log-name
          title: Topic Name
      title: LoadbalancerLoggingSerializer
      type: object
    LoadbalancerMetricsCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/LoadbalancerMetricsSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: LoadbalancerMetricsCollectionSerializer
      type: object
    LoadbalancerMetricsRequestSerializer:
      properties:
        time_interval:
          description: Time interval
          example: 6
          examples:
          - 6
          title: Time Interval
          type: integer
        time_unit:
          $ref: '#/components/schemas/InstanceMetricsTimeUnitEnum'
          description: Time interval unit
          examples:
          - hour
      required:
      - time_interval
      - time_unit
      title: LoadbalancerMetricsRequestSerializer
      type: object
    LoadbalancerMetricsSerializer:
      properties:
        cpu_util:
          anyOf:
          - type: number
          - type: 'null'
          description: CPU utilization, % (max 100% for multi-core). Null when no data point is available.
          examples:
          - 8
          title: Cpu Util
        memory_util:
          anyOf:
          - type: number
          - type: 'null'
          description: RAM utilization, %. Null when no data point is available.
          examples:
          - 33.28411162695459
          title: Memory Util
        network_Bps_egress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network out, bits per second (the 'Bps' in the field name is historical; the value is bits, not bytes). Null when no data point is available.
          examples:
          - 816
          title: Network Bps Egress
        network_Bps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network in, bits per second (the 'Bps' in the field name is historical; the value is bits, not bytes). Null when no data point is available.
          examples:
          - 816
          title: Network Bps Ingress
        network_pps_egress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network out, packets per second. Null when no data point is available.
          examples:
          - 0.7
          title: Network Pps Egress
        network_pps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network in, packets per second. Null when no data point is available.
          examples:
          - 0.7
          title: Network Pps Ingress
        time:
          anyOf:
          - type: string
          - type: 'null'
          description: Timestamp. Null when no data point is available.
          examples:
          - '2020-07-07T12:57:00Z'
          title: Time
      required:
      - time
      - cpu_util
      - network_Bps_ingress
      - network_pps_ingress
      - network_Bps_egress
      - network_pps_egress
      - memory_util
      title: LoadbalancerMetricsSerializer
      type: object
    LoadbalancerQuotaSerializer:
      properties:
        external_ip_count_limit:
          description: External IP Count limit
          example: 1
          examples:
          - 1
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 1
          examples:
          - 1
          title: External Ip Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count limit
          example: 1
          examples:
          - 1
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: Floating IP Count usage
          example: 1
          examples:
          - 1
          title: Floating Count Usage
          type: integer
        laas_topic_count_limit:
          description: LaaS Topics Count limit
          example: 1
          examples:
          - 1
          title: Laas Topic Count Limit
          type: integer
        laas_topic_count_requested:
          description: LaaS Topics Count requested
          example: 1
          examples:
          - 1
          title: Laas Topic Count Requested
          type: integer
        laas_topic_count_usage:
          description: LaaS Topics Count usage
          example: 1
          examples:
          - 1
          title: Laas Topic Count Usage
          type: integer
        loadbalancer_count_limit:
          description: Load Balancers Count limit
          example: 1
          examples:
          - 1
          title: Loadbalancer Count Limit
          type: integer
        loadbalancer_count_requested:
          description: Load Balancers Count requested
          example: 1
          examples:
          - 1
          title: Loadbalancer Count Requested
          type: integer
        loadbalancer_count_usage:
          description: Load Balancers Count usage
          example: 1
          examples:
          - 1
          title: Loadbalancer Count Usage
          type: integer
      title: LoadbalancerQuotaSerializer
      type: object
    LoadbalancerSerializer:
      properties:
        additional_vips:
          description: List of additional IP addresses
          items:
            $ref: '#/components/schemas/NetworkPortFixedIp'
          title: Additional Vips
          type: array
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        created_at:
          description: Datetime when the load balancer was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the load balancer wasn't created via a tracked task.
          examples:
          - 9f3ec11e-bcd4-4fe6-924a-a4439a56ad22
          title: Creator Task Id
        ddos_profile:
          anyOf:
          - $ref: '#/components/schemas/GetClientProfileSerializer'
          - type: 'null'
          description: Loadbalancer advanced DDoS protection profile. Null unless requested via `with_ddos`, or when no profile is attached.
          examples:
          - fields:
            - base_field: 10
              default: null
              description: ARK server ports. Valid port values are in range 1000-65535
              field_type: null
              field_value:
              - 45046
              - 45047
              id: 11
              name: ARK Ports
              required: true
              validation_schema:
                items:
                  maximum: 65535
                  minimum: 1000
                  type: integer
                minItems: 1
                type: array
              value: null
            id: 0
            options:
              active: true
              bgp: true
            profile_template:
              description: test client profile template
              fields:
              - default: null
                description: ARK server ports. Valid port values are in range 1000-65535
                field_type: null
                id: 11
                name: ARK Ports
                required: true
                validation_schema:
                  items:
                    maximum: 65535
                    minimum: 1000
                    type: integer
                  minItems: 1
                  type: array
              id: 0
              name: test_client_profile_template
            profile_template_description: ARK server ports. Valid port values are in range 1000-65535
            protocols:
            - additionalProp1: string
              additionalProp2: string
              additionalProp3: string
            site: ED
            status:
              error_description: ''
              status: Updated
        flavor:
          anyOf:
          - $ref: '#/components/schemas/LbFlavorSerializer'
          - type: 'null'
          description: Load balancer flavor. Null when using the default flavor.
          examples:
          - flavor_id: 1d276f53-2834-4855-9859-aa922f073055
            flavor_name: lb1-1-2
            ram: 2048
            vcpus: 1
        floating_ips:
          description: List of assigned floating IPs
          items:
            $ref: '#/components/schemas/FloatingIPSerializer'
          title: Floating Ips
          type: array
        id:
          description: Load balancer ID
          example: e8ab1be4-1521-4266-be69-28dad4148a30
          examples:
          - e8ab1be4-1521-4266-be69-28dad4148a30
          format: uuid4
          title: Id
          type: string
        listeners:
          description: Load balancer listeners
          items:
            $ref: '#/components/schemas/ListenerSerializer'
          title: Listeners
          type: array
        logging:
          anyOf:
          - $ref: '#/components/schemas/LoggingOutSerializer'
          - type: 'null'
          description: Logging configuration. Null when logging isn't configured.
          examples:
          - destination_region_id: 1
            enabled: true
            retention_policy:
              period: 45
            topic_name: my-log-name
        name:
          description: Load balancer name
          example: my_load_balancer
          examples:
          - my_load_balancer
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Load balancer operating status
        preferred_connectivity:
          $ref: '#/components/schemas/MemberConnectivity'
          description: Preferred option to establish connectivity between load balancer and its pools members
          examples:
          - L2
          - L3
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Load balancer lifecycle status
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        stats:
          anyOf:
          - $ref: '#/components/schemas/LoadbalancerStatsSerializer'
          - type: 'null'
          description: Statistics of load balancer. Null unless requested via `show_stats`.
          examples:
          - active_connections: 0
            bytes_in: 34942398609
            bytes_out: 304777113641
            request_errors: 4
            total_connections: 21095970
        tags_v2:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id204
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id204
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags V2
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          title: Task Id
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime when the load balancer was last updated. Null until the first update.
          examples:
          - 2019-06-18T11:57:00+0000
          title: Updated At
        vip_address:
          description: Load balancer IP address
          example: 5.5.5.5
          examples:
          - 5.5.5.5
          format: ipvanyaddress
          title: Vip Address
          type: string
        vip_fqdn:
          anyOf:
          - type: string
          - type: 'null'
          description: Fully qualified domain name for the load balancer VIP. Null when no FQDN is assigned.
          examples:
          - 550e8400-e29b-41d4-a716-446655440000.lb.cloud.example.com
          title: Vip Fqdn
        vip_ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          description: Load balancer IP family
          examples:
          - ipv4
        vip_port_id:
          description: The ID of the Virtual IP (VIP) port.
          example: 4177d1ef-f1c2-4e45-a531-3e05dfa6d848
          examples:
          - 4177d1ef-f1c2-4e45-a531-3e05dfa6d848
          format: uuid4
          title: Vip Port Id
          type: string
        vrrp_ips:
          description: List of VRRP IP addresses
          items:
            $ref: '#/components/schemas/VRRPIP'
          title: Vrrp Ips
          type: array
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - flavor
      - vip_address
      - vip_port_id
      - vip_ip_family
      - vrrp_ips
      - floating_ips
      - operating_status
      - provisioning_status
      - listeners
      - created_at
      - updated_at
      - creator_task_id
      - task_id
      - stats
      - tags_v2
      - logging
      - ddos_profile
      - additional_vips
      - preferred_connectivity
      - admin_state_up
      - vip_fqdn
      title: LoadbalancerSerializer
      type: object
    LoadbalancerStatsSerializer:
      properties:
        active_connections:
          description: Currently active connections
          example: 0
          examples:
          - 0
          title: Active Connections
          type: integer
        bytes_in:
          description: Total bytes received
          example: 34942398609
          examples:
          - 34942398609
          title: Bytes In
          type: integer
        bytes_out:
          description: Total bytes sent
          example: 304777113641
          examples:
          - 304777113641
          title: Bytes Out
          type: integer
        request_errors:
          description: Total requests that were unable to be fulfilled
          example: 4
          examples:
          - 4
          title: Request Errors
          type: integer
        total_connections:
          description: Total connections handled
          example: 21095970
          examples:
          - 21095970
          title: Total Connections
          type: integer
      required:
      - active_connections
      - bytes_in
      - bytes_out
      - request_errors
      - total_connections
      title: LoadbalancerStatsSerializer
      type: object
    LoggingInSerializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: ID of the region in which the logs will be stored
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable or disable log streaming
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: Logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to stream logs to
          examples:
          - my-log-name
          title: Topic Name
      title: LoggingInSerializer
      type: object
    LoggingOutSerializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: ID of the region in which the logs will be stored
          examples:
          - 1
          title: Destination Region Id
        enabled:
          description: Indicates if log streaming is enabled or disabled
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: Logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - type: string
          - type: 'null'
          description: The topic name to stream logs to
          examples:
          - my-log-name
          title: Topic Name
      required:
      - enabled
      - destination_region_id
      - topic_name
      title: LoggingOutSerializer
      type: object
    LoggingSerializer:
      properties:
        destination_region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Destination region id to which the logs will be written
          examples:
          - 1
          title: Destination Region Id
        enabled:
          default: false
          description: Enable/disable forwarding logs to LaaS
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        retention_policy:
          anyOf:
          - $ref: '#/components/schemas/LaasIndexRetentionPolicyPydanticSerializer'
          - type: 'null'
          default: null
          description: The logs retention policy
          examples:
          - period: 45
        topic_name:
          anyOf:
          - maxLength: 223
            minLength: 1
            pattern: ^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\.[a-z0-9](?:[-a-z0-9]*[a-z0-9])*)*$
            type: string
          - type: 'null'
          default: null
          description: The topic name to which the logs will be written
          examples:
          - my-log-name
          title: Topic Name
      title: LoggingSerializer
      type: object
    LogsSerializer:
      properties:
        logs:
          description: Function logs.
          example: &id205
          - Message: ' 2022/03/02 15:04:03 192.168.171.79:41386 "GET / HTTP/1.1" 200 python-requests/2.25.1'
            Pod: function-78-5f5ddf5454-n6s94
            Time: '2022-03-02T15:04:03.208677349Z'
          - Message: ' 2022/03/02 15:04:05 192.168.171.79:41386 "GET / HTTP/1.1" 200 python-requests/2.25.1'
            Pod: function-78-5f5ddf5454-n6s94
            Time: '2022-03-02T15:04:05.208677349Z'
          examples:
          - *id205
          items:
            additionalProperties:
              type: string
            type: object
          title: Logs
          type: array
      required:
      - logs
      title: LogsSerializer
      type: object
    MandatoryIdSerializerPydantic:
      properties:
        id:
          description: Resource ID
          example: ae74714c-c380-48b4-87f8-758d656cdad6
          examples:
          - ae74714c-c380-48b4-87f8-758d656cdad6
          format: uuid4
          title: Id
          type: string
      required:
      - id
      title: MandatoryIdSchema schema
      type: object
    MaxDisruption:
      enum:
      - none
      - rebuild
      title: MaxDisruption
      type: string
    MemberConnectivity:
      enum:
      - L2
      - L3
      title: MemberConnectivity
      type: string
    MemberStatusSerializer:
      properties:
        address:
          description: Address of the member (server)
          example: 95.85.95.85
          examples:
          - 95.85.95.85
          - 2.56.220.2
          format: ipvanyaddress
          title: Address
          type: string
        id:
          description: UUID of the entity
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid
          title: Id
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        protocol_port:
          description: Port of the member (server)
          example: 53
          examples:
          - 53
          - 80
          - 443
          exclusiveMaximum: 65536
          exclusiveMinimum: 0
          title: Protocol Port
          type: integer
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Provisioning status of the entity
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
      required:
      - id
      - operating_status
      - provisioning_status
      - address
      - protocol_port
      title: MemberStatusSerializer
      type: object
    MemoryTriggerSerializer:
      properties:
        threshold:
          description: Memory usage percentage
          maximum: 99
          minimum: 1
          title: Threshold
          type: integer
      required:
      - threshold
      title: MemoryTriggerSerializer
      type: object
    MetricsDatabaseSerializer:
      properties:
        host:
          description: Metrics database host
          example: metrics.example.com
          examples:
          - metrics.example.com
          title: Host
          type: string
        id:
          description: ID of the metrics database
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        password:
          description: Metrics database password
          example: '******'
          examples:
          - '******'
          format: password
          title: Password
          type: string
          writeOnly: true
        port:
          description: Metrics database port
          example: 9097
          examples:
          - 9097
          title: Port
          type: integer
        type:
          $ref: '#/components/schemas/MetricsDatabaseType'
          description: Metrics database backend type
          examples:
          - INFLUXDB
        username:
          description: Metrics database username
          example: metrics_username
          examples:
          - metrics_username
          title: Username
          type: string
      required:
      - id
      - host
      - port
      - username
      - password
      - type
      title: Metrics database schema
      type: object
    MetricsDatabaseType:
      enum:
      - INFLUXDB
      - PROMETHEUS
      title: MetricsDatabaseType
      type: string
    MutateClientProfileSerializer:
      properties:
        fields:
          description: List of field configurations that customize the protection parameters for this profile
          example: &id206
          - base_field: 10
            field_value:
            - 45046
            - 45047
          examples:
          - *id206
          items:
            $ref: '#/components/schemas/CreateClientProfileFieldSerializer'
          title: Fields
          type: array
        ip_address:
          anyOf:
          - format: ipv4
            type: string
          - format: ipv6
            type: string
          description: IP address that will be protected by the DDoS protection profile
          examples:
          - 11.111.111.1
          title: Ip Address
        profile_template:
          description: Unique identifier of the DDoS protection template to use for this profile
          example: 123
          examples:
          - 123
          title: Profile Template
          type: integer
      required:
      - profile_template
      - ip_address
      title: MutateClientProfileSerializer
      type: object
    MutateLbSessionPersistence:
      properties:
        cookie_name:
          anyOf:
          - pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
            type: string
          - type: 'null'
          default: null
          description: Should be set if app cookie or http cookie is used
          examples:
          - cookie_name
          title: Cookie Name
        persistence_granularity:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Subnet mask if `source_ip` is used. For UDP ports only
          title: Persistence Granularity
        persistence_timeout:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Session persistence timeout. For UDP ports only
          title: Persistence Timeout
        type:
          $ref: '#/components/schemas/SessionPersistenceTypeEnum'
          description: Session persistence type
          examples:
          - APP_COOKIE
      required:
      - type
      title: MutateLbSessionPersistence
      type: object
    NameSerializerPydantic:
      properties:
        name:
          description: Name.
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      required:
      - name
      title: NameSerializerPydantic
      type: object
    NamespaceAvailabilitySerializer:
      properties:
        available:
          description: Is namespace available
          example: true
          examples:
          - true
          title: Available
          type: boolean
        namespace:
          description: Client namespace
          example: custom_namespace
          examples:
          - custom_namespace
          title: Namespace
          type: string
      required:
      - namespace
      - available
      title: NamespaceAvailabilitySerializer
      type: object
    NamespaceListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/NamespaceSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: NamespaceListSerializer
      type: object
    NamespaceSerializer:
      properties:
        created_at:
          description: Namespace creation date.
          example: '2023-08-22T11:21:00Z'
          examples:
          - '2023-08-22T11:21:00Z'
          title: Created At
          type: string
        description:
          anyOf:
          - maxLength: 255
            minLength: 0
            type: string
          - type: 'null'
          default: null
          description: Namespace description.
          examples:
          - This is a sample namespace.
          title: Description
        envs:
          anyOf:
          - propertyNames:
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
            type: object
            additionalProperties:
              maxLength: 255
              minLength: 0
              type: string
          - type: 'null'
          default: null
          description: Namespace environment variables. Keys must match a specific regex pattern and be 1-255 characters long, and values must be 0-255 characters long.
          examples:
          - ENV_VAR: value
          title: Envs
        functions:
          description: Namespace functions.
          example: &id207
          - name: function-name
          examples:
          - *id207
          items:
            $ref: '#/components/schemas/FunctionSerializer'
          title: Functions
          type: array
        functions_deploy_status:
          additionalProperties:
            type: integer
          description: Deploy status of namespace functions.
          example: &id208
            deployed: 1
          examples:
          - *id208
          title: Functions Deploy Status
          type: object
        name:
          description: Namespace name.
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        status:
          description: Namespace status.
          example: Active
          examples:
          - Active
          title: Status
          type: string
      required:
      - name
      - functions
      - status
      - created_at
      - functions_deploy_status
      title: NamespaceSerializer
      type: object
    NamespacedName:
      properties:
        name:
          description: Function name
          example: function-name
          examples:
          - function-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        namespace:
          description: Namespace name
          example: namespace-name
          examples:
          - namespace-name
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Namespace
          type: string
      required:
      - name
      - namespace
      title: NamespacedName
      type: object
    NetworkCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/NetworkSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: NetworkCollectionSerializer
      type: object
    NetworkDetailsSerializer:
      properties:
        created_at:
          description: Datetime when the network was created
          example: '2025-04-04T13:55:31Z'
          examples:
          - '2025-04-04T13:55:31Z'
          format: date-time
          title: Created At
          type: string
        external:
          description: True if the network `router:external` attribute
          example: true
          examples:
          - true
          title: External
          type: boolean
        id:
          description: Network ID
          example: eed97610-708d-43a5-a9a5-caebd2b7b4ee
          examples:
          - eed97610-708d-43a5-a9a5-caebd2b7b4ee
          format: uuid4
          title: Id
          type: string
        mtu:
          description: MTU (maximum transmission unit)
          example: 1500
          examples:
          - 1500
          title: Mtu
          type: integer
        name:
          description: Network name
          example: public
          examples:
          - public
          title: Name
          type: string
        port_security_enabled:
          description: Indicates `port_security_enabled` status of all newly created in the network ports.
          example: true
          examples:
          - true
          - false
          title: Port Security Enabled
          type: boolean
        segmentation_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Id of network segment
          examples:
          - 9
          title: Segmentation Id
        shared:
          description: True when the network is shared with your project by external owner
          example: false
          examples:
          - false
          title: Shared
          type: boolean
        subnets:
          anyOf:
          - items:
              $ref: '#/components/schemas/SubnetDetailsSerializer'
            type: array
          - type: 'null'
          description: List of subnetworks
          title: Subnets
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id209
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id209
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        type:
          description: Network type (vlan, vxlan)
          example: vlan
          examples:
          - vlan
          title: Type
          type: string
        updated_at:
          description: Datetime when the network was last updated
          example: '2025-04-04T13:56:31Z'
          examples:
          - '2025-04-04T13:56:31Z'
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - name
      - mtu
      - created_at
      - updated_at
      - type
      - segmentation_id
      - external
      - shared
      - subnets
      - tags
      - port_security_enabled
      title: NetworkDetailsSerializer
      type: object
    NetworkListOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      - priority.desc
      title: NetworkListOrderByChoices
      type: string
    NetworkOwnedBy:
      enum:
      - any
      - project
      title: NetworkOwnedBy
      type: string
    NetworkPortFixedIp:
      properties:
        ip_address:
          description: IP address
          example: 127.0.0.1
          examples:
          - 127.0.0.1
          format: ipvanyaddress
          title: Ip Address
          type: string
        subnet_id:
          description: Subnet UUID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - ip_address
      - subnet_id
      title: NetworkPortFixedIp
      type: object
    NetworkSerializer:
      properties:
        created_at:
          description: Datetime when the network was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - fd50fdd1-0482-4c9b-b847-fc9924665af6
          title: Creator Task Id
        default:
          anyOf:
          - type: boolean
          - type: 'null'
          description: True if network has `is_default` attribute
          examples:
          - true
          title: Default
        external:
          description: True if the network `router:external` attribute
          example: true
          examples:
          - true
          title: External
          type: boolean
        id:
          description: Network ID
          example: eed97610-708d-43a5-a9a5-caebd2b7b4ee
          examples:
          - eed97610-708d-43a5-a9a5-caebd2b7b4ee
          format: uuid4
          title: Id
          type: string
        mtu:
          description: MTU (maximum transmission unit). Default value is 1450
          example: 1500
          examples:
          - 1500
          title: Mtu
          type: integer
        name:
          description: Network name
          example: public
          examples:
          - public
          title: Name
          type: string
        port_security_enabled:
          description: Indicates `port_security_enabled` status of all newly created in the network ports.
          example: true
          examples:
          - true
          - false
          title: Port Security Enabled
          type: boolean
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          examples:
          - 1337
          title: Project Id
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        segmentation_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Id of network segment
          examples:
          - 9
          title: Segmentation Id
        shared:
          description: True when the network is shared with your project by external owner
          example: false
          examples:
          - false
          title: Shared
          type: boolean
        subnets:
          description: List of subnetworks
          example: &id210
          - f00624ab-41bc-4d54-a723-1673ce32d997
          - 41e0f698-4d39-483b-b77a-18eb070e4c09
          examples:
          - *id210
          items:
            format: uuid4
            type: string
          title: Subnets
          type: array
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id211
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id211
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        type:
          description: Network type (vlan, vxlan)
          example: vlan
          examples:
          - vlan
          title: Type
          type: string
        updated_at:
          description: Datetime when the network was last updated
          example: 2019-06-18T11:57:00+0000
          examples:
          - 2019-06-18T11:57:00+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - mtu
      - created_at
      - updated_at
      - type
      - segmentation_id
      - external
      - default
      - shared
      - subnets
      - creator_task_id
      - task_id
      - tags
      - port_security_enabled
      title: NetworkSerializer
      type: object
    NetworkSubnetworkCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/NetworkSubnetworkSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: NetworkSubnetworkCollectionSerializer
      type: object
    NetworkSubnetworkSerializer:
      properties:
        created_at:
          description: Datetime when the network was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity
          examples:
          - fd50fdd1-0482-4c9b-b847-fc9924665af6
          title: Creator Task Id
        default:
          anyOf:
          - type: boolean
          - type: 'null'
          description: True if network has `is_default` attribute
          examples:
          - true
          title: Default
        external:
          description: True if the network `router:external` attribute
          example: true
          examples:
          - true
          title: External
          type: boolean
        id:
          description: Network ID
          example: eed97610-708d-43a5-a9a5-caebd2b7b4ee
          examples:
          - eed97610-708d-43a5-a9a5-caebd2b7b4ee
          format: uuid4
          title: Id
          type: string
        mtu:
          description: MTU (maximum transmission unit). Default value is 1450
          example: 1500
          examples:
          - 1500
          title: Mtu
          type: integer
        name:
          description: Network name
          example: public
          examples:
          - public
          title: Name
          type: string
        port_security_enabled:
          description: Indicates `port_security_enabled` status of all newly created in the network ports.
          example: true
          examples:
          - true
          - false
          title: Port Security Enabled
          type: boolean
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          examples:
          - 1337
          title: Project Id
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        segmentation_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Id of network segment
          examples:
          - 9
          title: Segmentation Id
        shared:
          description: True when the network is shared with your project by external owner
          example: false
          examples:
          - false
          title: Shared
          type: boolean
        subnets:
          description: List of subnets associated with the network
          example: &id212
          - available_ips: 65432
            cidr: 10.0.0.0/16
            created_at: 2019-07-18T12:07:00+0000
            description: example description
            enable_dhcp: true
            id: 80bfcb8e-1709-4bb2-99d4-3fa1332571de
            ip_version: 4
            name: test 2
            network_id: 162091db-33cc-45d5-a375-964509af4813
            project_id: 1
            region: Luxembourg 1
            region_id: 1
            tags:
            - key: key1
              read_only: false
              value: value1
            total_ips: 65536
            updated_at: 2019-07-22T10:55:45+0000
          - available_ips: 232
            cidr: 192.168.192.0/24
            created_at: 2019-07-22T15:15:05+0000
            description: '{"task_id": "cc9a5445-189e-48de-a01f-5e10641a6915"}'
            enable_dhcp: true
            id: 94196a6a-c2ce-4f0d-8dc7-d9e0e722aea0
            ip_version: 4
            name: string
            network_id: 162091db-33cc-45d5-a375-964509af4813
            project_id: 1
            region: Luxembourg 1
            region_id: 1
            tags:
            - key: key1
              read_only: false
              value: value1
            total_ips: 256
            updated_at: 2019-07-22T15:15:05+0000
          examples:
          - *id212
          items:
            $ref: '#/components/schemas/SubnetSerializer'
          title: Subnets
          type: array
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id213
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id213
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        type:
          description: Network type (vlan, vxlan)
          example: vlan
          examples:
          - vlan
          title: Type
          type: string
        updated_at:
          description: Datetime when the network was last updated
          example: 2019-06-18T11:57:00+0000
          examples:
          - 2019-06-18T11:57:00+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - mtu
      - created_at
      - updated_at
      - type
      - segmentation_id
      - external
      - default
      - shared
      - subnets
      - creator_task_id
      - task_id
      - tags
      - port_security_enabled
      title: NetworkSubnetworkSerializer
      type: object
    NetworkType:
      enum:
      - vlan
      - vxlan
      title: NetworkType
      type: string
    NewFloatingIpInterfaceSerializer:
      properties:
        source:
          const: new
          title: Source
          type: string
      required:
      - source
      title: NewFloatingIpInterfaceSerializer
      type: object
    NewInstanceFloatingIpInterfaceSerializer:
      properties:
        source:
          const: new
          description: A new floating IP will be created and attached to the instance. A floating IP is a public IP that makes the instance accessible from the internet, even if it only has a private IP. It works like SNAT, allowing outgoing and incoming traffic.
          example: new
          examples:
          - new
          title: Source
          type: string
      required:
      - source
      title: New floating IP
      type: object
    NewInterfaceAnySubnetFipSerializerPydantic:
      example: &id214
        floating_ip:
          existing_floating_id: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          source: existing
        interface_name: my-any-subnet-interface
        ip_address: 192.168.6.9
        network_id: 59905c8e-2619-420a-b046-536096473370
        type: any_subnet
      examples:
      - *id214
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_address:
          description: You can specify a specific IP address from your subnet.
          format: ipvanyaddress
          title: Ip Address
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: any_subnet
          description: Instance will be attached to a subnet with the largest count of free IPs.
          title: Type
          type: string
      required:
      - type
      - network_id
      title: NewInterfaceAnySubnetFipSerializerPydantic
      type: object
    NewInterfaceExternalSerializerPydantic:
      description: Instance will be attached to default external network
      example: &id215
        interface_name: eth0
        ip_family: ipv4
        type: external
      examples:
      - *id215
      properties:
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: ipv4
          description: Specify `ipv4`, `ipv6`, or `dual` to enable both.
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: external
          description: A public IP address will be assigned to the instance.
          title: Type
          type: string
      required:
      - type
      title: NewInterfaceExternalSerializerPydantic
      type: object
    NewInterfaceFloatingIpPydanticSerializer:
      properties:
        existing_floating_id:
          description: If source is 'existing', existing floating IP ID must be specified
          example: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          examples:
          - c64e5db1-5f1f-43ec-a8d9-5090df85b82d
          format: uuid4
          title: Existing Floating Id
          type: string
        source:
          $ref: '#/components/schemas/FloatingIpSource'
          description: Will the floating for this subnet's IP be created or reused?
          examples:
          - new
          - existing
      required:
      - source
      title: NewInterfaceFloatingIpPydanticSerializer
      type: object
    NewInterfaceReservedFixedIpFipSerializerPydantic:
      example: &id216
        floating_ip:
          source: new
        interface_name: my-interface
        port_id: 59905c8e-2619-420a-b046-536096473370
        type: reserved_fixed_ip
      examples:
      - *id216
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        port_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network.
          title: Port Id
          type: string
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        type:
          const: reserved_fixed_ip
          description: An existing available reserved fixed IP will be attached to the instance. If the reserved IP is not public and you choose to add a floating IP, the instance will be accessible from the internet.
          title: Type
          type: string
      required:
      - type
      - port_id
      title: NewInterfaceReservedFixedIpFipSerializerPydantic
      type: object
    NewInterfaceSpecificSubnetFipSerializerPydantic:
      description: |-
        The instance will get an IP address from the selected network.
        If you choose to add a floating IP, the instance will be reachable from the internet.
        Otherwise, it will only have a private IP within the network.
      example: &id217
        floating_ip:
          existing_floating_id: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          source: existing
        network_id: 59905c8e-2619-420a-b046-536096473370
        subnet_id: e3c6ee77-48cb-416b-b204-11b492cc776e3
        type: subnet
      examples:
      - *id217
      properties:
        floating_ip:
          description: Allows the instance to have a public IP that can be reached from the internet.
          discriminator:
            mapping:
              existing: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
              new: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
            propertyName: source
          oneOf:
          - $ref: '#/components/schemas/NewInstanceFloatingIpInterfaceSerializer'
          - $ref: '#/components/schemas/ExistingInstanceFloatingIpInterfaceSerializer'
          title: Floating Ip
        interface_name:
          description: Interface name. Defaults to `null` and is returned as `null` in the API response if not set.
          maxLength: 37
          title: Interface Name
          type: string
        network_id:
          description: The network where the instance will be connected.
          format: uuid4
          title: Network Id
          type: string
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        subnet_id:
          description: The instance will get an IP address from this subnet.
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          description: The instance will get an IP address from the selected network. If you choose to add a floating IP, the instance will be reachable from the internet. Otherwise, it will only have a private IP within the network.
          title: Type
          type: string
      required:
      - type
      - network_id
      - subnet_id
      title: NewInterfaceSpecificSubnetFipSerializerPydantic
      type: object
    NewReservedFixedIpAnySubnetSerializer:
      properties:
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          description: 'Which subnets should be selected: IPv4, IPv6 or use dual stack.'
          examples:
          - ipv4
        is_vip:
          description: If reserved fixed IP is a VIP
          example: false
          examples:
          - false
          title: Is Vip
          type: boolean
        network_id:
          description: Reserved fixed IP will be allocated in a subnet of this network
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Network Id
          type: string
        type:
          const: any_subnet
          description: Must be 'any_subnet'.
          title: Type
          type: string
      required:
      - type
      - network_id
      title: NewReservedFixedIpAnySubnetSerializer
      type: object
    NewReservedFixedIpExternalSerializer:
      properties:
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          description: 'Which subnets should be selected: IPv4, IPv6 or use dual stack.'
          examples:
          - ipv4
        is_vip:
          description: If reserved fixed IP is a VIP
          example: false
          examples:
          - false
          title: Is Vip
          type: boolean
        type:
          const: external
          description: Must be 'external'
          title: Type
          type: string
      required:
      - type
      title: NewReservedFixedIpExternalSerializer
      type: object
    NewReservedFixedIpSpecificIpAddressSerializer:
      properties:
        ip_address:
          description: Reserved fixed IP will be allocated the given IP address
          example: 192.168.123.20
          examples:
          - 192.168.123.20
          format: ipvanyaddress
          title: Ip Address
          type: string
        is_vip:
          description: If reserved fixed IP is a VIP
          example: false
          examples:
          - false
          title: Is Vip
          type: boolean
        network_id:
          description: Reserved fixed IP will be allocated in a subnet of this network
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Network Id
          type: string
        type:
          const: ip_address
          description: Must be 'ip_address'.
          title: Type
          type: string
      required:
      - type
      - network_id
      - ip_address
      title: NewReservedFixedIpSpecificIpAddressSerializer
      type: object
    NewReservedFixedIpSpecificPortSerializer:
      properties:
        port_id:
          description: Port ID to make a reserved fixed IP (for example, `vip_port_id` of the Load Balancer entity).
          example: 77f1394f-2a18-4686-a2eb-acea25146374
          examples:
          - 77f1394f-2a18-4686-a2eb-acea25146374
          format: uuid4
          title: Port Id
          type: string
        type:
          const: port
          description: Must be 'port'.
          title: Type
          type: string
      required:
      - type
      - port_id
      title: NewReservedFixedIpSpecificPortSerializer
      type: object
    NewReservedFixedIpSpecificSubnetSerializer:
      properties:
        is_vip:
          description: If reserved fixed IP is a VIP
          example: false
          examples:
          - false
          title: Is Vip
          type: boolean
        subnet_id:
          description: Reserved fixed IP will be allocated in this subnet
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          description: Must be 'subnet'.
          title: Type
          type: string
      required:
      - type
      - subnet_id
      title: NewReservedFixedIpSpecificSubnetSerializer
      type: object
    NewVmInterfaceSerializersPydantic:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/NewInterfaceAnySubnetFipSerializerPydantic'
          external: '#/components/schemas/NewInterfaceExternalSerializerPydantic'
          reserved_fixed_ip: '#/components/schemas/NewInterfaceReservedFixedIpFipSerializerPydantic'
          subnet: '#/components/schemas/NewInterfaceSpecificSubnetFipSerializerPydantic'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/NewInterfaceExternalSerializerPydantic'
      - $ref: '#/components/schemas/NewInterfaceSpecificSubnetFipSerializerPydantic'
      - $ref: '#/components/schemas/NewInterfaceAnySubnetFipSerializerPydantic'
      - $ref: '#/components/schemas/NewInterfaceReservedFixedIpFipSerializerPydantic'
      title: NewVmInterfaceSerializersPydantic
    NewVolumeInputSerializer:
      properties:
        boot_index:
          description: Boot index of the volume
          example: 1
          examples:
          - 1
          minimum: 0
          title: Boot Index
          type: integer
        delete_on_termination:
          default: false
          description: Flag indicating whether the volume is deleted on instance termination
          example: true
          examples:
          - true
          title: Delete On Termination
          type: boolean
        name:
          description: Volume name
          example: my-data-disk
          examples:
          - my-data-disk
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: new
          title: Source
          type: string
        tags:
          additionalProperties:
            type: string
          description: Tags associated with the volume. Tag keys and values cannot contain characters from U+0080 to U+00FF.
          example: &id218
            key1: value1
          examples:
          - *id218
          title: Tags
          type: object
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
          - ssd
      required:
      - size
      - type
      - name
      - boot_index
      - source
      title: NewVolumeInputSerializer
      type: object
    NotAvailableReason:
      enum:
      - account
      - balance
      - capacity
      - plan
      - region
      title: NotAvailableReason
      type: string
    OIDCSigningAlgorithmEnum:
      enum:
      - ES256
      - ES384
      - ES512
      - PS256
      - PS384
      - PS512
      - RS256
      - RS384
      - RS512
      title: OIDCSigningAlgorithmEnum
      type: string
    OperatingStatusEnum:
      enum:
      - DEGRADED
      - DRAINING
      - ERROR
      - NO_MONITOR
      - OFFLINE
      - ONLINE
      title: OperatingStatusEnum
      type: string
    PGClusterCreateSerializer:
      properties:
        cluster_name:
          description: PostgreSQL cluster name
          maxLength: 50
          minLength: 1
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: Cluster Name
          type: string
        databases:
          default: []
          items:
            $ref: '#/components/schemas/Database'
          title: Databases
          type: array
        flavor:
          $ref: '#/components/schemas/Flavor'
          description: Instance RAM and CPU
        high_availability:
          anyOf:
          - $ref: '#/components/schemas/HighAvailabilityOptions'
          - type: 'null'
          description: High Availability settings
        network:
          $ref: '#/components/schemas/PublicNetwork'
          title: Network
        pg_server_configuration:
          $ref: '#/components/schemas/PostgreSQLServerConfig'
          description: PosgtreSQL cluster configuration
        storage:
          $ref: '#/components/schemas/Storage'
          description: Cluster's storage configuration
        users:
          default: []
          items:
            $ref: '#/components/schemas/PgUser'
          title: Users
          type: array
      required:
      - cluster_name
      - network
      - high_availability
      - flavor
      - storage
      - pg_server_configuration
      title: PGClusterCreateSerializer
      type: object
    PGClusterShortCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/PGClusterShortSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: PGClusterShortCollectionSerializer
      type: object
    PGClusterShortSerializer:
      properties:
        cluster_name:
          description: PostgreSQL cluster name
          example: mycluster
          examples:
          - mycluster
          title: Cluster Name
          type: string
        created_at:
          description: Creation timestamp
          format: date-time
          title: Created At
          type: string
        status:
          $ref: '#/components/schemas/ClusterStatus'
          description: Current cluster status
        version:
          description: Cluster version
          example: '15'
          examples:
          - '15'
          title: Version
          type: string
      required:
      - cluster_name
      - version
      - created_at
      - status
      title: PGClusterShortSerializer
      type: object
    PGConfValidateResponseSerializer:
      properties:
        errors:
          description: Errors list
          items:
            type: string
          title: Errors
          type: array
        is_valid:
          description: Validity of pg.conf file
          example: true
          examples:
          - true
          - false
          title: Is Valid
          type: boolean
      required:
      - is_valid
      - errors
      title: PGConfValidateResponseSerializer
      type: object
    PGConfValidationRequestSerializer:
      properties:
        pg_conf:
          description: PostgreSQL configuration
          example: |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          examples:
          - |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          title: Pg Conf
          type: string
        version:
          description: PostgreSQL version
          example: '15'
          examples:
          - '15'
          title: Version
          type: string
      required:
      - pg_conf
      - version
      title: PGConfValidationRequestSerializer
      type: object
    ParameterOverride:
      properties:
        value:
          description: New value assigned to the overridden parameter
          title: Value
          type: string
      required:
      - value
      title: ParameterOverride
      type: object
    PatchAllowedAddressPairsSerializer:
      properties:
        ip_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - format: ipvanynetwork
            type: string
          description: IP address or subnet of the allowed address pair
          title: Ip Address
      required:
      - ip_address
      title: PatchAllowedAddressPairsSerializer
      type: object
    PatchBaremetalClusterServerSettings:
      properties:
        image_id:
          description: System image ID
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          format: uuid4
          title: Image Id
          type: string
        servers_settings:
          $ref: '#/components/schemas/PatchServerSettingsInputSerializer'
          description: Configuration settings for the servers in the cluster
      title: PatchBaremetalClusterServerSettings
      type: object
    PatchContainerProbeExecConfigSerializerV2:
      properties:
        command:
          description: Command to be executed inside the running container.
          example: &id219
          - ls
          - -l
          examples:
          - *id219
          items:
            type: string
          title: Command
          type: array
      title: PatchContainerProbeExecConfigSerializerV2
      type: object
    PatchContainerProbeHttpGetConfigSerializerV2:
      properties:
        headers:
          additionalProperties:
            type: string
          description: HTTP headers to be sent with the request.
          example: &id220
            Authorization: Bearer token 123
          examples:
          - *id220
          title: Headers
          type: object
        host:
          description: Host name to send HTTP request to.
          example: 127.0.0.1
          examples:
          - 127.0.0.1
          title: Host
          type: string
        path:
          description: The endpoint to send the HTTP request to.
          example: /healthz
          examples:
          - /healthz
          - /readiness
          title: Path
          type: string
        port:
          description: Port number the probe should connect to.
          example: 80
          examples:
          - 80
          - 8080
          maximum: 65535
          minimum: 1
          title: Port
          type: integer
        schema:
          description: Schema to use for the HTTP request.
          example: HTTP
          examples:
          - HTTP
          - HTTPS
          pattern: ^(HTTP|HTTPS)$
          title: Schema
          type: string
      title: PatchContainerProbeHttpGetConfigSerializerV2
      type: object
    PatchContainerProbeInSerializerV2:
      properties:
        exec:
          anyOf:
          - $ref: '#/components/schemas/PatchContainerProbeExecConfigSerializerV2'
          - type: 'null'
          description: Exec probe configuration
        failure_threshold:
          description: The number of consecutive probe failures that mark the container as unhealthy.
          example: 3
          examples:
          - 3
          minimum: 1
          title: Failure Threshold
          type: integer
        http_get:
          anyOf:
          - $ref: '#/components/schemas/PatchContainerProbeHttpGetConfigSerializerV2'
          - type: 'null'
          description: HTTP GET probe configuration
        initial_delay_seconds:
          description: The initial delay before starting the first probe.
          example: 0
          examples:
          - 0
          - 10
          minimum: 0
          title: Initial Delay Seconds
          type: integer
        period_seconds:
          description: How often (in seconds) to perform the probe.
          example: 5
          examples:
          - 5
          - 10
          minimum: 1
          title: Period Seconds
          type: integer
        success_threshold:
          description: The number of consecutive successful probes that mark the container as healthy.
          example: 1
          examples:
          - 1
          minimum: 1
          title: Success Threshold
          type: integer
        tcp_socket:
          anyOf:
          - $ref: '#/components/schemas/PatchContainerProbeTcpSocketConfigSerializerV2'
          - type: 'null'
          description: TCP socket probe configuration
        timeout_seconds:
          description: The timeout for each probe.
          example: 1
          examples:
          - 1
          - 5
          minimum: 1
          title: Timeout Seconds
          type: integer
      title: PatchContainerProbeInSerializerV2
      type: object
    PatchContainerProbeTcpSocketConfigSerializerV2:
      properties:
        port:
          description: Port number to check if it's open.
          example: 80
          examples:
          - 80
          - 8080
          maximum: 65535
          minimum: 1
          title: Port
          type: integer
      title: PatchContainerProbeTcpSocketConfigSerializerV2
      type: object
    PatchFloatingIPSerializer:
      properties:
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: PatchFloatingIPSerializer
      type: object
    PatchFloatingIPV2Serializer:
      properties:
        fixed_ip_address:
          anyOf:
          - format: ipv4
            type: string
          - type: 'null'
          description: Fixed IP address
          examples:
          - 192.168.10.15
          title: Fixed Ip Address
        port_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Port ID
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: PatchFloatingIPV2Serializer
      type: object
    PatchInferenceInstanceContainerProbeConfigurationInSerializerV2:
      properties:
        enabled:
          description: Whether the probe is enabled or not.
          example: true
          examples:
          - true
          - false
          title: Enabled
          type: boolean
        probe:
          $ref: '#/components/schemas/PatchContainerProbeInSerializerV2'
          description: Probe configuration (exec, `http_get` or `tcp_socket`)
      title: PatchInferenceInstanceContainerProbeConfigurationInSerializerV2
      type: object
    PatchInferenceInstanceProbesSerializerV2:
      additionalProperties: false
      properties:
        liveness_probe:
          anyOf:
          - $ref: '#/components/schemas/PatchInferenceInstanceContainerProbeConfigurationInSerializerV2'
          - type: 'null'
          description: Liveness probe configuration
        readiness_probe:
          anyOf:
          - $ref: '#/components/schemas/PatchInferenceInstanceContainerProbeConfigurationInSerializerV2'
          - type: 'null'
          description: Readiness probe configuration
        startup_probe:
          anyOf:
          - $ref: '#/components/schemas/PatchInferenceInstanceContainerProbeConfigurationInSerializerV2'
          - type: 'null'
          description: Startup probe configuration
      title: PatchInferenceInstanceProbesSerializerV2
      type: object
    PatchLaasStatusSerializer:
      properties:
        is_initialized:
          description: Boolean showing whether client is initialized with LaaS
          example: true
          examples:
          - true
          title: Is Initialized
          type: boolean
        namespace:
          anyOf:
          - maxLength: 32
            minLength: 0
            type: string
          - type: 'null'
          default: null
          description: Optional. Custom namespace
          examples:
          - custom
          title: Namespace
      required:
      - is_initialized
      title: PatchLaasStatusSerializer
      type: object
    PatchLbHealthMonitorSerializer:
      properties:
        admin_state_up:
          default: true
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        delay:
          description: The time, in seconds, between sending probes to members
          example: 10
          examples:
          - 10
          maximum: 2147483647
          minimum: 1
          title: Delay
          type: integer
        domain_name:
          anyOf:
          - pattern: ^[A-Za-z0-9._-]{1,253}$
            type: string
          - type: 'null'
          default: null
          description: Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - example.com
          title: Domain Name
        expected_codes:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Expected HTTP response codes. Can be a single code, a comma-separated list of codes, or a single range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200, 200,202,401,403,404, or 200-204. If not specified, the default is 200.
          examples:
          - 200,301,302
          title: Expected Codes
        http_method:
          anyOf:
          - $ref: '#/components/schemas/HttpMethodEnum'
          - type: 'null'
          default: null
          description: HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor type.
          examples:
          - CONNECT
          - DELETE
          - GET
          - HEAD
          - OPTIONS
          - PATCH
          - POST
          - PUT
          - TRACE
        http_version:
          anyOf:
          - enum:
            - '1.0'
            - '1.1'
            type: string
          - type: 'null'
          default: null
          description: 'HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type. Supported values: 1.0, 1.1.'
          examples:
          - '1.1'
          - '1.0'
          title: Http Version
        max_retries:
          description: Number of successes before the member is switched to ONLINE state
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries
          type: integer
        max_retries_down:
          default: 3
          description: Number of failures before the member is switched to ERROR state.
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries Down
          type: integer
        timeout:
          description: The maximum time to connect. Must be less than the delay value
          example: 5
          examples:
          - 5
          maximum: 2147483
          minimum: 0
          title: Timeout
          type: integer
        type:
          anyOf:
          - $ref: '#/components/schemas/HealthMonitorTypeEnum'
          - type: 'null'
          default: null
          description: Health monitor type. Once health monitor is created, cannot be changed.
          examples:
          - HTTP
          - HTTPS
          - PING
          - TCP
          - TLS_HELLO
          - UDP_CONNECT
          - K8S
        url_path:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: |-
            The HTTP path the health monitor requests on each member. Defaults to `/` if not set. Can only be used with `HTTP` or `HTTPS` health monitor type.

            Must start with `/` and contain only plain path segments. Query strings (`?`), fragments (`#`), percent-encoding (`%`), and consecutive slashes (`//`) are not allowed.

            Examples of valid paths:
            - `/` — check the root (most common, default)
            - `/healthz` — a dedicated health endpoint
          examples:
          - /
          - /healthz
          title: Url Path
      required:
      - delay
      - max_retries
      - timeout
      title: PatchLbHealthMonitorSerializer
      type: object
    PatchLbHealthMonitorSerializerV2:
      properties:
        admin_state_up:
          description: Administrative state of the resource. Omit to leave unchanged; `false` disables the resource so it will not process traffic.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        delay:
          description: The time, in seconds, between sending probes to members. Omit to leave unchanged.
          example: 10
          examples:
          - 10
          maximum: 2147483647
          minimum: 1
          title: Delay
          type: integer
        domain_name:
          anyOf:
          - pattern: ^[A-Za-z0-9._-]{1,253}$
            type: string
          - type: 'null'
          description: Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type. Omit to leave unchanged. Set to `null` to clear the current value.
          examples:
          - example.com
          title: Domain Name
        expected_codes:
          anyOf:
          - pattern: ^(\d{3}(\s*,\s*\d{3})*)$|^(\d{3}-\d{3})$
            type: string
          - type: 'null'
          description: Expected HTTP response codes. Can be a single code, a comma-separated list of codes, or a single range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200, 200,202,401,403,404, or 200-204. Omit to leave unchanged. Set to `null` to clear the current value.
          examples:
          - 200,301,302
          title: Expected Codes
        http_method:
          anyOf:
          - $ref: '#/components/schemas/HttpMethodEnum'
          - type: 'null'
          description: HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor type. Omit to leave unchanged. Set to `null` to clear the current value.
          examples:
          - CONNECT
          - DELETE
          - GET
          - HEAD
          - OPTIONS
          - PATCH
          - POST
          - PUT
          - TRACE
        http_version:
          anyOf:
          - enum:
            - '1.0'
            - '1.1'
            type: string
          - type: 'null'
          description: 'HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type. Supported values: 1.0, 1.1. Omit to leave unchanged. Set to `null` to clear the current value.'
          examples:
          - '1.1'
          - '1.0'
          title: Http Version
        max_retries:
          description: Number of successes before the member is switched to ONLINE state. Omit to leave unchanged.
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries
          type: integer
        max_retries_down:
          description: Number of failures before the member is switched to ERROR state. Omit to leave unchanged.
          example: 2
          examples:
          - 2
          maximum: 10
          minimum: 1
          title: Max Retries Down
          type: integer
        timeout:
          description: The maximum time to connect. Must be less than the delay value. Omit to leave unchanged.
          example: 5
          examples:
          - 5
          maximum: 2147483
          minimum: 0
          title: Timeout
          type: integer
        url_path:
          anyOf:
          - pattern: ^/([^/?#%]+(/[^/?#%]+)*/?)?$
            type: string
          - type: 'null'
          description: |-
            The HTTP path the health monitor requests on each member. Can only be used with `HTTP` or `HTTPS` health monitor type.

            Must start with `/` and contain only plain path segments. Query strings (`?`), fragments (`#`), percent-encoding (`%`), and consecutive slashes (`//`) are not allowed.

            Examples of valid paths:
            - `/` — check the root (most common)
            - `/healthz` — a dedicated health endpoint

            Omit to leave unchanged. Set to `null` to clear the current value.
          examples:
          - /
          - /healthz
          title: Url Path
      title: PatchLbHealthMonitorSerializerV2
      type: object
    PatchLbListenerSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        allowed_cidrs:
          anyOf:
          - items:
              format: ipvanynetwork
              type: string
            maxItems: 100
            type: array
          - type: 'null'
          description: Network CIDRs from which service will be accessible. Order-insensitive.
          examples:
          - - 10.0.0.0/8
          title: Allowed Cidrs
        connection_limit:
          description: Limit of simultaneous connections. If -1 is provided, it is translated to the default value 100000.
          example: 100000
          examples:
          - 100000
          maximum: 1000000
          minimum: -1
          title: Connection Limit
          type: integer
        name:
          description: Load balancer listener name
          example: new_listener_name
          examples:
          - new_listener_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS load balancer
          examples:
          - af4a64e7-03ca-470f-9a09-b77d54c5abd8
          title: Secret Id
        sni_secret_id:
          anyOf:
          - items:
              format: uuid4
              type: string
            type: array
          - type: 'null'
          description: List of secret's ID containing PKCS12 format certificate/key bundfles for `TERMINATED_HTTPS` or PROMETHEUS listeners
          examples:
          - - af4a64e7-03ca-470f-9a09-b77d54c5abd8
            - 12b43d95-d420-4c79-a883-49bf146cbdff
          title: Sni Secret Id
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Frontend client inactivity timeout in milliseconds
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member connection timeout in milliseconds. We are recommending to use `pool.timeout_member_connect` instead.
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Backend member inactivity timeout in milliseconds. We are recommending to use `pool.timeout_member_data` instead.
          examples:
          - null
          title: Timeout Member Data
        user_list:
          anyOf:
          - items:
              $ref: '#/components/schemas/UserListItem'
            maxItems: 3
            type: array
          - type: 'null'
          description: Load balancer listener users list
          examples:
          - - encrypted_password: $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
              username: admin
          title: User List
      title: PatchLbListenerSerializer
      type: object
    PatchLbPoolMemberSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the member. Omit to leave unchanged; `false` disables the member so it receives no traffic.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        backup:
          description: Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. Omit to leave unchanged.
          example: true
          examples:
          - true
          - false
          title: Backup
          type: boolean
        monitor_address:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: Alternate IP address used for health monitoring of a backend member. Set to `null` to clear it and fall back to the member address; omit to leave unchanged.
          title: Monitor Address
        monitor_port:
          anyOf:
          - maximum: 65535
            minimum: 1
            type: integer
          - type: 'null'
          description: Alternate protocol port used for health monitoring of a backend member. Set to `null` to clear it and fall back to the member `protocol_port`; omit to leave unchanged.
          title: Monitor Port
        weight:
          description: |-
            Member weight. Valid values are 0 < `weight` <= 256. Omit to leave unchanged. Controls traffic distribution based on the pool's load balancing algorithm:
              - `ROUND_ROBIN`: Distributes connections to each member in turn according to weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 = ~75% vs ~25% of requests.
              - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active connections, performing round-robin within groups of the same normalized load. Higher weight = allowed to hold more simultaneous connections before being considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active connections is treated as balanced.
              - `SOURCE_IP`: Routes clients consistently to the same member by hashing client source IP; hash result is modulo total weight of running members. Higher weight = more hash buckets, so more client IPs map to that member. Example: weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the higher-weight member.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          maximum: 256
          title: Weight
          type: integer
      title: PatchLbPoolMemberSerializer
      type: object
    PatchLbPoolSerializer:
      properties:
        admin_state_up:
          description: Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.
          example: true
          examples:
          - true
          - false
          title: Admin State Up
          type: boolean
        ca_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA certificate bundle
          title: Ca Secret Id
        crl_secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID of CA revocation list file
          title: Crl Secret Id
        healthmonitor:
          anyOf:
          - $ref: '#/components/schemas/PatchLbHealthMonitorSerializer'
          - type: 'null'
          description: New pool health monitor settings
        lb_algorithm:
          $ref: '#/components/schemas/LbAlgorithmEnum'
          description: New load balancer pool algorithm of how to distribute requests
          examples:
          - ROUND_ROBIN
        members:
          anyOf:
          - items:
              $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
            type: array
          - type: 'null'
          deprecated: true
          description: New sequence of load balancer pool members. If members are the same (by address + port), they will be kept as is without recreation and downtime. Deprecated. Use `PUT /v1/loadbalancers/{project_id}/{region_id}/pools/{pool_id}/members` instead.
          examples:
          - - address: 192.168.40.33
              id: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
              operating_status: NO_MONITOR
              protocol_port: 80
              subnet_id: 32283b0b-b560-4690-810c-f672cbb2e28d
              weight: 1
          title: Members
        name:
          description: New pool name
          example: new_pool_name
          examples:
          - new_pool_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        protocol:
          $ref: '#/components/schemas/LbPoolProtocolEnum'
          description: New communication protocol
          examples:
          - HTTP
        secret_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Secret ID for TLS client authentication to the member servers
          title: Secret Id
        session_persistence:
          anyOf:
          - $ref: '#/components/schemas/MutateLbSessionPersistence'
          - type: 'null'
          description: New session persistence settings
        timeout_client_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          deprecated: true
          description: Frontend client inactivity timeout in milliseconds. We are recommending to use `listener.timeout_client_data` instead.
          examples:
          - 50000
          title: Timeout Client Data
        timeout_member_connect:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member connection timeout in milliseconds
          examples:
          - 50000
          title: Timeout Member Connect
        timeout_member_data:
          anyOf:
          - maximum: 86400000
            minimum: 0
            type: integer
          - type: 'null'
          description: Backend member inactivity timeout in milliseconds
          examples:
          - 0
          title: Timeout Member Data
      title: PatchLbPoolSerializer
      type: object
    PatchNetworkSerializer:
      properties:
        name:
          description: Name.
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: PatchNetworkSerializer
      type: object
    PatchPGClusterSerializer:
      properties:
        databases:
          default: []
          items:
            $ref: '#/components/schemas/Database'
          title: Databases
          type: array
        flavor:
          anyOf:
          - $ref: '#/components/schemas/Flavor'
          - type: 'null'
          default: null
          description: New instance RAM and CPU
        high_availability:
          anyOf:
          - $ref: '#/components/schemas/HighAvailabilityOptions'
          - type: 'null'
          default: null
          description: New High Availability settings
        network:
          anyOf:
          - $ref: '#/components/schemas/PublicNetwork'
          - type: 'null'
          default: null
          title: Network
        pg_server_configuration:
          anyOf:
          - $ref: '#/components/schemas/PatchPostgreSQLServerConfig'
          - type: 'null'
          default: null
          description: New PosgtreSQL cluster configuration
        storage:
          anyOf:
          - $ref: '#/components/schemas/StorageSize'
          - type: 'null'
          default: null
          description: New storage configuration
        users:
          default: []
          items:
            $ref: '#/components/schemas/PgUser'
          title: Users
          type: array
      title: PatchPGClusterSerializer
      type: object
    PatchPortSerializer:
      properties:
        allowed_address_pairs:
          description: A set of zero or more allowed port address pair and/or subnet masks. Replaces the full set of allowed address pairs. Send `[]` to clear; omit the field to leave existing pairs unchanged.
          example: &id221
          - ip_address: 192.168.123.20
          - ip_address: 192.168.0.0/17
          examples:
          - *id221
          items:
            $ref: '#/components/schemas/PatchAllowedAddressPairsSerializer'
          maxItems: 10
          title: Allowed Address Pairs
          type: array
        ip_assignments:
          description: IP assignments on the port. Replaces the full set. Subnets must belong to the port's network, and a port an instance holds supports one subnet per IP version. An entry without `ip_address` keeps an address the port already has in that subnet, in the order the port reports them, or takes a free one when the port has none. Addresses that no entry keeps are released.
          items:
            $ref: '#/components/schemas/IpAssignmentRequestSerializer'
          maxItems: 64
          title: Ip Assignments
          type: array
        port_security_enabled:
          description: When true, the network driver enforces port security on this port (anti-spoofing checks and security-group filtering apply). When false, all traffic is allowed and security groups are not applied.
          title: Port Security Enabled
          type: boolean
        security_group_ids:
          description: List of security group IDs. Replaces the full set of security groups attached to the port. Send `[]` to detach all groups; omit the field to leave existing groups unchanged.
          example: &id222
          - 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - *id222
          items:
            format: uuid4
            type: string
          maxItems: 10
          title: Security Group Ids
          type: array
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: PatchPortSerializer
      type: object
    PatchPostgreSQLServerConfig:
      properties:
        pg_conf:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New pg.conf file settings
          examples:
          - |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          title: Pg Conf
        pooler:
          anyOf:
          - $ref: '#/components/schemas/PoolerConfigurationSchema'
          - type: 'null'
          default: null
          examples:
          - null
          title: Pooler configuration for master
        version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New cluster version
          examples:
          - '15'
          title: Version
      title: PatchPostgreSQLServerConfig
      type: object
    PatchReservedFixedIPSerializer:
      properties:
        is_vip:
          description: If reserved fixed IP should be a VIP
          example: true
          examples:
          - true
          title: Is Vip
          type: boolean
      required:
      - is_vip
      title: PatchReservedFixedIPSerializer
      type: object
    PatchRouterSerializer:
      properties:
        external_gateway_info:
          anyOf:
          - $ref: '#/components/schemas/RouterExternalManualGwSerializer'
          - type: 'null'
          default: null
          description: New external gateway configuration. Only type 'manual' is accepted on update, so you must provide the `network_id` of the external network. Set to null to remove the external gateway.
          examples:
          - enable_snat: false
            network_id: d7745dcf-b302-4795-9d61-6cc52487af48
            type: manual
        name:
          anyOf:
          - pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
            type: string
          - type: 'null'
          default: null
          description: New name of router
          examples:
          - my_renamed_router
          title: Name
        routes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RouteInSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of custom routes.
          examples:
          - - destination: 10.0.3.0/24
              nexthop: 10.0.0.13
          title: Routes
      title: PatchRouterSerializer
      type: object
    PatchRouterSerializerV2:
      properties:
        external_gateway_info:
          anyOf:
          - $ref: '#/components/schemas/RouterExternalManualGwSerializer'
          - type: 'null'
          description: New external gateway configuration. Only type 'manual' is accepted on update, so you must provide the `network_id` of the external network. Set to null to remove the external gateway.
          examples:
          - enable_snat: false
            network_id: d7745dcf-b302-4795-9d61-6cc52487af48
            type: manual
        name:
          description: New name of router
          example: my_renamed_router
          examples:
          - my_renamed_router
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        routes:
          description: List of custom routes.
          example: &id223
          - destination: 10.0.3.0/24
            nexthop: 10.0.0.13
          examples:
          - *id223
          items:
            $ref: '#/components/schemas/RouteInSerializer'
          title: Routes
          type: array
      title: PatchRouterSerializerV2
      type: object
    PatchScheduleSerializer:
      properties:
        day:
          description: Day of the month (1-31, '*') or a comma-separated list of days
          example: '5'
          examples:
          - '5'
          title: Day
          type: string
        day_of_week:
          description: Weekday or a comma-separated list of weekdays (mon,tue,wed,thu,fri,sat,sun,*)
          example: mon,fri
          examples:
          - mon,fri
          title: Day Of Week
          type: string
        days:
          description: Number of days to wait
          example: 0
          examples:
          - 0
          title: Days
          type: integer
        hour:
          description: Hour (0-23, '*') or a comma-separated list of hours
          example: '0'
          examples:
          - '0'
          - 0, 20
          title: Hour
          type: string
        hours:
          description: Number of hours to wait
          example: 2
          examples:
          - 2
          title: Hours
          type: integer
        max_quantity:
          description: Number of stored resources.
          example: 2
          examples:
          - 2
          exclusiveMinimum: 0
          maximum: 10000
          title: Max Quantity
          type: integer
        minute:
          description: Minute (0-59, '*') or a comma-separated list of minutes
          example: '30'
          examples:
          - '30'
          title: Minute
          type: string
        minutes:
          description: Number of minutes to wait
          example: 1
          examples:
          - 1
          title: Minutes
          type: integer
        month:
          description: Month (1-12, '*') or a comma-separated list of months
          example: '1'
          examples:
          - '1'
          - 1,6
          title: Month
          type: string
        resource_name_template:
          description: Template for resource names.
          example: Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          examples:
          - Snapshot of volume {volume_id} created by policy {lifecycle_policy_id}
          title: Resource Name Template
          type: string
        retention_time:
          $ref: '#/components/schemas/CreateIntervalTimeSerializer'
          description: Time after which the resource will be deleted
        timezone:
          description: A pytz timezone. Defaults to UTC.
          example: UTC
          examples:
          - UTC
          title: Timezone
          type: string
        type:
          description: Type of the schedule.
          enum:
          - cron
          - interval
          example: cron
          examples:
          - cron
          title: Type
          type: string
        week:
          description: ISO week (1-53, '*') or a comma-separated list of weeks
          example: '1'
          examples:
          - '1'
          title: Week
          type: string
        weeks:
          description: Number of weeks to wait
          example: 0
          examples:
          - 0
          title: Weeks
          type: integer
      title: PatchScheduleSerializer
      type: object
    PatchServerCredentialsSerializer:
      properties:
        ssh_key_name:
          description: |-
            Specifies the name of the SSH keypair, created via the
            [/v1/`ssh_keys` endpoint](/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
          example: my-ssh-key
          examples:
          - my-ssh-key
          minLength: 1
          title: Ssh Key Name
          type: string
      title: PatchServerCredentialsSerializer
      type: object
    PatchServerSettingsInputSerializer:
      properties:
        credentials:
          anyOf:
          - $ref: '#/components/schemas/PatchServerCredentialsSerializer'
          - type: 'null'
          description: Optional server access credentials. Omit the field to leave it unchanged, or set it to `null` to clear the currently stored value.
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional custom user data (Base64-encoded). Omit the field to leave it unchanged, or set it to `null` to clear the currently stored value.
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
      title: PatchServerSettingsInputSerializer
      type: object
    PatchSubnetSerializer:
      properties:
        dns_nameservers:
          anyOf:
          - items:
              format: ipvanyaddress
              type: string
            type: array
          - type: 'null'
          default: null
          description: List IP addresses of DNS servers to advertise via DHCP.
          examples:
          - - 8.8.4.4
            - 1.1.1.1
          title: Dns Nameservers
        enable_dhcp:
          description: True if DHCP should be enabled
          example: true
          examples:
          - true
          title: Enable Dhcp
          type: boolean
        gateway_ip:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: Default GW IPv4 address to advertise in DHCP routes in this subnet. Omit this field to let the cloud backend allocate it automatically. Set to null if no gateway must be advertised by this subnet's DHCP (useful when attaching instances to multiple subnets in order to prevent default route conflicts).
          examples:
          - 192.168.10.1
          title: Gateway Ip
        host_routes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RouteInSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of custom static routes to advertise via DHCP.
          examples:
          - - destination: 10.0.3.0/24
              nexthop: 10.0.0.13
          title: Host Routes
        name:
          anyOf:
          - pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
            type: string
          - type: 'null'
          default: null
          description: Name
          examples:
          - some_name
          title: Name
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: PatchSubnetSerializer
      type: object
    PatchVirtualServerSettingsInputSerializer:
      properties:
        credentials:
          anyOf:
          - $ref: '#/components/schemas/PatchServerCredentialsSerializer'
          - type: 'null'
          description: Optional server access credentials. Omit the field to leave it unchanged, or set it to `null` to clear the currently stored value.
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional custom user data (Base64-encoded). Omit the field to leave it unchanged, or set it to `null` to clear the currently stored value.
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
        volumes:
          description: List of volumes
          items:
            discriminator:
              mapping:
                image: '#/components/schemas/ImageVolumeInputSerializer'
                new: '#/components/schemas/NewVolumeInputSerializer'
              propertyName: source
            oneOf:
            - $ref: '#/components/schemas/NewVolumeInputSerializer'
            - $ref: '#/components/schemas/ImageVolumeInputSerializer'
          title: Volumes
          type: array
      title: PatchVirtualServerSettingsInputSerializer
      type: object
    PayloadContentEncoding:
      enum:
      - base64
      title: PayloadContentEncoding
      type: string
    PgUser:
      properties:
        name:
          description: User name
          example: myuser
          examples:
          - myuser
          pattern: ^[a-z]*$
          title: Name
          type: string
        role_attributes:
          description: User's attributes
          example: &id224
          - INHERIT
          examples:
          - *id224
          items:
            enum:
            - BYPASSRLS
            - CREATEDB
            - CREATEROLE
            - INHERIT
            - LOGIN
            - NOLOGIN
            type: string
          title: Role Attributes
          type: array
          uniqueItems: true
      required:
      - name
      - role_attributes
      title: PgUser
      type: object
    PgUserOverview:
      properties:
        is_secret_revealed:
          description: Display was secret revealed or not
          example: true
          examples:
          - true
          - false
          title: Is Secret Revealed
          type: boolean
        name:
          description: User name
          example: myuser
          examples:
          - myuser
          pattern: ^[a-z]*$
          title: Name
          type: string
        role_attributes:
          description: User's attributes
          example: &id225
          - INHERIT
          examples:
          - *id225
          items:
            enum:
            - BYPASSRLS
            - CREATEDB
            - CREATEROLE
            - INHERIT
            - LOGIN
            - NOLOGIN
            type: string
          title: Role Attributes
          type: array
          uniqueItems: true
      required:
      - name
      - role_attributes
      - is_secret_revealed
      title: PgUserOverview
      type: object
    PolicyActionEnum:
      enum:
      - REDIRECT_PREFIX
      - REDIRECT_TO_POOL
      - REDIRECT_TO_URL
      - REJECT
      title: PolicyActionEnum
      type: string
    PoolStatusSerializer:
      properties:
        health_monitor:
          anyOf:
          - $ref: '#/components/schemas/HealthMonitorStatusSerializer'
          - type: 'null'
          description: Health Monitor of the Pool. Null when the pool has no health monitor.
        id:
          description: UUID of the entity
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid
          title: Id
          type: string
        members:
          description: Members (servers) of the pool
          items:
            $ref: '#/components/schemas/MemberStatusSerializer'
          title: Members
          type: array
        name:
          description: Name of the load balancer pool
          example: My Load Balancer Pool
          examples:
          - My Load Balancer Pool
          title: Name
          type: string
        operating_status:
          $ref: '#/components/schemas/OperatingStatusEnum'
          description: Operating status of the entity
          examples:
          - ONLINE
          - DRAINING
          - OFFLINE
          - DEGRADED
          - ERROR
          - NO_MONITOR
        provisioning_status:
          $ref: '#/components/schemas/ProvisioningStatusEnum'
          description: Provisioning status of the entity
          examples:
          - ACTIVE
          - DELETED
          - ERROR
          - PENDING_CREATE
          - PENDING_UPDATE
          - PENDING_DELETE
      required:
      - id
      - operating_status
      - provisioning_status
      - name
      - health_monitor
      - members
      title: PoolStatusSerializer
      type: object
    PoolerConfigurationSchema:
      properties:
        mode:
          $ref: '#/components/schemas/PoolerModes'
          examples:
          - transaction
        type:
          const: pgbouncer
          default: pgbouncer
          example: pgbouncer
          examples:
          - pgbouncer
          title: Type
          type: string
      required:
      - mode
      title: PoolerConfigurationSchema
      type: object
    PoolerModes:
      enum:
      - session
      - statement
      - transaction
      title: PoolerModes
      type: string
    PortAndInstanceCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/PortAndInstanceSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: PortAndInstanceCollectionSerializer
      type: object
    PortAndInstanceSerializer:
      properties:
        id:
          description: Port ID
          example: 8e009163-d526-4351-9266-93d9fd8fa8ef
          examples:
          - 8e009163-d526-4351-9266-93d9fd8fa8ef
          format: uuid4
          title: Id
          type: string
        instance_id:
          description: Instance ID
          example: bfc7824b-31b6-4a28-a0c4-7df137139215
          examples:
          - bfc7824b-31b6-4a28-a0c4-7df137139215
          format: uuid4
          title: Instance Id
          type: string
        instance_name:
          description: Instance name
          example: instance_1
          examples:
          - instance_1
          title: Instance Name
          type: string
      required:
      - id
      - instance_id
      - instance_name
      title: PortAndInstanceSerializer
      type: object
    PortAttachmentSerializer:
      properties:
        resource_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: ID of the compute resource the port is attached to. null for DHCP attachments.
          examples:
          - a1b2c3d4-e5f6-4000-8000-000000000001
          title: Resource Id
        resource_type:
          anyOf:
          - $ref: '#/components/schemas/PortResourceType'
          - type: 'null'
          description: Type of resource the port is attached to. null when the compute resource's type is not yet known.
          examples:
          - instance
        trunk:
          anyOf:
          - discriminator:
              mapping:
                parent: '#/components/schemas/PortAttachmentTrunkParentSerializer'
                sub_port: '#/components/schemas/PortAttachmentTrunkSubPortSerializer'
              propertyName: role
            oneOf:
            - $ref: '#/components/schemas/PortAttachmentTrunkParentSerializer'
            - $ref: '#/components/schemas/PortAttachmentTrunkSubPortSerializer'
          - type: 'null'
          description: 'Trunk info: present when port is a trunk parent or `sub_port`. null otherwise.'
          title: Trunk
      required:
      - resource_id
      - resource_type
      - trunk
      title: PortAttachmentSerializer
      type: object
    PortAttachmentTrunkParentSerializer:
      properties:
        role:
          const: parent
          description: Trunk role. 'parent' means this port is a trunk parent.
          example: parent
          examples:
          - parent
          title: Role
          type: string
      required:
      - role
      title: PortAttachmentTrunkParentSerializer
      type: object
    PortAttachmentTrunkSubPortSerializer:
      properties:
        parent_port_id:
          description: ID of the trunk parent port this sub-port belongs to.
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Parent Port Id
          type: string
        role:
          const: sub_port
          description: Trunk role. 'sub_port' means this port is a sub-port of a trunk.
          example: sub_port
          examples:
          - sub_port
          title: Role
          type: string
      required:
      - role
      - parent_port_id
      title: PortAttachmentTrunkSubPortSerializer
      type: object
    PortCapabilitiesSerializer:
      properties:
        allowed_address_pairs:
          description: Whether the driver enforces allowed address pairs on this port
          title: Allowed Address Pairs
          type: boolean
        port_security:
          description: Whether the driver enforces port security on this port
          title: Port Security
          type: boolean
        security_groups:
          description: Whether the driver enforces security groups on this port
          title: Security Groups
          type: boolean
      required:
      - security_groups
      - port_security
      - allowed_address_pairs
      title: PortCapabilitiesSerializer
      type: object
    PortDetailSerializer:
      properties:
        allowed_address_pairs:
          description: List of allowed address pairs. Sorted by `ip_address` for stable client refreshes.
          items:
            $ref: '#/components/schemas/AllowedAddressPairsResponseSerializer'
          title: Allowed Address Pairs
          type: array
        attached_to:
          anyOf:
          - $ref: '#/components/schemas/PortAttachmentSerializer'
          - type: 'null'
          description: The compute resource this port is attached to, including trunk role for trunk parents and sub-ports. null when the port is standalone (unattached).
        capabilities:
          anyOf:
          - $ref: '#/components/schemas/PortCapabilitiesSerializer'
          - type: 'null'
          description: What the driver enforces. null when the port is unattached (driver unknown).
        created_at:
          description: Datetime when the port was created.
          example: '2024-01-15T10:30:00Z'
          examples:
          - '2024-01-15T10:30:00Z'
          format: date-time
          title: Created At
          type: string
        id:
          description: Port ID
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Id
          type: string
        ip_assignments:
          description: List of IP addresses assigned to the port.
          items:
            $ref: '#/components/schemas/IpAssignmentSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          description: MAC address of the port
          example: fa:16:3e:f2:87:16
          examples:
          - fa:16:3e:f2:87:16
          title: Mac Address
          type: string
        managed_by:
          $ref: '#/components/schemas/PortManagedBy'
          description: 'Who manages this port: ''user'' (full CRUD allowed) or ''system'' (read-only)'
          examples:
          - user
        network_id:
          description: ID of the network the port belongs to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_security_enabled:
          description: When true, the driver enforces port security on this port (anti-spoofing checks and security-group filtering apply). When false, all traffic is allowed and security groups are not applied.
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        security_group_ids:
          description: List of security group IDs applied to the port. Sorted lexicographically for stable client refreshes.
          example: &id226
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - *id226
          items:
            format: uuid4
            type: string
          title: Security Group Ids
          type: array
        system_tags:
          additionalProperties:
            type: string
          description: Read-only key-value tags on the port, set by the platform and not modifiable by the user
          example: &id227
            image_name: ubuntu-22.04
            os_type: linux
          examples:
          - *id227
          title: System Tags
          type: object
        tags:
          additionalProperties:
            type: string
          description: Key-value tags on the port
          example: &id228
            env: prod
            team: platform
          examples:
          - *id228
          title: Tags
          type: object
        updated_at:
          description: Datetime when the port was last updated.
          example: '2025-11-18T10:22:00Z'
          examples:
          - '2025-11-18T10:22:00Z'
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - mac_address
      - network_id
      - ip_assignments
      - port_security_enabled
      - security_group_ids
      - allowed_address_pairs
      - tags
      - system_tags
      - managed_by
      - capabilities
      - attached_to
      - created_at
      - updated_at
      title: PortDetailSerializer
      type: object
    PortIDsForVIPSerializer:
      properties:
        port_ids:
          description: List of port IDs that will share one VIP
          example: &id229
          - 351b0dd7-ca09-431c-be53-935db3785067
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - *id229
          items:
            format: uuid4
            type: string
          title: Port Ids
          type: array
      title: PortIDsForVIPSerializer
      type: object
    PortIpAssignmentSerializer:
      properties:
        ip_address:
          description: The IP address assigned to the port from the specified subnet
          example: 192.168.123.20
          examples:
          - 192.168.123.20
          format: ipvanyaddress
          title: Ip Address
          type: string
        subnet_id:
          description: ID of the subnet that allocated the IP
          example: 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - 351b0dd7-ca09-431c-be53-935db3785067
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      - ip_address
      title: PortIpAssignmentSerializer
      type: object
    PortIpSubnetIdSerializer:
      properties:
        ip_address:
          description: IP address
          example: 192.168.123.20
          examples:
          - 192.168.123.20
          format: ipvanyaddress
          title: Ip Address
          type: string
        subnet_id:
          description: ID of the subnet that allocated the IP
          example: 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - 351b0dd7-ca09-431c-be53-935db3785067
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      - ip_address
      title: PortIpSubnetIdSerializer
      type: object
    PortIpWithSubnetSerializer:
      properties:
        ip_address:
          description: IP address
          example: 192.168.123.20
          examples:
          - 192.168.123.20
          format: ipvanyaddress
          title: Ip Address
          type: string
        subnet:
          $ref: '#/components/schemas/SubnetSerializer'
          description: Subnet details
        subnet_id:
          description: ID of the subnet that allocated the IP
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      - ip_address
      - subnet
      title: PortIpWithSubnetSerializer
      type: object
    PortListOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - network_id.asc
      - network_id.desc
      title: PortListOrderByChoices
      type: string
    PortListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/PortDetailSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: PortListSerializer
      type: object
    PortManagedBy:
      enum:
      - system
      - user
      title: PortManagedBy
      type: string
    PortResourceType:
      enum:
      - baremetal_server
      - basic_vm
      - dhcp
      - gpu_baremetal_server
      - gpu_virtual_server
      - instance
      - load_balancer
      - router
      title: PortResourceType
      type: string
    PortSecurityGroupNamesSerializer:
      properties:
        port_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Port ID. If None, security groups will be applied to all ports
          examples:
          - ee2402d0-f0cd-4503-9b75-69be1d11c5f1
          title: Port Id
        security_group_names:
          description: List of security group names
          example: &id230
          - name1
          - name2
          examples:
          - *id230
          items:
            pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
            type: string
          title: Security Group Names
          type: array
      required:
      - port_id
      - security_group_names
      title: PortSecurityGroupNamesSerializer
      type: object
    PortSerializer:
      properties:
        ip_assignments:
          description: IP addresses assigned to this port
          example: &id231
          - ip_address: 192.168.123.20
            subnet_id: 351b0dd7-ca09-431c-be53-935db3785067
          - ip_address: 192.168.120.16
            subnet_id: 0a641ef8-62dc-4146-91e5-6ab4b464df6d
          examples:
          - *id231
          items:
            $ref: '#/components/schemas/PortIpSubnetIdSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          description: MAC address of the virtual port
          example: 00:16:3e:f2:87:16
          examples:
          - 00:16:3e:f2:87:16
          title: Mac Address
          type: string
        network_id:
          description: ID of the network the port is attached to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of virtual ethernet port object
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
      required:
      - port_id
      - mac_address
      - ip_assignments
      - network_id
      title: PortSerializer
      type: object
    PortWithSecurityGroupsCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/PortWithSecurityGroupsSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: PortWithSecurityGroupsCollectionSerializer
      type: object
    PortWithSecurityGroupsSerializer:
      properties:
        id:
          description: Port ID
          example: ae74714c-c380-48b4-87f8-758d656cdad6
          examples:
          - ae74714c-c380-48b4-87f8-758d656cdad6
          title: Id
          type: string
        name:
          description: Port name
          example: my-port
          examples:
          - my-port
          title: Name
          type: string
        security_groups:
          description: Security groups applied to port
          items:
            $ref: '#/components/schemas/SecurityGroupShortSerializer'
          title: Security Groups
          type: array
      required:
      - id
      - name
      - security_groups
      title: PortWithSecurityGroupsSerializer
      type: object
    PostgreSQLServerConfig:
      properties:
        pg_conf:
          description: pg.conf settings
          example: |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          examples:
          - |2-

            listen_addresses = 'localhost'
            port = 5432
            max_connections = 100
            shared_buffers = 128MB
            logging_collector = on
          title: Pg Conf
          type: string
        pooler:
          anyOf:
          - $ref: '#/components/schemas/PoolerConfigurationSchema'
          - type: 'null'
          default: null
          examples:
          - null
          title: Pooler configuration for master
        version:
          description: Cluster version
          title: Version
          type: string
      required:
      - pg_conf
      - version
      title: PostgreSQLServerConfig
      type: object
    PostgresClusterOverviewSerializer:
      properties:
        cluster_name:
          maxLength: 50
          minLength: 1
          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
          title: PostgreSQL server name
          type: string
        created_at:
          format: date-time
          title: Created At
          type: string
        databases:
          items:
            $ref: '#/components/schemas/DatabaseOverview'
          title: Databases
          type: array
        flavor:
          $ref: '#/components/schemas/Flavor'
          description: Instance RAM and CPU
        high_availability:
          anyOf:
          - $ref: '#/components/schemas/HighAvailabilityOptions'
          - type: 'null'
          title: HA settings
        network:
          $ref: '#/components/schemas/PublicNetworkOut'
          title: Network
        pg_server_configuration:
          $ref: '#/components/schemas/PostgreSQLServerConfig'
          description: Main PG configuration
        status:
          $ref: '#/components/schemas/ClusterStatus'
          description: Current cluster status
        storage:
          $ref: '#/components/schemas/Storage'
          description: PG's storage configuration
        users:
          items:
            $ref: '#/components/schemas/PgUserOverview'
          title: Users
          type: array
      required:
      - cluster_name
      - network
      - high_availability
      - flavor
      - storage
      - pg_server_configuration
      - created_at
      - status
      - databases
      - users
      title: PostgresClusterOverviewSerializer
      type: object
    PrebillingResourceTypes:
      description: Resource types for prebilling report
      enum:
      - ai_cluster
      - ai_virtual_cluster
      - backup
      - baremetal
      - basic_vm
      - containers
      - dbaas_postgresql_connection_pooler
      - dbaas_postgresql_cpu
      - dbaas_postgresql_memory
      - dbaas_postgresql_public_network
      - dbaas_postgresql_volume
      - egress_traffic
      - external_ip
      - file_share
      - floatingip
      - functions
      - functions_calls
      - functions_traffic
      - image
      - inference
      - inference_public_models
      - instance
      - load_balancer
      - log_index
      - snapshot
      - volume
      title: PrebillingResourceTypes
      type: string
    PriceDisplayStatus:
      enum:
      - error
      - hide
      - show
      title: PriceDisplayStatus
      type: string
    PricingLifecyclePolicyV2Serializer:
      properties:
        schedules:
          default: []
          description: List of schedules associated with the policy.
          items:
            $ref: '#/components/schemas/CreateScheduleSerializer'
          maxItems: 10
          title: Schedules
          type: array
        volume_ids:
          description: List of volume IDs.
          example: &id232
          - 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - *id232
          items:
            format: uuid4
            type: string
          maxItems: 100
          minItems: 1
          title: Volume Ids
          type: array
          uniqueItems: true
      required:
      - volume_ids
      title: PricingLifecyclePolicyV2Serializer
      type: object
    ProblemBlockingResource:
      additionalProperties: false
      description: One resource that blocks the request.
      properties:
        resource_id:
          description: ID of the blocking resource.
          title: Resource Id
          type: string
        resource_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the blocking resource.
          title: Resource Name
        resource_type:
          description: Type of the blocking resource, as the permissions name it, such as `ports`.
          title: Resource Type
          type: string
      required:
      - resource_type
      - resource_id
      title: ProblemBlockingResource
      type: object
    ProblemContext:
      additionalProperties: false
      description: |-
        Data for the `type`. One flat object shared by all types. Each `type` always sends the same keys, and a key that the server cannot fill is `null`. The keys of each type:
        - `resource-in-use`: `blocking_resources`, `blocking_count`
        - `quota-exceeded`: `quotas`
        - `not-available`: `reason`, `region_id`, `resource_type`, `resource_id`
        - `permission-denied`: `operation`, `client_id`, `project_id`
        - `not-found`: `resource_type`, `resource_id`
        - `method-not-allowed`: `allowed_methods`
        - `resource-busy`: `resource_type`, `resource_id`, `resource_status`
        - `rate-limited`: `retry_after`
        - `service-unavailable`: `retry_after`
        The other types send no `context`, and neither does a `not-found` for an unknown URL.
      properties:
        allowed_methods:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Methods that the endpoint supports.
          title: Allowed Methods
        blocking_count:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Total number of blocking resources.
          title: Blocking Count
        blocking_resources:
          anyOf:
          - items:
              $ref: '#/components/schemas/ProblemBlockingResource'
            type: array
          - type: 'null'
          default: null
          description: At most 50 resources that block the request.
          title: Blocking Resources
        client_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The account of the operation.
          title: Client Id
        operation:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the operation that the credentials lack.
          title: Operation
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The project of the operation.
          title: Project Id
        quotas:
          anyOf:
          - items:
              $ref: '#/components/schemas/ProblemQuota'
            type: array
          - type: 'null'
          default: null
          description: The quotas that the request exceeds.
          title: Quotas
        reason:
          anyOf:
          - $ref: '#/components/schemas/NotAvailableReason'
          - type: 'null'
          default: null
          description: Why the resource is not available.
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The region of the error.
          title: Region Id
        resource_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: ID or name of the resource.
          title: Resource Id
        resource_status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Current status of the resource.
          title: Resource Status
        resource_type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Type of the resource, as the permissions name it, such as `instances`.
          title: Resource Type
        retry_after:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Seconds to wait before the next request. `null` when the server cannot tell.
          title: Retry After
      title: ProblemContext
      type: object
    ProblemError:
      additionalProperties: false
      description: One invalid input.
      properties:
        code:
          description: 'What is wrong, as a code from a fixed list, such as `missing`, `int_parsing` or `less_than_equal`, or one of the shared codes: `not_unique`, `not_found`, `mutually_exclusive`, `missing_one_of`, `incompatible_value`, `invalid_format`, `duplicate_item`, `invalid_status`. Codes are only added, never renamed or removed. Treat an unknown code like `value_error`.'
          type: string
        ctx:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: 'Values of the broken constraint, such as `{"le": 4096}`. Absent when the check has no values.'
          title: Ctx
        detail:
          description: What is wrong with the input.
          title: Detail
          type: string
        loc:
          description: 'Path to the input. Starts with `body`, `query`, `path` or `header`. A query filter is the parameter, then the operator: `name[contains]` is `["query", "name", "contains"]`.'
          items:
            anyOf:
            - type: string
            - type: integer
          title: Loc
          type: array
      required:
      - loc
      - code
      - detail
      title: ProblemError
      type: object
    ProblemQuota:
      additionalProperties: false
      description: One quota that the request exceeds.
      properties:
        available:
          anyOf:
          - type: integer
          - type: number
          description: '`limit` minus `usage`.'
          title: Available
        limit:
          anyOf:
          - type: integer
          - type: number
          description: The limit of the quota.
          title: Limit
        name:
          description: Quota name, such as `vm_count`.
          title: Name
          type: string
        overflow:
          anyOf:
          - type: integer
          - type: number
          description: 'The amount above the limit: `resulting_usage` minus `limit`.'
          title: Overflow
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Region of a regional quota. `null` for a global quota, or when unknown.
          title: Region Id
        requested:
          anyOf:
          - type: integer
          - type: number
          description: The amount that the request adds.
          title: Requested
        resulting_usage:
          anyOf:
          - type: integer
          - type: number
          description: 'The usage after the request: `usage` plus `requested`.'
          title: Resulting Usage
        scope:
          anyOf:
          - $ref: '#/components/schemas/QuotaScope'
          - type: 'null'
          description: '`regional` for a quota of one region, `global` for a quota of the account. `null` when the server cannot tell.'
        unit:
          anyOf:
          - type: string
          - type: 'null'
          description: Unit of the numbers, such as `MiB`, `GiB` or `bytes`. `null` for a quota that counts items.
          title: Unit
        usage:
          anyOf:
          - type: integer
          - type: number
          description: The usage before the request.
          title: Usage
      required:
      - name
      - scope
      - region_id
      - limit
      - usage
      - available
      - requested
      - resulting_usage
      - overflow
      - unit
      title: ProblemQuota
      type: object
    ProblemType:
      enum:
      - internal-server-error
      - method-not-allowed
      - not-available
      - not-found
      - permission-denied
      - quota-exceeded
      - rate-limited
      - resource-busy
      - resource-in-use
      - service-unavailable
      - unauthorized
      - validation-error
      title: ProblemType
      type: string
    ProblemWithLegacyKeys:
      additionalProperties: false
      description: |-
        The error body of an endpoint that was released before the problem body. The old keys stay
        next to the problem fields until the endpoint is removed.
      properties:
        context:
          anyOf:
          - $ref: '#/components/schemas/ProblemContext'
          - type: 'null'
          default: null
          description: Data for the `type`. Absent on a type without context keys, and on a `not-found` for an unknown URL.
        detail:
          description: The facts of this occurrence.
          title: Detail
          type: string
        errors:
          anyOf:
          - items:
              $ref: '#/components/schemas/ProblemError'
            type: array
          - type: 'null'
          default: null
          description: One item for each invalid input. Only on `validation-error`, and absent when no single input is wrong.
          title: Errors
        exception_class:
          deprecated: true
          description: The old name of the error. Use `type`.
          title: Exception Class
          type: string
        hint:
          description: What to do next.
          title: Hint
          type: string
        info:
          default: null
          deprecated: true
          description: Old data about the error. Use `context`.
          title: Info
        invalid_fields:
          default: null
          deprecated: true
          description: The old list of the invalid inputs. Use `errors`.
          title: Invalid Fields
        message:
          deprecated: true
          description: The old text of the error. Use `detail`.
          title: Message
          type: string
        request_id:
          description: ID of the request. The response also sends it in the `X-Request-Id` header. Quote it to support.
          title: Request Id
          type: string
        status:
          description: Copy of the HTTP status code.
          title: Status
          type: integer
        title:
          description: Fixed sentence for the `type`.
          title: Title
          type: string
        trace_id:
          anyOf:
          - type: string
          - type: 'null'
          description: W3C trace ID from the `traceparent` of the request. Null when the request has no valid `traceparent`.
          title: Trace Id
        type:
          $ref: '#/components/schemas/ProblemType'
          description: Stable error code in kebab-case, such as `not-found`. Clients branch on it. It is not `errors[].code`, which names what is wrong with one input in `snake_case`, such as `not_found`.
      required:
      - type
      - title
      - status
      - detail
      - hint
      - request_id
      - trace_id
      - exception_class
      - message
      title: ProblemWithLegacyKeys
      type: object
    ProfileOptionsSerializer:
      properties:
        active:
          description: Controls whether the DDoS protection profile is enabled and actively protecting the resource
          example: true
          examples:
          - true
          title: Active
          type: boolean
        bgp:
          description: Enables Border Gateway Protocol (BGP) routing for DDoS protection traffic
          example: true
          examples:
          - true
          title: Bgp
          type: boolean
      required:
      - active
      - bgp
      title: ProfileOptionsSerializer
      type: object
    ProjectOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      title: ProjectOrderByChoices
      type: string
    ProjectSerializer:
      properties:
        client_id:
          description: ID associated with the client.
          example: 1
          examples:
          - 1
          title: Client Id
          type: integer
        created_at:
          description: Datetime of creation, which is automatically generated.
          example: '2019-12-31T23:59:59'
          examples:
          - '2019-12-31T23:59:59'
          format: date-time
          title: Created At
          type: string
        deleted_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime of deletion, which is automatically generated if the project is deleted.
          examples:
          - '2020-12-31T23:59:59'
          title: Deleted At
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Description of the project.
          examples:
          - Project description
          title: Description
        id:
          description: Project ID, which is automatically generated upon creation.
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        is_default:
          description: Indicates if the project is the default one. Each client always has one default project.
          example: true
          examples:
          - true
          title: Is Default
          type: boolean
        name:
          description: Unique project name for a client.
          example: default
          examples:
          - default
          title: Name
          type: string
        state:
          description: The state of the project.
          example: ACTIVE
          examples:
          - ACTIVE
          title: State
          type: string
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - 7244e161-664c-4afd-a34e-7003eac4d949
          title: Task Id
      required:
      - client_id
      - created_at
      - deleted_at
      - description
      - id
      - is_default
      - name
      - state
      - task_id
      title: ProjectSerializer
      type: object
    ProtocolsOnPortSerializer:
      properties:
        port:
          description: Network port number for which protocols are configured
          example: '80'
          examples:
          - '80'
          title: Port
          type: string
        protocols:
          description: List of network protocols enabled on the specified port
          example: &id233
          - TCP
          - HTTP
          examples:
          - *id233
          items:
            type: string
          title: Protocols
          type: array
      required:
      - port
      - protocols
      title: ProtocolsOnPortSerializer
      type: object
    ProvisioningStatusEnum:
      enum:
      - ACTIVE
      - DELETED
      - ERROR
      - PENDING_CREATE
      - PENDING_DELETE
      - PENDING_UPDATE
      title: ProvisioningStatusEnum
      type: string
    PublicNetwork:
      properties:
        acl:
          description: Allowed IPs and subnets for incoming traffic
          example: &id234
          - 92.33.34.127
          examples:
          - *id234
          items:
            format: ipvanyinterface
            type: string
          title: Acl
          type: array
        network_type:
          const: public
          description: Network Type
          example: public
          examples:
          - public
          title: Network Type
          type: string
      required:
      - network_type
      - acl
      title: PublicNetwork
      type: object
    PublicNetworkOut:
      properties:
        acl:
          description: Allowed IPs and subnets for incoming traffic
          example: &id235
          - 92.33.34.127
          examples:
          - *id235
          items:
            format: ipvanyinterface
            type: string
          title: Acl
          type: array
        connection_string:
          description: Connection string to main database
          example: postgresql://username:password@address.example.com:5432/dbname
          examples:
          - postgresql://username:password@address.example.com:5432/dbname
          title: Connection String
          type: string
        host:
          description: database hostname
          example: address.example.com
          examples:
          - address.example.com
          title: Host
          type: string
        network_type:
          const: public
          description: Network Type
          example: public
          examples:
          - public
          title: Network Type
          type: string
      required:
      - network_type
      - acl
      - connection_string
      - host
      title: PublicNetworkOut
      type: object
    PullSecretCreateSerializer:
      properties:
        login:
          description: Pull secret login
          example: login
          examples:
          - login
          maxLength: 100
          minLength: 1
          title: Login
          type: string
        name:
          description: Pull secret name
          example: my-secret
          examples:
          - my-secret
          maxLength: 250
          minLength: 1
          pattern: ^[a-z][-a-z0-9]{0,24}[a-z0-9]$
          title: Name
          type: string
        password:
          description: Pull secret password
          example: password
          examples:
          - password
          format: password
          maxLength: 5000
          minLength: 1
          title: Password
          type: string
          writeOnly: true
        registry:
          description: Pull secret registry
          example: some.registry.com
          examples:
          - some.registry.com
          maxLength: 400
          minLength: 1
          title: Registry
          type: string
      required:
      - name
      - registry
      - login
      - password
      title: PullSecretCreateSerializer
      type: object
    PullSecretListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/PullSecretSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: PullSecretListSerializer
      type: object
    PullSecretSerializer:
      properties:
        login:
          description: Pull secret login
          example: login
          examples:
          - login
          title: Login
          type: string
        name:
          description: Pull secret name
          example: my-secret
          examples:
          - my-secret
          title: Name
          type: string
        registry:
          description: Pull secret registry
          example: some.registry.com
          examples:
          - some.registry.com
          title: Registry
          type: string
        updated_at:
          description: Pull secret updated at
          example: '2021-01-01T00:00:00Z'
          examples:
          - '2021-01-01T00:00:00Z'
          title: Updated At
          type: string
      required:
      - name
      - registry
      - login
      - updated_at
      title: PullSecretSerializer
      type: object
    PullSecretUpdateSerializer:
      properties:
        login:
          anyOf:
          - maxLength: 100
            minLength: 1
            type: string
          - type: 'null'
          default: null
          description: Pull secret login
          examples:
          - login
          title: Login
        password:
          anyOf:
          - format: password
            maxLength: 5000
            minLength: 1
            type: string
            writeOnly: true
          - type: 'null'
          default: null
          description: Pull secret password
          examples:
          - password
          title: Password
        registry:
          anyOf:
          - maxLength: 400
            minLength: 1
            type: string
          - type: 'null'
          default: null
          description: Pull secret registry
          examples:
          - some.registry.com
          title: Registry
      title: PullSecretUpdateSerializer
      type: object
    PutLbPoolMembersSerializer:
      description: New sequence of load balancer pool members. If members are the same (by address + port), they will be kept as is without recreation and downtime.
      example: &id236
      - address: 192.168.1.101
        instance_id: a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9
        protocol_port: 8000
        weight: 2
      examples:
      - *id236
      items:
        $ref: '#/components/schemas/CreateLbPoolMemberSerializer'
      title: PutLbPoolMembersSerializer
      type: array
    QuotaCountForThresholdSerializer:
      properties:
        limit:
          description: Current quota limit
          example: 10
          examples:
          - 10
          maximum: 9223372036854776000
          minimum: 0
          title: Limit
          type: integer
        usage:
          description: Current amount of resource used
          example: 8
          examples:
          - 8
          minimum: 0
          title: Usage
          type: integer
      required:
      - usage
      - limit
      title: QuotaCountForThresholdSerializer
      type: object
    QuotaNotificationThresholdSerializer:
      properties:
        client_id:
          description: Client id
          example: 2
          examples:
          - 2
          title: Client Id
          type: integer
        last_message:
          anyOf:
          - $ref: '#/components/schemas/QuotasThresholdSerializer'
          - type: 'null'
          description: A message data
        last_sending:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Time of last successful email sending
          examples:
          - null
          title: Last Sending
        threshold:
          description: Quota notification threshold in percentage
          example: 95
          examples:
          - 95
          maximum: 100
          minimum: 60
          title: Threshold
          type: integer
      required:
      - threshold
      - client_id
      - last_sending
      - last_message
      title: QuotaNotificationThresholdSerializer
      type: object
    QuotaScope:
      enum:
      - global
      - regional
      title: QuotaScope
      type: string
    QuotaThresholdSerializer:
      properties:
        last_message:
          anyOf:
          - $ref: '#/components/schemas/QuotasThresholdSerializer'
          - type: 'null'
          description: A message data
        last_sending:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Time of last successful email sending
          examples:
          - null
          title: Last Sending
        threshold:
          description: Quota notification threshold in percentage
          example: 95
          examples:
          - 95
          maximum: 100
          minimum: 60
          title: Threshold
          type: integer
      required:
      - threshold
      title: QuotaThresholdSerializer
      type: object
    QuotasThresholdSerializer:
      properties:
        global_quotas:
          $ref: '#/components/schemas/GlobalQuotasThresholdSerializer'
          description: Global quota that exceed the threshold
        regional_quotas:
          description: Regional quota that exceed the threshold
          items:
            $ref: '#/components/schemas/RegionalQuotasThresholdSerializer'
          title: Regional Quotas
          type: array
      required:
      - global_quotas
      - regional_quotas
      title: QuotasThresholdSerializer
      type: object
    RebuildBaremetalSerializer:
      properties:
        image_id:
          description: Image ID
          example: b5b4d65d-945f-4b98-ab6f-332319c724ef
          examples:
          - b5b4d65d-945f-4b98-ab6f-332319c724ef
          title: Image Id
          type: string
        user_data:
          description: 'String in base64 format. Must not be passed together with ''username'' or ''password''. Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          example: aGVsbG9fd29ybGQ=
          examples:
          - aGVsbG9fd29ybGQ=
          title: User Data
          type: string
      title: RebuildBaremetalSerializer
      type: object
    RebuildClusterSerializer:
      properties:
        image_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: AI GPU image ID
          examples:
          - f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
          title: Image Id
        nodes:
          description: List of nodes uuids to be rebuild
          items:
            type: string
          title: Nodes
          type: array
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'String in base64 format.Examples of the `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html'
          title: User Data
      required:
      - nodes
      title: RebuildClusterSerializer
      type: object
    RegionAccessType:
      enum:
      - core
      - edge
      title: RegionAccessType
      type: string
    RegionCapacityOutSerializerV3:
      properties:
        capacity:
          description: List of capacities by flavor.
          example: &id237
          - capacity: 42
            flavor_name: inference-16vcpu-232gib-1xh100-80gb
          examples:
          - *id237
          items:
            $ref: '#/components/schemas/CapacityDetailsSerializer'
          title: Capacity
          type: array
        region_id:
          description: Region ID.
          example: 4
          examples:
          - 4
          title: Region Id
          type: integer
      required:
      - region_id
      - capacity
      title: RegionCapacityOutSerializerV3
      type: object
    RegionCapacityOutSerializerV3List:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegionCapacityOutSerializerV3'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegionCapacityOutSerializerV3List
      type: object
    RegionCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegionSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegionCollectionSerializer
      type: object
    RegionComponentStatus:
      properties:
        error:
          description: Error message if the component is in an error state
          title: Error
          type: string
        status:
          description: Current state of the component in a specific region
          title: Status
          type: string
      required:
      - status
      - error
      title: RegionComponentStatus
      type: object
    RegionCoverageSerializer:
      properties:
        is_covered:
          description: Is the current region covered by the Advanced DDoS protection features.
          example: true
          examples:
          - true
          title: Is Covered
          type: boolean
      required:
      - is_covered
      title: RegionCoverageSerializer
      type: object
    RegionEndpointType:
      enum:
      - admin
      - internal
      - public
      title: RegionEndpointType
      type: string
    RegionOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - display_name.asc
      - display_name.desc
      title: RegionOrderByChoices
      type: string
    RegionProductChoices:
      enum:
      - containers
      - inference
      title: RegionProductChoices
      type: string
    RegionRequestedQuotasSerializer:
      properties:
        baremetal_basic_count_limit:
          description: Basic bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Basic Count Limit
          type: integer
        baremetal_basic_count_requested:
          description: Basic bare metal servers count requested
          example: 1
          examples:
          - 1
          title: Baremetal Basic Count Requested
          type: integer
        baremetal_basic_count_usage:
          description: Basic bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Basic Count Usage
          type: integer
        baremetal_gpu_a100_count_limit:
          description: Bare metal A100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu A100 Count Limit
          type: integer
        baremetal_gpu_a100_count_requested:
          description: Bare metal A100 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu A100 Count Requested
          type: integer
        baremetal_gpu_a100_count_usage:
          description: Bare metal A100 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu A100 Count Usage
          type: integer
        baremetal_gpu_h100_count_limit:
          description: Bare metal H100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H100 Count Limit
          type: integer
        baremetal_gpu_h100_count_requested:
          description: Bare metal H100 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H100 Count Requested
          type: integer
        baremetal_gpu_h100_count_usage:
          description: Bare metal H100 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H100 Count Usage
          type: integer
        baremetal_gpu_h200_count_limit:
          description: Bare metal H200 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H200 Count Limit
          type: integer
        baremetal_gpu_h200_count_requested:
          description: Bare metal H200 GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu H200 Count Requested
          type: integer
        baremetal_gpu_h200_count_usage:
          description: Bare metal H200 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H200 Count Usage
          type: integer
        baremetal_gpu_l40s_count_limit:
          description: Bare metal L40S GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu L40S Count Limit
          type: integer
        baremetal_gpu_l40s_count_requested:
          description: Bare metal L40S GPU server count requested
          example: 1
          examples:
          - 1
          title: Baremetal Gpu L40S Count Requested
          type: integer
        baremetal_gpu_l40s_count_usage:
          description: Bare metal L40S GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu L40S Count Usage
          type: integer
        baremetal_hf_count_limit:
          description: High-frequency bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Hf Count Limit
          type: integer
        baremetal_hf_count_requested:
          description: High-frequency bare metal servers count requested
          example: 1
          examples:
          - 1
          title: Baremetal Hf Count Requested
          type: integer
        baremetal_hf_count_usage:
          description: High-frequency bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Hf Count Usage
          type: integer
        baremetal_infrastructure_count_limit:
          description: Infrastructure bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Infrastructure Count Limit
          type: integer
        baremetal_infrastructure_count_requested:
          description: Infrastructure bare metal servers count requested
          example: 1
          examples:
          - 1
          title: Baremetal Infrastructure Count Requested
          type: integer
        baremetal_infrastructure_count_usage:
          description: Infrastructure bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Infrastructure Count Usage
          type: integer
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 0
          examples:
          - 0
          title: Baremetal Network Count Limit
          type: integer
        baremetal_network_count_requested:
          description: Bare metal Network Count requested
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Requested
          type: integer
        baremetal_network_count_usage:
          description: Bare metal Network Count usage
          example: 0
          examples:
          - 0
          title: Baremetal Network Count Usage
          type: integer
        baremetal_storage_count_limit:
          description: Storage bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Storage Count Limit
          type: integer
        baremetal_storage_count_requested:
          description: Storage bare metal servers count requested
          example: 1
          examples:
          - 1
          title: Baremetal Storage Count Requested
          type: integer
        baremetal_storage_count_usage:
          description: Storage bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Storage Count Usage
          type: integer
        caas_container_count_limit:
          description: Containers count limit
          example: 0
          examples:
          - 0
          title: Caas Container Count Limit
          type: integer
        caas_container_count_requested:
          description: Containers count requested
          example: 1
          examples:
          - 1
          title: Caas Container Count Requested
          type: integer
        caas_container_count_usage:
          description: Containers count usage
          example: 0
          examples:
          - 0
          title: Caas Container Count Usage
          type: integer
        caas_cpu_count_limit:
          description: mCPU count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Cpu Count Limit
          type: integer
        caas_cpu_count_requested:
          description: mCPU count for containers requested
          example: 1
          examples:
          - 1
          title: Caas Cpu Count Requested
          type: integer
        caas_cpu_count_usage:
          description: mCPU count for containers usage
          example: 0
          examples:
          - 0
          title: Caas Cpu Count Usage
          type: integer
        caas_gpu_count_limit:
          description: Containers gpu count limit
          example: 0
          examples:
          - 0
          title: Caas Gpu Count Limit
          type: integer
        caas_gpu_count_requested:
          description: Containers gpu count requested
          example: 1
          examples:
          - 1
          title: Caas Gpu Count Requested
          type: integer
        caas_gpu_count_usage:
          description: Containers gpu count usage
          example: 0
          examples:
          - 0
          title: Caas Gpu Count Usage
          type: integer
        caas_ram_size_limit:
          description: MiB memory count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Ram Size Limit
          type: integer
        caas_ram_size_requested:
          description: MiB memory count for containers requested
          example: 1
          examples:
          - 1
          title: Caas Ram Size Requested
          type: integer
        caas_ram_size_usage:
          description: MiB memory count for containers usage
          example: 0
          examples:
          - 0
          title: Caas Ram Size Usage
          type: integer
        cluster_count_limit:
          description: K8s clusters count limit
          example: 0
          examples:
          - 0
          title: Cluster Count Limit
          type: integer
        cluster_count_requested:
          description: K8s clusters count requested
          example: 1
          examples:
          - 1
          title: Cluster Count Requested
          type: integer
        cluster_count_usage:
          description: K8s clusters count usage
          example: 0
          examples:
          - 0
          title: Cluster Count Usage
          type: integer
        cpu_count_limit:
          description: vCPU Count limit
          example: 0
          examples:
          - 0
          title: Cpu Count Limit
          type: integer
        cpu_count_requested:
          description: vCPU Count requested
          example: 1
          examples:
          - 1
          title: Cpu Count Requested
          type: integer
        cpu_count_usage:
          description: vCPU Count usage
          example: 0
          examples:
          - 0
          title: Cpu Count Usage
          type: integer
        dbaas_postgres_cluster_count_limit:
          description: DBaaS cluster count limit
          example: 0
          examples:
          - 0
          title: Dbaas Postgres Cluster Count Limit
          type: integer
        dbaas_postgres_cluster_count_requested:
          description: DBaaS cluster count requested
          example: 1
          examples:
          - 1
          title: Dbaas Postgres Cluster Count Requested
          type: integer
        dbaas_postgres_cluster_count_usage:
          description: DBaaS cluster count usage
          example: 0
          examples:
          - 0
          title: Dbaas Postgres Cluster Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 0
          examples:
          - 0
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 0
          examples:
          - 0
          title: External Ip Count Usage
          type: integer
        faas_cpu_count_limit:
          description: mCPU count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Cpu Count Limit
          type: integer
        faas_cpu_count_requested:
          description: mCPU count for functions requested
          example: 1
          examples:
          - 1
          title: Faas Cpu Count Requested
          type: integer
        faas_cpu_count_usage:
          description: mCPU count for functions usage
          example: 0
          examples:
          - 0
          title: Faas Cpu Count Usage
          type: integer
        faas_function_count_limit:
          description: Functions count limit
          example: 0
          examples:
          - 0
          title: Faas Function Count Limit
          type: integer
        faas_function_count_requested:
          description: Functions count requested
          example: 1
          examples:
          - 1
          title: Faas Function Count Requested
          type: integer
        faas_function_count_usage:
          description: Functions count usage
          example: 0
          examples:
          - 0
          title: Faas Function Count Usage
          type: integer
        faas_namespace_count_limit:
          description: Functions namespace count limit
          example: 0
          examples:
          - 0
          title: Faas Namespace Count Limit
          type: integer
        faas_namespace_count_requested:
          description: Functions namespace count requested
          example: 1
          examples:
          - 1
          title: Faas Namespace Count Requested
          type: integer
        faas_namespace_count_usage:
          description: Functions namespace count usage
          example: 0
          examples:
          - 0
          title: Faas Namespace Count Usage
          type: integer
        faas_ram_size_limit:
          description: MiB memory count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Ram Size Limit
          type: integer
        faas_ram_size_requested:
          description: MiB memory count for functions requested
          example: 1
          examples:
          - 1
          title: Faas Ram Size Requested
          type: integer
        faas_ram_size_usage:
          description: MiB memory count for functions usage
          example: 0
          examples:
          - 0
          title: Faas Ram Size Usage
          type: integer
        firewall_count_limit:
          description: Firewalls Count limit
          example: 0
          examples:
          - 0
          title: Firewall Count Limit
          type: integer
        firewall_count_requested:
          description: Firewalls Count requested
          example: 1
          examples:
          - 1
          title: Firewall Count Requested
          type: integer
        firewall_count_usage:
          description: Firewalls Count usage
          example: 0
          examples:
          - 0
          title: Firewall Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count limit
          example: 0
          examples:
          - 0
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: Floating IP Count usage
          example: 0
          examples:
          - 0
          title: Floating Count Usage
          type: integer
        gpu_count_limit:
          description: GPU Count limit
          example: 0
          examples:
          - 0
          title: Gpu Count Limit
          type: integer
        gpu_count_requested:
          description: GPU Count requested
          example: 1
          examples:
          - 1
          title: Gpu Count Requested
          type: integer
        gpu_count_usage:
          description: GPU Count usage
          example: 0
          examples:
          - 0
          title: Gpu Count Usage
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_a100_count_requested:
          description: Virtual A100 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual A100 Count Requested
          type: integer
        gpu_virtual_a100_count_usage:
          description: Virtual A100 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual A100 Count Usage
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h100_count_requested:
          description: Virtual H100 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual H100 Count Requested
          type: integer
        gpu_virtual_h100_count_usage:
          description: Virtual H100 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual H100 Count Usage
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_h200_count_requested:
          description: Virtual H200 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual H200 Count Requested
          type: integer
        gpu_virtual_h200_count_usage:
          description: Virtual H200 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual H200 Count Usage
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual L40S Count Limit
          type: integer
        gpu_virtual_l40s_count_requested:
          description: Virtual L40S GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual L40S Count Requested
          type: integer
        gpu_virtual_l40s_count_usage:
          description: Virtual L40S GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual L40S Count Usage
          type: integer
        image_count_limit:
          description: Images Count limit
          example: 0
          examples:
          - 0
          title: Image Count Limit
          type: integer
        image_count_requested:
          description: Images Count requested
          example: 1
          examples:
          - 1
          title: Image Count Requested
          type: integer
        image_count_usage:
          description: Images Count usage
          example: 0
          examples:
          - 0
          title: Image Count Usage
          type: integer
        image_size_limit:
          description: Images Size, bytes limit
          example: 0
          examples:
          - 0
          title: Image Size Limit
          type: integer
        image_size_requested:
          description: Images Size, bytes requested
          example: 1
          examples:
          - 1
          title: Image Size Requested
          type: integer
        image_size_usage:
          description: Images Size, bytes usage
          example: 0
          examples:
          - 0
          title: Image Size Usage
          type: integer
        ipu_count_limit:
          description: IPU Count limit
          example: 0
          examples:
          - 0
          title: Ipu Count Limit
          type: integer
        ipu_count_requested:
          description: IPU Count requested
          example: 1
          examples:
          - 1
          title: Ipu Count Requested
          type: integer
        ipu_count_usage:
          description: IPU Count usage
          example: 0
          examples:
          - 0
          title: Ipu Count Usage
          type: integer
        laas_topic_count_limit:
          description: LaaS Topics Count limit
          example: 0
          examples:
          - 0
          title: Laas Topic Count Limit
          type: integer
        laas_topic_count_requested:
          description: LaaS Topics Count requested
          example: 1
          examples:
          - 1
          title: Laas Topic Count Requested
          type: integer
        laas_topic_count_usage:
          description: LaaS Topics Count usage
          example: 0
          examples:
          - 0
          title: Laas Topic Count Usage
          type: integer
        loadbalancer_count_limit:
          description: Load Balancers Count limit
          example: 0
          examples:
          - 0
          title: Loadbalancer Count Limit
          type: integer
        loadbalancer_count_requested:
          description: Load Balancers Count requested
          example: 1
          examples:
          - 1
          title: Loadbalancer Count Requested
          type: integer
        loadbalancer_count_usage:
          description: Load Balancers Count usage
          example: 0
          examples:
          - 0
          title: Loadbalancer Count Usage
          type: integer
        network_count_limit:
          description: Networks Count limit
          example: 0
          examples:
          - 0
          title: Network Count Limit
          type: integer
        network_count_requested:
          description: Networks Count requested
          example: 1
          examples:
          - 1
          title: Network Count Requested
          type: integer
        network_count_usage:
          description: Networks Count usage
          example: 0
          examples:
          - 0
          title: Network Count Usage
          type: integer
        ram_limit:
          description: RAM Size, MiB limit
          example: 0
          examples:
          - 0
          title: Ram Limit
          type: integer
        ram_requested:
          description: RAM Size, MiB requested
          example: 1
          examples:
          - 1
          title: Ram Requested
          type: integer
        ram_usage:
          description: RAM Size, MiB usage
          example: 0
          examples:
          - 0
          title: Ram Usage
          type: integer
        registry_count_limit:
          description: Registries count limit
          example: 0
          examples:
          - 0
          title: Registry Count Limit
          type: integer
        registry_count_requested:
          description: Registries count requested
          example: 1
          examples:
          - 1
          title: Registry Count Requested
          type: integer
        registry_count_usage:
          description: Registries count usage
          example: 0
          examples:
          - 0
          title: Registry Count Usage
          type: integer
        registry_storage_limit:
          description: Registries volume usage, GiB limit
          example: 0
          examples:
          - 0
          title: Registry Storage Limit
          type: integer
        registry_storage_requested:
          description: Registries volume usage, GiB requested
          example: 1
          examples:
          - 1
          title: Registry Storage Requested
          type: integer
        registry_storage_usage:
          description: Registries volume usage, GiB usage
          example: 0
          examples:
          - 0
          title: Registry Storage Usage
          type: integer
        router_count_limit:
          description: Routers Count limit
          example: 0
          examples:
          - 0
          title: Router Count Limit
          type: integer
        router_count_requested:
          description: Routers Count requested
          example: 1
          examples:
          - 1
          title: Router Count Requested
          type: integer
        router_count_usage:
          description: Routers Count usage
          example: 0
          examples:
          - 0
          title: Router Count Usage
          type: integer
        secret_count_limit:
          description: Secret Count limit
          example: 0
          examples:
          - 0
          title: Secret Count Limit
          type: integer
        secret_count_requested:
          description: Secret Count requested
          example: 1
          examples:
          - 1
          title: Secret Count Requested
          type: integer
        secret_count_usage:
          description: Secret Count usage
          example: 0
          examples:
          - 0
          title: Secret Count Usage
          type: integer
        servergroup_count_limit:
          description: Placement Group Count limit
          example: 0
          examples:
          - 0
          title: Servergroup Count Limit
          type: integer
        servergroup_count_requested:
          description: Placement Group Count requested
          example: 1
          examples:
          - 1
          title: Servergroup Count Requested
          type: integer
        servergroup_count_usage:
          description: Placement Group Count usage
          example: 0
          examples:
          - 0
          title: Servergroup Count Usage
          type: integer
        sfs_count_limit:
          description: Shared file system Count limit
          example: 0
          examples:
          - 0
          title: Sfs Count Limit
          type: integer
        sfs_count_requested:
          description: Shared file system Count requested
          example: 1
          examples:
          - 1
          title: Sfs Count Requested
          type: integer
        sfs_count_usage:
          description: Shared file system Count usage
          example: 0
          examples:
          - 0
          title: Sfs Count Usage
          type: integer
        sfs_size_limit:
          description: Shared file system Size, GiB limit
          example: 0
          examples:
          - 0
          title: Sfs Size Limit
          type: integer
        sfs_size_requested:
          description: Shared file system Size, GiB requested
          example: 1
          examples:
          - 1
          title: Sfs Size Requested
          type: integer
        sfs_size_usage:
          description: Shared file system Size, GiB usage
          example: 0
          examples:
          - 0
          title: Sfs Size Usage
          type: integer
        shared_vm_count_limit:
          description: Basic VMs Count limit
          example: 0
          examples:
          - 0
          title: Shared Vm Count Limit
          type: integer
        shared_vm_count_requested:
          description: Basic VMs Count requested
          example: 1
          examples:
          - 1
          title: Shared Vm Count Requested
          type: integer
        shared_vm_count_usage:
          description: Basic VMs Count usage
          example: 0
          examples:
          - 0
          title: Shared Vm Count Usage
          type: integer
        slurm_cluster_count_limit:
          description: Slurm cluster count limit for this region. 0 disables Slurm in this region.
          example: 0
          examples:
          - 0
          title: Slurm Cluster Count Limit
          type: integer
        slurm_cluster_count_requested:
          description: Slurm cluster count requested
          example: 1
          examples:
          - 1
          title: Slurm Cluster Count Requested
          type: integer
        slurm_cluster_count_usage:
          description: Slurm cluster count usage
          example: 0
          examples:
          - 0
          title: Slurm Cluster Count Usage
          type: integer
        snapshot_schedule_count_limit:
          description: Snapshot Schedules Count limit
          example: 0
          examples:
          - 0
          title: Snapshot Schedule Count Limit
          type: integer
        snapshot_schedule_count_requested:
          description: Snapshot Schedules Count requested
          example: 1
          examples:
          - 1
          title: Snapshot Schedule Count Requested
          type: integer
        snapshot_schedule_count_usage:
          description: Snapshot Schedules Count usage
          example: 0
          examples:
          - 0
          title: Snapshot Schedule Count Usage
          type: integer
        subnet_count_limit:
          description: Subnets Count limit
          example: 0
          examples:
          - 0
          title: Subnet Count Limit
          type: integer
        subnet_count_requested:
          description: Subnets Count requested
          example: 1
          examples:
          - 1
          title: Subnet Count Requested
          type: integer
        subnet_count_usage:
          description: Subnets Count usage
          example: 0
          examples:
          - 0
          title: Subnet Count Usage
          type: integer
        vm_count_limit:
          description: Instances Dedicated Count limit
          example: 0
          examples:
          - 0
          title: Vm Count Limit
          type: integer
        vm_count_requested:
          description: Instances Dedicated Count requested
          example: 1
          examples:
          - 1
          title: Vm Count Requested
          type: integer
        vm_count_usage:
          description: Instances Dedicated Count usage
          example: 0
          examples:
          - 0
          title: Vm Count Usage
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 0
          examples:
          - 0
          title: Volume Count Limit
          type: integer
        volume_count_requested:
          description: Volumes Count requested
          example: 1
          examples:
          - 1
          title: Volume Count Requested
          type: integer
        volume_count_usage:
          description: Volumes Count usage
          example: 0
          examples:
          - 0
          title: Volume Count Usage
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Size Limit
          type: integer
        volume_size_requested:
          description: Volumes Size, GiB requested
          example: 1
          examples:
          - 1
          title: Volume Size Requested
          type: integer
        volume_size_usage:
          description: Volumes Size, GiB usage
          example: 0
          examples:
          - 0
          title: Volume Size Usage
          type: integer
        volume_snapshots_count_limit:
          description: Snapshots Count limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Count Limit
          type: integer
        volume_snapshots_count_requested:
          description: Snapshots Count requested
          example: 1
          examples:
          - 1
          title: Volume Snapshots Count Requested
          type: integer
        volume_snapshots_count_usage:
          description: Snapshots Count usage
          example: 0
          examples:
          - 0
          title: Volume Snapshots Count Usage
          type: integer
        volume_snapshots_size_limit:
          description: Snapshots Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Size Limit
          type: integer
        volume_snapshots_size_requested:
          description: Snapshots Size, GiB requested
          example: 1
          examples:
          - 1
          title: Volume Snapshots Size Requested
          type: integer
        volume_snapshots_size_usage:
          description: Snapshots Size, GiB usage
          example: 0
          examples:
          - 0
          title: Volume Snapshots Size Usage
          type: integer
      title: RegionRequestedQuotasSerializer
      type: object
    RegionSerializer:
      properties:
        access_level:
          $ref: '#/components/schemas/RegionAccessType'
          description: The access level of the region.
          examples:
          - core
        available_volume_types:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: List of available volume types, 'standard', 'ssd_hiiops', 'cold'].
          examples:
          - - standard
            - ssd_hiiops
            - cold
          title: Available Volume Types
        coordinates:
          anyOf:
          - $ref: '#/components/schemas/Coordinate'
          - type: 'null'
          description: Coordinates of the region
          examples:
          - latitude: 41.40338
            longitude: 2.17403
          title: Coordinates
        country:
          description: Two-letter country code, ISO 3166-1 alpha-2
          example: LU
          examples:
          - LU
          pattern: ^\w{2}$
          title: Country
          type: string
        created_at:
          description: Region creation date and time
          example: '2019-12-31T23:59:59'
          examples:
          - '2019-12-31T23:59:59'
          format: date-time
          title: Created At
          type: string
        created_on:
          deprecated: true
          description: This field is deprecated. Use `created_at` instead.
          example: '2019-12-31T23:59:59'
          examples:
          - '2019-12-31T23:59:59'
          format: date-time
          title: Created On
          type: string
        ddos_endpoint_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          deprecated: true
          description: DDoS endpoint ID
          examples:
          - 3
          title: Ddos Endpoint Id
        display_name:
          description: Human-readable region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Display Name
          type: string
        endpoint_type:
          $ref: '#/components/schemas/RegionEndpointType'
          description: Endpoint type
          examples:
          - public
        external_network_id:
          anyOf:
          - type: string
          - type: 'null'
          description: External network ID
          examples:
          - c843c3e6-ef4d-4b92-8db2-e16ac05c5650
          title: External Network Id
        file_share_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/FileShareStorageType'
            type: array
          - type: 'null'
          description: List of available file share types
          examples:
          - - standard
            - vast
            - ddn
          title: File Share Types
        has_ai:
          description: Region has AI capability
          example: true
          examples:
          - true
          title: Has Ai
          type: boolean
        has_ai_gpu:
          description: Region has AI GPU capability
          example: true
          examples:
          - true
          title: Has Ai Gpu
          type: boolean
        has_baremetal:
          description: Region has bare metal capability
          example: false
          examples:
          - false
          title: Has Baremetal
          type: boolean
        has_basic_vm:
          description: Region has basic vm capability
          example: false
          examples:
          - false
          title: Has Basic Vm
          type: boolean
        has_dbaas:
          description: Region has DBAAS service
          example: false
          examples:
          - false
          title: Has Dbaas
          type: boolean
        has_ddos:
          description: Region has Advanced DDoS Protection capability
          example: true
          examples:
          - true
          - false
          title: Has Ddos
          type: boolean
        has_k8s:
          description: Region has managed kubernetes capability
          example: true
          examples:
          - true
          title: Has K8S
          type: boolean
        has_kvm:
          description: Region supports virtual machine instances
          example: true
          examples:
          - true
          title: Has Kvm
          type: boolean
        has_sfs:
          description: Region has SFS capability
          example: false
          examples:
          - false
          title: Has Sfs
          type: boolean
        id:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        keystone_id:
          description: ID of the identity service record
          example: 1
          examples:
          - 1
          title: Keystone Id
          type: integer
        keystone_name:
          description: Technical region name
          example: ED-9
          examples:
          - ED-9
          title: Keystone Name
          type: string
        metrics_database_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Foreign key to Metrics database entity
          examples:
          - 1
          title: Metrics Database Id
        slug:
          description: Short, human-readable region identifier (e.g. luxembourg-2, santa-clara-1).
          example: luxembourg-1
          examples:
          - luxembourg-1
          title: Slug
          type: string
        state:
          $ref: '#/components/schemas/RegionState'
          description: Region state
          examples:
          - NEW
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          deprecated: true
          description: This field is deprecated and can be ignored
          examples:
          - null
          title: Task Id
        vlan_physical_network:
          description: Physical network name to create vlan networks
          example: br-ex
          examples:
          - br-ex
          title: Vlan Physical Network
          type: string
        zone:
          anyOf:
          - $ref: '#/components/schemas/Zone'
          - type: 'null'
          description: Geographical zone
          examples:
          - EMEA
      required:
      - id
      - display_name
      - keystone_name
      - slug
      - state
      - country
      - zone
      - task_id
      - endpoint_type
      - external_network_id
      - created_on
      - created_at
      - keystone_id
      - has_kvm
      - has_baremetal
      - has_basic_vm
      - has_sfs
      - has_dbaas
      - has_ddos
      - vlan_physical_network
      - available_volume_types
      - metrics_database_id
      - access_level
      - has_k8s
      - has_ai
      - has_ai_gpu
      - coordinates
      - file_share_types
      title: Region object
      type: object
    RegionSerializerAi:
      properties:
        access_level:
          $ref: '#/components/schemas/RegionAccessType'
          description: The access level of the region in string format.
          examples:
          - core
        available_volume_types:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: List of available volume types, 'standard', 'ssd_hiiops', 'cold'].
          examples:
          - - standard
            - ssd_hiiops
            - cold
          title: Available Volume Types
        country:
          description: Two-letter country code, ISO 3166-1 alpha-2
          example: LU
          examples:
          - LU
          pattern: ^\w{2}$
          title: Country
          type: string
        created_on:
          description: A datetime object that is automatically generated when the region is created.
          example: '2019-12-31T23:59:59'
          examples:
          - '2019-12-31T23:59:59'
          format: date-time
          title: Created On
          type: string
        ddos_endpoint:
          anyOf:
          - $ref: '#/components/schemas/ServiceEndpointSerializer'
          - type: 'null'
          default: null
          deprecated: true
          description: DDoS endpoint object
        ddos_endpoint_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          deprecated: true
          description: DDoS endpoint ID
          examples:
          - 3
          title: Ddos Endpoint Id
        display_name:
          description: Unique constraint. Display name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Display Name
          type: string
        endpoint_type:
          $ref: '#/components/schemas/RegionEndpointType'
          description: Endpoint type
          examples:
          - public
        external_network_id:
          description: External network ID
          example: c843c3e6-ef4d-4b92-8db2-e16ac05c5650
          examples:
          - c843c3e6-ef4d-4b92-8db2-e16ac05c5650
          title: External Network Id
          type: string
        has_ai:
          description: Flag indicating if a region has AI capabilities available
          example: true
          examples:
          - true
          title: Has Ai
          type: boolean
        has_ai_gpu:
          description: Flag indicating if a region has AI GPUs available
          example: true
          examples:
          - true
          title: Has Ai Gpu
          type: boolean
        has_baremetal:
          description: Region has bare metal capability
          example: false
          examples:
          - false
          title: Has Baremetal
          type: boolean
        has_basic_vm:
          description: Region has basic vm capability
          example: false
          examples:
          - false
          title: Has Basic Vm
          type: boolean
        has_ddos:
          description: Region has Advanced DDoS Protection
          example: true
          examples:
          - true
          - false
          title: Has Ddos
          type: boolean
        has_k8s:
          description: Flag indicating if a region is managed kubernetes available
          example: true
          examples:
          - true
          title: Has K8S
          type: boolean
        has_kvm:
          description: Region supports virtual machine instances
          example: true
          examples:
          - true
          title: Has Kvm
          type: boolean
        has_sfs:
          description: Region has SFS capability
          example: false
          examples:
          - false
          title: Has Sfs
          type: boolean
        id:
          description: Region ID. It automatically is being generated when it is created
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        keystone:
          $ref: '#/components/schemas/KeystoneSerializerAi'
          description: Identity service object in the JSON format
        keystone_id:
          description: ID of the identity service record
          example: 1
          examples:
          - 1
          title: Keystone Id
          type: integer
        keystone_name:
          description: Region name. It must match the name in the identity service exactly
          example: ED-8
          examples:
          - ED-8
          title: Keystone Name
          type: string
        metrics_database:
          anyOf:
          - $ref: '#/components/schemas/MetricsDatabaseSerializer'
          - type: 'null'
          description: Metrics database object in JSON format
        metrics_database_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Foreign key to Metrics database entity
          examples:
          - 1
          title: Metrics Database Id
        novnc_proxy_url:
          anyOf:
          - type: string
          - type: 'null'
          description: NoVNC console proxy URL
          examples:
          - http://example.com:6080/
          title: Novnc Proxy Url
        serial_proxy_url:
          anyOf:
          - type: string
          - type: 'null'
          description: Serial console proxy URL
          examples:
          - wss://example.com:6083/
          title: Serial Proxy Url
        slug:
          description: Short, human-readable region identifier (e.g. luxembourg-2, santa-clara-1).
          example: luxembourg-1
          examples:
          - luxembourg-1
          title: Slug
          type: string
        spice_proxy_url:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Spice console proxy URL
          examples:
          - http://example.com:6082/
          title: Spice Proxy Url
        state:
          $ref: '#/components/schemas/RegionState'
          description: Region state
          examples:
          - NEW
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          deprecated: true
          description: This field is deprecated and can be ignored
          examples:
          - null
          title: Task Id
        vlan_physical_network:
          description: Physical network name to create vlan networks
          example: br-ex
          examples:
          - br-ex
          title: Vlan Physical Network
          type: string
        zone:
          anyOf:
          - $ref: '#/components/schemas/Zone'
          - type: 'null'
          description: Zone
          examples:
          - EMEA
      required:
      - id
      - display_name
      - keystone_name
      - slug
      - state
      - country
      - zone
      - endpoint_type
      - external_network_id
      - novnc_proxy_url
      - serial_proxy_url
      - created_on
      - keystone_id
      - keystone
      - has_kvm
      - has_baremetal
      - has_basic_vm
      - has_sfs
      - has_ddos
      - vlan_physical_network
      - metrics_database
      - access_level
      - has_k8s
      - has_ai
      - has_ai_gpu
      title: Region object
      type: object
    RegionSerializerAiCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegionSerializerAi'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegionSerializerAiCollectionSerializer
      type: object
    RegionState:
      enum:
      - ACTIVE
      - DELETED
      - DELETING
      - DELETION_FAILED
      - INACTIVE
      - MAINTENANCE
      - NEW
      title: RegionState
      type: string
    RegionStatus:
      properties:
        components:
          additionalProperties:
            $ref: '#/components/schemas/RegionComponentStatus'
          description: Mapping of component names to their status in the region
          example: &id238
            model:
              error: ''
              status: Active
          examples:
          - *id238
          title: Components
          type: object
        region_id:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        status:
          description: Current state of the deployment in a specific region
          title: Status
          type: string
      required:
      - region_id
      - status
      - components
      title: RegionStatus
      type: object
    RegionalQuotasLimitsSerializer:
      additionalProperties: false
      properties:
        baremetal_basic_count_limit:
          description: Basic bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Basic Count Limit
          type: integer
        baremetal_gpu_a100_count_limit:
          description: Bare metal A100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu A100 Count Limit
          type: integer
        baremetal_gpu_count_limit:
          deprecated: true
          description: Total number of AI GPU bare metal servers. This field is deprecated and is now always calculated automatically as the sum of `baremetal_gpu_a100_count_limit`, `baremetal_gpu_h100_count_limit`, `baremetal_gpu_h200_count_limit`, and `baremetal_gpu_l40s_count_limit`.
          example: 0
          examples:
          - 0
          title: Baremetal Gpu Count Limit
          type: integer
        baremetal_gpu_h100_count_limit:
          description: Bare metal H100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H100 Count Limit
          type: integer
        baremetal_gpu_h200_count_limit:
          description: Bare metal H200 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H200 Count Limit
          type: integer
        baremetal_gpu_l40s_count_limit:
          description: Bare metal L40S GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu L40S Count Limit
          type: integer
        baremetal_hf_count_limit:
          description: High-frequency bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Hf Count Limit
          type: integer
        baremetal_infrastructure_count_limit:
          description: Infrastructure bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Infrastructure Count Limit
          type: integer
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 0
          examples:
          - 0
          title: Baremetal Network Count Limit
          type: integer
        baremetal_storage_count_limit:
          description: Storage bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Storage Count Limit
          type: integer
        caas_container_count_limit:
          description: Containers count limit
          example: 0
          examples:
          - 0
          title: Caas Container Count Limit
          type: integer
        caas_cpu_count_limit:
          description: mCPU count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Cpu Count Limit
          type: integer
        caas_gpu_count_limit:
          description: Containers gpu count limit
          example: 0
          examples:
          - 0
          title: Caas Gpu Count Limit
          type: integer
        caas_ram_size_limit:
          description: MiB memory count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Ram Size Limit
          type: integer
        cluster_count_limit:
          description: K8s clusters count limit
          example: 0
          examples:
          - 0
          title: Cluster Count Limit
          type: integer
        cpu_count_limit:
          description: vCPU Count limit
          example: 0
          examples:
          - 0
          title: Cpu Count Limit
          type: integer
        dbaas_postgres_cluster_count_limit:
          description: DBaaS cluster count limit
          example: 0
          examples:
          - 0
          title: Dbaas Postgres Cluster Count Limit
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 0
          examples:
          - 0
          title: External Ip Count Limit
          type: integer
        faas_cpu_count_limit:
          description: mCPU count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Cpu Count Limit
          type: integer
        faas_function_count_limit:
          description: Functions count limit
          example: 0
          examples:
          - 0
          title: Faas Function Count Limit
          type: integer
        faas_namespace_count_limit:
          description: Functions namespace count limit
          example: 0
          examples:
          - 0
          title: Faas Namespace Count Limit
          type: integer
        faas_ram_size_limit:
          description: MiB memory count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Ram Size Limit
          type: integer
        firewall_count_limit:
          description: Firewalls Count limit
          example: 0
          examples:
          - 0
          title: Firewall Count Limit
          type: integer
        floating_count_limit:
          description: Floating IP Count limit
          example: 0
          examples:
          - 0
          title: Floating Count Limit
          type: integer
        gpu_count_limit:
          description: GPU Count limit
          example: 0
          examples:
          - 0
          title: Gpu Count Limit
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual L40S Count Limit
          type: integer
        image_count_limit:
          description: Images Count limit
          example: 0
          examples:
          - 0
          title: Image Count Limit
          type: integer
        image_size_limit:
          description: Images Size, bytes limit
          example: 0
          examples:
          - 0
          title: Image Size Limit
          type: integer
        ipu_count_limit:
          description: IPU Count limit
          example: 0
          examples:
          - 0
          title: Ipu Count Limit
          type: integer
        laas_topic_count_limit:
          description: LaaS Topics Count limit
          example: 0
          examples:
          - 0
          title: Laas Topic Count Limit
          type: integer
        loadbalancer_count_limit:
          description: Load Balancers Count limit
          example: 0
          examples:
          - 0
          title: Loadbalancer Count Limit
          type: integer
        network_count_limit:
          description: Networks Count limit
          example: 0
          examples:
          - 0
          title: Network Count Limit
          type: integer
        ram_limit:
          description: RAM Size, MiB limit
          example: 0
          examples:
          - 0
          title: Ram Limit
          type: integer
        region_id:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        registry_count_limit:
          description: Registries count limit
          example: 0
          examples:
          - 0
          title: Registry Count Limit
          type: integer
        registry_storage_limit:
          description: Registries volume usage, GiB limit
          example: 0
          examples:
          - 0
          title: Registry Storage Limit
          type: integer
        router_count_limit:
          description: Routers Count limit
          example: 0
          examples:
          - 0
          title: Router Count Limit
          type: integer
        secret_count_limit:
          description: Secret Count limit
          example: 0
          examples:
          - 0
          title: Secret Count Limit
          type: integer
        servergroup_count_limit:
          description: Placement Group Count limit
          example: 0
          examples:
          - 0
          title: Servergroup Count Limit
          type: integer
        sfs_count_limit:
          description: Shared file system Count limit
          example: 0
          examples:
          - 0
          title: Sfs Count Limit
          type: integer
        sfs_size_limit:
          description: Shared file system Size, GiB limit
          example: 0
          examples:
          - 0
          title: Sfs Size Limit
          type: integer
        shared_vm_count_limit:
          description: Basic VMs Count limit
          example: 0
          examples:
          - 0
          title: Shared Vm Count Limit
          type: integer
        slurm_cluster_count_limit:
          description: Slurm cluster count limit for this region. 0 disables Slurm in this region.
          example: 0
          examples:
          - 0
          title: Slurm Cluster Count Limit
          type: integer
        snapshot_schedule_count_limit:
          description: Snapshot Schedules Count limit
          example: 0
          examples:
          - 0
          title: Snapshot Schedule Count Limit
          type: integer
        subnet_count_limit:
          description: Subnets Count limit
          example: 0
          examples:
          - 0
          title: Subnet Count Limit
          type: integer
        vm_count_limit:
          description: Instances Dedicated Count limit
          example: 0
          examples:
          - 0
          title: Vm Count Limit
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 0
          examples:
          - 0
          title: Volume Count Limit
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Size Limit
          type: integer
        volume_snapshots_count_limit:
          description: Snapshots Count limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Count Limit
          type: integer
        volume_snapshots_size_limit:
          description: Snapshots Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Size Limit
          type: integer
      title: RegionalQuotasLimitsSerializer
      type: object
    RegionalQuotasSerializer:
      properties:
        baremetal_basic_count_limit:
          description: Basic bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Basic Count Limit
          type: integer
        baremetal_basic_count_usage:
          description: Basic bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Basic Count Usage
          type: integer
        baremetal_gpu_a100_count_limit:
          description: Bare metal A100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu A100 Count Limit
          type: integer
        baremetal_gpu_a100_count_usage:
          description: Bare metal A100 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu A100 Count Usage
          type: integer
        baremetal_gpu_count_limit:
          deprecated: true
          description: Total number of AI GPU bare metal servers. This field is deprecated and is now always calculated automatically as the sum of `baremetal_gpu_a100_count_limit`, `baremetal_gpu_h100_count_limit`, `baremetal_gpu_h200_count_limit`, and `baremetal_gpu_l40s_count_limit`.
          example: 0
          examples:
          - 0
          title: Baremetal Gpu Count Limit
          type: integer
        baremetal_gpu_count_usage:
          deprecated: true
          description: Baremetal Gpu Count Usage. This field is deprecated and is now always calculated automatically as the sum of `baremetal_gpu_a100_count_usage`, `baremetal_gpu_h100_count_usage`, `baremetal_gpu_h200_count_usage`, and `baremetal_gpu_l40s_count_usage`.
          example: 0
          examples:
          - 0
          title: Baremetal Gpu Count Usage
          type: integer
        baremetal_gpu_h100_count_limit:
          description: Bare metal H100 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H100 Count Limit
          type: integer
        baremetal_gpu_h100_count_usage:
          description: Bare metal H100 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H100 Count Usage
          type: integer
        baremetal_gpu_h200_count_limit:
          description: Bare metal H200 GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H200 Count Limit
          type: integer
        baremetal_gpu_h200_count_usage:
          description: Bare metal H200 GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu H200 Count Usage
          type: integer
        baremetal_gpu_l40s_count_limit:
          description: Bare metal L40S GPU server count limit
          example: 0
          examples:
          - 0
          title: Baremetal Gpu L40S Count Limit
          type: integer
        baremetal_gpu_l40s_count_usage:
          description: Bare metal L40S GPU server count usage
          example: 0
          examples:
          - 0
          title: Baremetal Gpu L40S Count Usage
          type: integer
        baremetal_hf_count_limit:
          description: High-frequency bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Hf Count Limit
          type: integer
        baremetal_hf_count_usage:
          description: High-frequency bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Hf Count Usage
          type: integer
        baremetal_infrastructure_count_limit:
          description: Infrastructure bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Infrastructure Count Limit
          type: integer
        baremetal_infrastructure_count_usage:
          description: Infrastructure bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Infrastructure Count Usage
          type: integer
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 0
          examples:
          - 0
          title: Baremetal Network Count Limit
          type: integer
        baremetal_network_count_usage:
          description: Bare metal Network Count usage
          example: 0
          examples:
          - 0
          title: Baremetal Network Count Usage
          type: integer
        baremetal_storage_count_limit:
          description: Storage bare metal servers count limit
          example: 0
          examples:
          - 0
          title: Baremetal Storage Count Limit
          type: integer
        baremetal_storage_count_usage:
          description: Storage bare metal servers count usage
          example: 0
          examples:
          - 0
          title: Baremetal Storage Count Usage
          type: integer
        caas_container_count_limit:
          description: Containers count limit
          example: 0
          examples:
          - 0
          title: Caas Container Count Limit
          type: integer
        caas_container_count_usage:
          description: Containers count usage
          example: 0
          examples:
          - 0
          title: Caas Container Count Usage
          type: integer
        caas_cpu_count_limit:
          description: mCPU count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Cpu Count Limit
          type: integer
        caas_cpu_count_usage:
          description: mCPU count for containers usage
          example: 0
          examples:
          - 0
          title: Caas Cpu Count Usage
          type: integer
        caas_gpu_count_limit:
          description: Containers gpu count limit
          example: 0
          examples:
          - 0
          title: Caas Gpu Count Limit
          type: integer
        caas_gpu_count_usage:
          description: Containers gpu count usage
          example: 0
          examples:
          - 0
          title: Caas Gpu Count Usage
          type: integer
        caas_ram_size_limit:
          description: MiB memory count for containers limit
          example: 0
          examples:
          - 0
          title: Caas Ram Size Limit
          type: integer
        caas_ram_size_usage:
          description: MiB memory count for containers usage
          example: 0
          examples:
          - 0
          title: Caas Ram Size Usage
          type: integer
        cluster_count_limit:
          description: K8s clusters count limit
          example: 0
          examples:
          - 0
          title: Cluster Count Limit
          type: integer
        cluster_count_usage:
          description: K8s clusters count usage
          example: 0
          examples:
          - 0
          title: Cluster Count Usage
          type: integer
        cpu_count_limit:
          description: vCPU Count limit
          example: 0
          examples:
          - 0
          title: Cpu Count Limit
          type: integer
        cpu_count_usage:
          description: vCPU Count usage
          example: 0
          examples:
          - 0
          title: Cpu Count Usage
          type: integer
        dbaas_postgres_cluster_count_limit:
          description: DBaaS cluster count limit
          example: 0
          examples:
          - 0
          title: Dbaas Postgres Cluster Count Limit
          type: integer
        dbaas_postgres_cluster_count_usage:
          description: DBaaS cluster count usage
          example: 0
          examples:
          - 0
          title: Dbaas Postgres Cluster Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 0
          examples:
          - 0
          title: External Ip Count Limit
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 0
          examples:
          - 0
          title: External Ip Count Usage
          type: integer
        faas_cpu_count_limit:
          description: mCPU count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Cpu Count Limit
          type: integer
        faas_cpu_count_usage:
          description: mCPU count for functions usage
          example: 0
          examples:
          - 0
          title: Faas Cpu Count Usage
          type: integer
        faas_function_count_limit:
          description: Functions count limit
          example: 0
          examples:
          - 0
          title: Faas Function Count Limit
          type: integer
        faas_function_count_usage:
          description: Functions count usage
          example: 0
          examples:
          - 0
          title: Faas Function Count Usage
          type: integer
        faas_namespace_count_limit:
          description: Functions namespace count limit
          example: 0
          examples:
          - 0
          title: Faas Namespace Count Limit
          type: integer
        faas_namespace_count_usage:
          description: Functions namespace count usage
          example: 0
          examples:
          - 0
          title: Faas Namespace Count Usage
          type: integer
        faas_ram_size_limit:
          description: MiB memory count for functions limit
          example: 0
          examples:
          - 0
          title: Faas Ram Size Limit
          type: integer
        faas_ram_size_usage:
          description: MiB memory count for functions usage
          example: 0
          examples:
          - 0
          title: Faas Ram Size Usage
          type: integer
        firewall_count_limit:
          description: Firewalls Count limit
          example: 0
          examples:
          - 0
          title: Firewall Count Limit
          type: integer
        firewall_count_usage:
          description: Firewalls Count usage
          example: 0
          examples:
          - 0
          title: Firewall Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count limit
          example: 0
          examples:
          - 0
          title: Floating Count Limit
          type: integer
        floating_count_usage:
          description: Floating IP Count usage
          example: 0
          examples:
          - 0
          title: Floating Count Usage
          type: integer
        gpu_count_limit:
          description: GPU Count limit
          example: 0
          examples:
          - 0
          title: Gpu Count Limit
          type: integer
        gpu_count_usage:
          description: GPU Count usage
          example: 0
          examples:
          - 0
          title: Gpu Count Usage
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_a100_count_usage:
          description: Virtual A100 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual A100 Count Usage
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h100_count_usage:
          description: Virtual H100 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual H100 Count Usage
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_h200_count_usage:
          description: Virtual H200 GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual H200 Count Usage
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 0
          examples:
          - 0
          title: Gpu Virtual L40S Count Limit
          type: integer
        gpu_virtual_l40s_count_usage:
          description: Virtual L40S GPU card count usage
          example: 0
          examples:
          - 0
          title: Gpu Virtual L40S Count Usage
          type: integer
        image_count_limit:
          description: Images Count limit
          example: 0
          examples:
          - 0
          title: Image Count Limit
          type: integer
        image_count_usage:
          description: Images Count usage
          example: 0
          examples:
          - 0
          title: Image Count Usage
          type: integer
        image_size_limit:
          description: Images Size, bytes limit
          example: 0
          examples:
          - 0
          title: Image Size Limit
          type: integer
        image_size_usage:
          description: Images Size, bytes usage
          example: 0
          examples:
          - 0
          title: Image Size Usage
          type: integer
        ipu_count_limit:
          description: IPU Count limit
          example: 0
          examples:
          - 0
          title: Ipu Count Limit
          type: integer
        ipu_count_usage:
          description: IPU Count usage
          example: 0
          examples:
          - 0
          title: Ipu Count Usage
          type: integer
        laas_topic_count_limit:
          description: LaaS Topics Count limit
          example: 0
          examples:
          - 0
          title: Laas Topic Count Limit
          type: integer
        laas_topic_count_usage:
          description: LaaS Topics Count usage
          example: 0
          examples:
          - 0
          title: Laas Topic Count Usage
          type: integer
        loadbalancer_count_limit:
          description: Load Balancers Count limit
          example: 0
          examples:
          - 0
          title: Loadbalancer Count Limit
          type: integer
        loadbalancer_count_usage:
          description: Load Balancers Count usage
          example: 0
          examples:
          - 0
          title: Loadbalancer Count Usage
          type: integer
        network_count_limit:
          description: Networks Count limit
          example: 0
          examples:
          - 0
          title: Network Count Limit
          type: integer
        network_count_usage:
          description: Networks Count usage
          example: 0
          examples:
          - 0
          title: Network Count Usage
          type: integer
        ram_limit:
          description: RAM Size, MiB limit
          example: 0
          examples:
          - 0
          title: Ram Limit
          type: integer
        ram_usage:
          description: RAM Size, MiB usage
          example: 0
          examples:
          - 0
          title: Ram Usage
          type: integer
        region_id:
          description: Region ID
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        registry_count_limit:
          description: Registries count limit
          example: 0
          examples:
          - 0
          title: Registry Count Limit
          type: integer
        registry_count_usage:
          description: Registries count usage
          example: 0
          examples:
          - 0
          title: Registry Count Usage
          type: integer
        registry_storage_limit:
          description: Registries volume usage, GiB limit
          example: 0
          examples:
          - 0
          title: Registry Storage Limit
          type: integer
        registry_storage_usage:
          description: Registries volume usage, GiB usage
          example: 0
          examples:
          - 0
          title: Registry Storage Usage
          type: integer
        router_count_limit:
          description: Routers Count limit
          example: 0
          examples:
          - 0
          title: Router Count Limit
          type: integer
        router_count_usage:
          description: Routers Count usage
          example: 0
          examples:
          - 0
          title: Router Count Usage
          type: integer
        secret_count_limit:
          description: Secret Count limit
          example: 0
          examples:
          - 0
          title: Secret Count Limit
          type: integer
        secret_count_usage:
          description: Secret Count usage
          example: 0
          examples:
          - 0
          title: Secret Count Usage
          type: integer
        servergroup_count_limit:
          description: Placement Group Count limit
          example: 0
          examples:
          - 0
          title: Servergroup Count Limit
          type: integer
        servergroup_count_usage:
          description: Placement Group Count usage
          example: 0
          examples:
          - 0
          title: Servergroup Count Usage
          type: integer
        sfs_count_limit:
          description: Shared file system Count limit
          example: 0
          examples:
          - 0
          title: Sfs Count Limit
          type: integer
        sfs_count_usage:
          description: Shared file system Count usage
          example: 0
          examples:
          - 0
          title: Sfs Count Usage
          type: integer
        sfs_size_limit:
          description: Shared file system Size, GiB limit
          example: 0
          examples:
          - 0
          title: Sfs Size Limit
          type: integer
        sfs_size_usage:
          description: Shared file system Size, GiB usage
          example: 0
          examples:
          - 0
          title: Sfs Size Usage
          type: integer
        shared_vm_count_limit:
          description: Basic VMs Count limit
          example: 0
          examples:
          - 0
          title: Shared Vm Count Limit
          type: integer
        shared_vm_count_usage:
          description: Basic VMs Count usage
          example: 0
          examples:
          - 0
          title: Shared Vm Count Usage
          type: integer
        slurm_cluster_count_limit:
          description: Slurm cluster count limit for this region. 0 disables Slurm in this region.
          example: 0
          examples:
          - 0
          title: Slurm Cluster Count Limit
          type: integer
        slurm_cluster_count_usage:
          description: Slurm cluster count usage
          example: 0
          examples:
          - 0
          title: Slurm Cluster Count Usage
          type: integer
        snapshot_schedule_count_limit:
          description: Snapshot Schedules Count limit
          example: 0
          examples:
          - 0
          title: Snapshot Schedule Count Limit
          type: integer
        snapshot_schedule_count_usage:
          description: Snapshot Schedules Count usage
          example: 0
          examples:
          - 0
          title: Snapshot Schedule Count Usage
          type: integer
        subnet_count_limit:
          description: Subnets Count limit
          example: 0
          examples:
          - 0
          title: Subnet Count Limit
          type: integer
        subnet_count_usage:
          description: Subnets Count usage
          example: 0
          examples:
          - 0
          title: Subnet Count Usage
          type: integer
        vm_count_limit:
          description: Instances Dedicated Count limit
          example: 0
          examples:
          - 0
          title: Vm Count Limit
          type: integer
        vm_count_usage:
          description: Instances Dedicated Count usage
          example: 0
          examples:
          - 0
          title: Vm Count Usage
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 0
          examples:
          - 0
          title: Volume Count Limit
          type: integer
        volume_count_usage:
          description: Volumes Count usage
          example: 0
          examples:
          - 0
          title: Volume Count Usage
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Size Limit
          type: integer
        volume_size_usage:
          description: Volumes Size, GiB usage
          example: 0
          examples:
          - 0
          title: Volume Size Usage
          type: integer
        volume_snapshots_count_limit:
          description: Snapshots Count limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Count Limit
          type: integer
        volume_snapshots_count_usage:
          description: Snapshots Count usage
          example: 0
          examples:
          - 0
          title: Volume Snapshots Count Usage
          type: integer
        volume_snapshots_size_limit:
          description: Snapshots Size, GiB limit
          example: 0
          examples:
          - 0
          title: Volume Snapshots Size Limit
          type: integer
        volume_snapshots_size_usage:
          description: Snapshots Size, GiB usage
          example: 0
          examples:
          - 0
          title: Volume Snapshots Size Usage
          type: integer
      title: RegionalQuotas object
      type: object
    RegionalQuotasThresholdSerializer:
      properties:
        baremetal_basic_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Basic bare metal servers count limit
        baremetal_basic_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Basic bare metal servers count usage
        baremetal_gpu_a100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal A100 GPU server count limit
        baremetal_gpu_a100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal A100 GPU server count usage
        baremetal_gpu_h100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal H100 GPU server count limit
        baremetal_gpu_h100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal H100 GPU server count usage
        baremetal_gpu_h200_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal H200 GPU server count limit
        baremetal_gpu_h200_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal H200 GPU server count usage
        baremetal_gpu_l40s_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal L40S GPU server count limit
        baremetal_gpu_l40s_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal L40S GPU server count usage
        baremetal_hf_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: High-frequency bare metal servers count limit
        baremetal_hf_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: High-frequency bare metal servers count usage
        baremetal_infrastructure_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Infrastructure bare metal servers count limit
        baremetal_infrastructure_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Infrastructure bare metal servers count usage
        baremetal_network_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal Network Count limit
        baremetal_network_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Bare metal Network Count usage
        baremetal_storage_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Storage bare metal servers count limit
        baremetal_storage_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Storage bare metal servers count usage
        caas_container_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Containers count limit
        caas_container_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Containers count usage
        caas_cpu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: mCPU count for containers limit
        caas_cpu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: mCPU count for containers usage
        caas_gpu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Containers gpu count limit
        caas_gpu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Containers gpu count usage
        caas_ram_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: MiB memory count for containers limit
        caas_ram_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: MiB memory count for containers usage
        cluster_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: K8s clusters count limit
        cluster_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: K8s clusters count usage
        cpu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: vCPU Count limit
        cpu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: vCPU Count usage
        dbaas_postgres_cluster_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: DBaaS cluster count limit
        dbaas_postgres_cluster_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: DBaaS cluster count usage
        external_ip_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: External IP Count limit
        external_ip_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: External IP Count usage
        faas_cpu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: mCPU count for functions limit
        faas_cpu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: mCPU count for functions usage
        faas_function_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Functions count limit
        faas_function_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Functions count usage
        faas_namespace_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Functions namespace count limit
        faas_namespace_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Functions namespace count usage
        faas_ram_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: MiB memory count for functions limit
        faas_ram_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: MiB memory count for functions usage
        firewall_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Firewalls Count limit
        firewall_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Firewalls Count usage
        floating_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Floating IP Count limit
        floating_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Floating IP Count usage
        gpu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: GPU Count limit
        gpu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: GPU Count usage
        gpu_virtual_a100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual A100 GPU card count limit
        gpu_virtual_a100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual A100 GPU card count usage
        gpu_virtual_h100_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual H100 GPU card count limit
        gpu_virtual_h100_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual H100 GPU card count usage
        gpu_virtual_h200_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual H200 GPU card count limit
        gpu_virtual_h200_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual H200 GPU card count usage
        gpu_virtual_l40s_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual L40S GPU card count limit
        gpu_virtual_l40s_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Virtual L40S GPU card count usage
        image_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Images Count limit
        image_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Images Count usage
        image_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Images Size, bytes limit
        image_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Images Size, bytes usage
        ipu_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: IPU Count limit
        ipu_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: IPU Count usage
        laas_topic_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: LaaS Topics Count limit
        laas_topic_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: LaaS Topics Count usage
        loadbalancer_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Load Balancers Count limit
        loadbalancer_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Load Balancers Count usage
        network_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Networks Count limit
        network_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Networks Count usage
        ram_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: RAM Size, MiB limit
        ram_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: RAM Size, MiB usage
        region_id:
          description: Region id
          example: 2
          examples:
          - 2
          title: Region Id
          type: integer
        region_name:
          description: Region name
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region Name
          type: string
        registry_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Registries count limit
        registry_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Registries count usage
        registry_storage_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Registries volume usage, GiB limit
        registry_storage_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Registries volume usage, GiB usage
        router_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Routers Count limit
        router_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Routers Count usage
        secret_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Secret Count limit
        secret_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Secret Count usage
        servergroup_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Placement Group Count limit
        servergroup_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Placement Group Count usage
        sfs_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Shared file system Count limit
        sfs_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Shared file system Count usage
        sfs_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Shared file system Size, GiB limit
        sfs_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Shared file system Size, GiB usage
        shared_vm_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Basic VMs Count limit
        shared_vm_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Basic VMs Count usage
        slurm_cluster_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Slurm cluster count limit for this region. 0 disables Slurm in this region.
        slurm_cluster_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Slurm cluster count usage
        snapshot_schedule_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshot Schedules Count limit
        snapshot_schedule_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshot Schedules Count usage
        subnet_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Subnets Count limit
        subnet_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Subnets Count usage
        vm_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Instances Dedicated Count limit
        vm_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Instances Dedicated Count usage
        volume_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Volumes Count limit
        volume_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Volumes Count usage
        volume_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Volumes Size, GiB limit
        volume_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Volumes Size, GiB usage
        volume_snapshots_count_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshots Count limit
        volume_snapshots_count_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshots Count usage
        volume_snapshots_size_limit:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshots Size, GiB limit
        volume_snapshots_size_usage:
          $ref: '#/components/schemas/QuotaCountForThresholdSerializer'
          description: Snapshots Size, GiB usage
      required:
      - region_id
      - region_name
      title: RegionalQuotasThresholdSerializer
      type: object
    RegistryArtifactCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegistryArtifactSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegistryArtifactCollectionSerializer
      type: object
    RegistryArtifactSerializer:
      properties:
        digest:
          description: Artifact digest
          example: sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          examples:
          - sha256:5414002a0c147f8e41da0d0764b5074480012852d5d9a0ef8bd2fec904e62b7c
          title: Digest
          type: string
        id:
          description: Repository ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        pulled_at:
          description: Artifact last pull date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Pulled At
          type: string
        pushed_at:
          description: Artifact push date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Pushed At
          type: string
        registry_id:
          description: Artifact registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
        repository_id:
          description: Artifact repository ID
          example: 1
          examples:
          - 1
          title: Repository Id
          type: integer
        size:
          description: Artifact size, bytes
          example: 1
          examples:
          - 1
          title: Size
          type: integer
        tags:
          description: Artifact tags
          example: &id239
          - artifact_id: 1
            id: 1
            name: v0.0.1
            pulled_at: '2024-06-18T09:36:53.335000Z'
            pushed_at: '2024-06-18T09:36:53.335000Z'
            repository_id: 5
          - artifact_id: 1
            id: 2
            name: latest
            pulled_at: '2024-06-18T09:36:53.335000Z'
            pushed_at: '2024-06-18T09:36:53.335000Z'
            repository_id: 5
          examples:
          - *id239
          items:
            $ref: '#/components/schemas/RegistryTagSerializer'
          title: Tags
          type: array
      required:
      - id
      - registry_id
      - repository_id
      - digest
      - size
      - pushed_at
      - pulled_at
      - tags
      title: RegistryArtifactSerializer
      type: object
    RegistryBatchUsersCreateSerializer:
      properties:
        users:
          description: Set of users
          example: &id240
          - duration: -1
            name: user1
            read_only: false
          examples:
          - *id240
          items:
            $ref: '#/components/schemas/RegistryUserCreateSerializer'
          title: Users
          type: array
      required:
      - users
      title: RegistryBatchUsersCreateSerializer
      type: object
    RegistryCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegistrySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegistryCollectionSerializer
      type: object
    RegistryCreateSerializer:
      properties:
        name:
          description: |-
            A name for the container registry. 

              Should be in lowercase, consisting only of numbers, letters and -, 

              with maximum length of 24 characters
          example: reg-home1
          examples:
          - reg-home1
          pattern: ^[a-z][-a-z0-9]{0,22}[a-z0-9]$
          title: Name
          type: string
        storage_limit:
          default: 5
          description: Registry storage limit, GiB
          example: 5
          examples:
          - 5
          maximum: 1000
          minimum: 1
          title: Storage Limit
          type: integer
      required:
      - name
      title: RegistryCreateSerializer
      type: object
    RegistryQuotaCheckSerializer:
      properties:
        registry_count_limit:
          description: Registries count limit
          example: 5
          examples:
          - 5
          title: Registry Count Limit
          type: integer
        registry_count_requested:
          description: Registries count requested
          example: 1
          examples:
          - 1
          title: Registry Count Requested
          type: integer
        registry_count_usage:
          description: Registries count usage
          example: 5
          examples:
          - 5
          title: Registry Count Usage
          type: integer
        registry_storage_limit:
          description: Registries storage limit, GiB
          example: 500
          examples:
          - 500
          title: Registry Storage Limit
          type: integer
        registry_storage_requested:
          description: Registries storage requested, GiB
          example: 100
          examples:
          - 100
          title: Registry Storage Requested
          type: integer
        registry_storage_usage:
          description: Registries storage usage, GiB
          example: 450
          examples:
          - 450
          title: Registry Storage Usage
          type: integer
      title: RegistryQuotaCheckSerializer
      type: object
    RegistryRepositoryCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegistryRepositorySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegistryRepositoryCollectionSerializer
      type: object
    RegistryRepositorySerializer:
      properties:
        artifact_count:
          description: Number of artifacts in the repository
          example: 1
          examples:
          - 1
          title: Artifact Count
          type: integer
        created_at:
          description: Repository creation date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Created At
          type: string
        id:
          description: Repository ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: Repository name
          example: nginx
          examples:
          - nginx
          title: Name
          type: string
        pull_count:
          description: Number of pools from the repository
          example: 1
          examples:
          - 1
          title: Pull Count
          type: integer
        registry_id:
          description: Repository registry ID
          example: 1
          examples:
          - 1
          title: Registry Id
          type: integer
        updated_at:
          description: Repository modification date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - registry_id
      - name
      - artifact_count
      - pull_count
      - created_at
      - updated_at
      title: RegistryRepositorySerializer
      type: object
    RegistryResizeSerializer:
      properties:
        storage_limit:
          default: 5
          description: Registry storage limit, GiB
          example: 5
          examples:
          - 5
          maximum: 1000
          minimum: 1
          title: Storage Limit
          type: integer
      title: RegistryResizeSerializer
      type: object
    RegistrySerializer:
      properties:
        created_at:
          description: Registry creation date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Created At
          type: string
        id:
          description: Registry ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: Registry name
          example: company-name
          examples:
          - company-name
          title: Name
          type: string
        repo_count:
          description: Number of repositories in the registry
          example: 1
          examples:
          - 1
          title: Repo Count
          type: integer
        storage_limit:
          description: Registry storage limit, GiB
          example: 5
          examples:
          - 5
          title: Storage Limit
          type: integer
        storage_used:
          description: Registry storage used, bytes
          example: 1000000000
          examples:
          - 1000000000
          title: Storage Used
          type: integer
        updated_at:
          description: Registry modification date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Updated At
          type: string
        url:
          description: Registry url
          title: Url
          type: string
      required:
      - id
      - name
      - storage_limit
      - storage_used
      - url
      - created_at
      - updated_at
      - repo_count
      title: RegistrySerializer
      type: object
    RegistryTagSerializer:
      properties:
        artifact_id:
          description: Artifact ID
          example: 1
          examples:
          - 1
          title: Artifact Id
          type: integer
        id:
          description: Tag ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: Tag name
          example: 0.0.1
          examples:
          - 0.0.1
          title: Name
          type: string
        pulled_at:
          description: Tag last pull date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Pulled At
          type: string
        pushed_at:
          description: Tag push date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Pushed At
          type: string
        repository_id:
          description: Repository ID
          example: 1
          examples:
          - 1
          title: Repository Id
          type: integer
      required:
      - id
      - artifact_id
      - repository_id
      - name
      - pushed_at
      - pulled_at
      title: RegistryTagSerializer
      type: object
    RegistryUserCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegistryUserSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegistryUserCollectionSerializer
      type: object
    RegistryUserCreateResponseCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RegistryUserCreateResponseSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RegistryUserCreateResponseCollectionSerializer
      type: object
    RegistryUserCreateResponseSerializer:
      properties:
        created_at:
          description: User creation date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Created At
          type: string
        duration:
          description: User account operating time, days
          example: 14
          examples:
          - 14
          title: Duration
          type: integer
        expires_at:
          description: User operation end date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Expires At
          type: string
        id:
          description: User ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: User name
          example: user1
          examples:
          - user1
          title: Name
          type: string
        read_only:
          description: Read-only user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
        secret:
          description: User secret
          title: Secret
          type: string
      required:
      - id
      - name
      - read_only
      - duration
      - created_at
      - expires_at
      - secret
      title: RegistryUserCreateResponseSerializer
      type: object
    RegistryUserCreateSerializer:
      properties:
        duration:
          description: User account operating time, days
          example: 14
          examples:
          - 14
          maximum: 365
          minimum: -1
          title: Duration
          type: integer
        name:
          description: |-
            A name for the registry user. 

              Should be in lowercase, consisting only of numbers and letters, 

              with maximum length of 16 characters
          example: user1
          examples:
          - user1
          pattern: ^[a-z0-9]{0,16}$
          title: Name
          type: string
        read_only:
          default: false
          description: Read-only user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
        secret:
          default: ''
          description: User secret
          title: Secret
          type: string
      required:
      - name
      - duration
      title: RegistryUserCreateSerializer
      type: object
    RegistryUserSerializer:
      properties:
        created_at:
          description: User creation date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Created At
          type: string
        duration:
          description: User account operating time, days
          example: 14
          examples:
          - 14
          title: Duration
          type: integer
        expires_at:
          description: User operation end date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Expires At
          type: string
        id:
          description: User ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: User name
          example: user1
          examples:
          - user1
          title: Name
          type: string
        read_only:
          description: Read-only user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
      required:
      - id
      - name
      - read_only
      - duration
      - created_at
      - expires_at
      title: RegistryUserSerializer
      type: object
    RegistryUserUpdateResponseSerializer:
      properties:
        created_at:
          description: User creation date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Created At
          type: string
        duration:
          description: User account operating time, days
          example: 14
          examples:
          - 14
          title: Duration
          type: integer
        expires_at:
          description: User operation end date-time
          example: '2024-06-18T09:36:53.335000Z'
          examples:
          - '2024-06-18T09:36:53.335000Z'
          format: date-time
          title: Expires At
          type: string
        id:
          description: User ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        name:
          description: User name
          example: user1
          examples:
          - user1
          title: Name
          type: string
        read_only:
          description: Read-only user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
        secret:
          description: User secret
          title: Secret
          type: string
      required:
      - id
      - name
      - read_only
      - duration
      - created_at
      - expires_at
      - secret
      title: RegistryUserUpdateResponseSerializer
      type: object
    RegistryUserUpdateSerializer:
      properties:
        duration:
          description: User account operating time, days
          example: 14
          examples:
          - 14
          maximum: 365
          minimum: -1
          title: Duration
          type: integer
        read_only:
          default: false
          description: Read-only user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
      required:
      - duration
      title: RegistryUserUpdateSerializer
      type: object
    RemoteConsoleData:
      properties:
        protocol:
          title: Protocol
          type: string
        type:
          title: Type
          type: string
        url:
          format: uri
          minLength: 1
          title: Url
          type: string
      required:
      - protocol
      - type
      - url
      title: RemoteConsoleData
      type: object
    RemoteConsoleSerializer:
      properties:
        remote_console:
          $ref: '#/components/schemas/RemoteConsoleData'
          description: Remote console information
          examples:
          - protocol: vnc
            type: novnc
            url: https://console-novnc.example.com/vnc_auto.html?path=%3Ftoken%3Df445c4b6-0a77-4fae-bc0e-147201dbfbea
      required:
      - remote_console
      title: RemoteConsoleSerializer
      type: object
    RemoveScheduleSerializer:
      properties:
        schedule_ids:
          description: List of schedule IDs.
          example: &id241
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - *id241
          items:
            type: string
          title: Schedule Ids
          type: array
      required:
      - schedule_ids
      title: RemoveScheduleSerializer
      type: object
    ReplicationMode:
      enum:
      - async
      - sync
      title: ReplicationMode
      type: string
    RequestAssignmentSerializer:
      properties:
        client_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Client ID. Required if `project_id` is specified
          examples:
          - 8
          title: Client Id
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Project ID
          examples:
          - null
          title: Project Id
        role:
          $ref: '#/components/schemas/CustomerAssignableRole'
          description: User role
          examples:
          - ClientAdministrator
        user_id:
          description: User ID
          example: 777
          examples:
          - 777
          title: User Id
          type: integer
      required:
      - user_id
      - role
      title: AssignRoleRequestSchema schema
      type: object
    ReservationCostReportResponseFormat:
      description: Response format for Reservation Cost Report
      enum:
      - csv_totals
      - json
      title: ReservationCostReportResponseFormat
      type: string
    ReservationCostReportTotalsRequestSerializer:
      additionalProperties: false
      example: &id242
        regions:
        - 4
        - 5
        response_format: json
        schema_filter:
          field: flavor
          type: instance
          values:
          - g1-standard-1-2
        tags:
          condition_type: OR
          conditions:
          - key: os_version
            strict: true
            value: '22.04'
          - key: os_version
            strict: true
            value: '23.04'
        time_from: 2024-08
        time_to: 2024-08
        types:
        - egress_traffic
        - instance
      examples:
      - *id242
      properties:
        regions:
          description: List of region IDs.
          example: &id243
          - 1
          - 2
          - 3
          examples:
          - *id243
          items:
            type: integer
          title: Regions
          type: array
        response_format:
          $ref: '#/components/schemas/ReservationCostReportResponseFormat'
          default: json
          description: Format of the response (`csv_totals` or json).
          examples:
          - csv_totals
          - json
        rounding:
          default: true
          description: Round cost values to 5 decimal places. When false, returns full precision.
          title: Rounding
          type: boolean
        schema_filter:
          description: Extended filter for field filtering.
          discriminator:
            mapping:
              ai_cluster: '#/components/schemas/SchemaFilterAiClusterSerializer'
              ai_virtual_cluster: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
              backup: '#/components/schemas/SchemaFilterBackupSerializer'
              baremetal: '#/components/schemas/SchemaFilterBaremetalSerializer'
              basic_vm: '#/components/schemas/SchemaFilterBasicVmSerializer'
              containers: '#/components/schemas/SchemaFilterContainersSerializer'
              dbaas_postgresql_connection_pooler: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
              dbaas_postgresql_cpu: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
              dbaas_postgresql_memory: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
              dbaas_postgresql_public_network: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
              dbaas_postgresql_volume: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
              egress_traffic: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
              external_ip: '#/components/schemas/SchemaFilterExternalIpSerializer'
              file_share: '#/components/schemas/SchemaFilterFileShareSerializer'
              floatingip: '#/components/schemas/SchemaFilterFloatingIpSerializer'
              functions: '#/components/schemas/SchemaFilterFunctionsSerializer'
              functions_calls: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
              functions_traffic: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
              image: '#/components/schemas/SchemaFilterImageSerializer'
              inference: '#/components/schemas/SchemaFilterInferenceSerializer'
              instance: '#/components/schemas/SchemaFilterInstanceSerializer'
              load_balancer: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
              log_index: '#/components/schemas/SchemaFilterLogIndexSerializer'
              snapshot: '#/components/schemas/SchemaFilterSnapshotSerializer'
              volume: '#/components/schemas/SchemaFilterVolumeSerializer'
            propertyName: type
          examples:
          - field: flavor
            type: instance
            values:
            - g1-standard-1-2
          oneOf:
          - $ref: '#/components/schemas/SchemaFilterSnapshotSerializer'
          - $ref: '#/components/schemas/SchemaFilterInstanceSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterBasicVmSerializer'
          - $ref: '#/components/schemas/SchemaFilterBaremetalSerializer'
          - $ref: '#/components/schemas/SchemaFilterVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterFileShareSerializer'
          - $ref: '#/components/schemas/SchemaFilterImageSerializer'
          - $ref: '#/components/schemas/SchemaFilterFloatingIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
          - $ref: '#/components/schemas/SchemaFilterExternalIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterBackupSerializer'
          - $ref: '#/components/schemas/SchemaFilterLogIndexSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterContainersSerializer'
          - $ref: '#/components/schemas/SchemaFilterInferenceSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
          title: Schema Filter
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          deprecated: true
          description: 'Deprecated. Use `year_month` instead. Beginning of the period: YYYY-mm'
          example: 2024-08
          examples:
          - 2024-08
          format: date-time
          title: Time From
          type: string
        time_to:
          deprecated: true
          description: 'Deprecated. Use `year_month` instead. End of the period: YYYY-mm'
          example: 2024-08
          examples:
          - 2024-08
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types to be filtered in the report.
          example: &id244
          - egress_traffic
          - instance
          examples:
          - *id244
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          title: Types
          type: array
        year_month:
          description: Year and month in the format YYYY-MM
          example: 2024-08
          examples:
          - 2024-08
          title: Year Month
          type: string
      title: ReservationCostReportTotalsRequestSerializer
      type: object
    ReservationCostReportTotalsResponseSerializer:
      properties:
        count:
          description: Total count of the totals
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        price_status:
          $ref: '#/components/schemas/CostReportPriceDisplayStatus'
          description: 'Price status for the UI, type: string'
        results:
          items:
            discriminator:
              mapping:
                ai_cluster: '#/components/schemas/TotalAiClusterWithCostSerializer'
                ai_virtual_cluster: '#/components/schemas/TotalAiVirtualClusterWithCostSerializer'
                backup: '#/components/schemas/TotalBackupWithCostSerializer'
                baremetal: '#/components/schemas/TotalBaremetalWithCostSerializer'
                basic_vm: '#/components/schemas/TotalBasicVmWithCostSerializer'
                containers: '#/components/schemas/TotalContainerWithCostSerializer'
                dbaas_postgresql_connection_pooler: '#/components/schemas/TotalDBAASPostgreSQLPoolerWithCostSerializer'
                dbaas_postgresql_cpu: '#/components/schemas/TotalDBAASPostgreSQLCPUWithCostSerializer'
                dbaas_postgresql_memory: '#/components/schemas/TotalDBAASPostgreSQLMemoryWithCostSerializer'
                dbaas_postgresql_public_network: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkWithCostSerializer'
                dbaas_postgresql_volume: '#/components/schemas/TotalDBAASPostgreSQLVolumeWithCostSerializer'
                egress_traffic: '#/components/schemas/TotalEgressTrafficWithCostSerializer'
                external_ip: '#/components/schemas/TotalExternalIpWithCostSerializer'
                file_share: '#/components/schemas/TotalFileShareWithCostSerializer'
                floatingip: '#/components/schemas/TotalFloatingIpWithCostSerializer'
                functions: '#/components/schemas/TotalFunctionsWithCostSerializer'
                functions_calls: '#/components/schemas/TotalFunctionCallsWithCostSerializer'
                functions_traffic: '#/components/schemas/TotalFunctionEgressTrafficWithCostSerializer'
                image: '#/components/schemas/TotalImagesWithCostSerializer'
                inference: '#/components/schemas/TotalInferenceWithCostSerializer'
                instance: '#/components/schemas/TotalInstanceWithCostSerializer'
                load_balancer: '#/components/schemas/TotalLoadBalancerWithCostSerializer'
                log_index: '#/components/schemas/TotalLogIndexWithCostSerializer'
                snapshot: '#/components/schemas/TotalSnapshotWithCostSerializer'
                volume: '#/components/schemas/TotalVolumeWithCostSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/TotalAiClusterWithCostSerializer'
            - $ref: '#/components/schemas/TotalAiVirtualClusterWithCostSerializer'
            - $ref: '#/components/schemas/TotalBaremetalWithCostSerializer'
            - $ref: '#/components/schemas/TotalBasicVmWithCostSerializer'
            - $ref: '#/components/schemas/TotalBackupWithCostSerializer'
            - $ref: '#/components/schemas/TotalContainerWithCostSerializer'
            - $ref: '#/components/schemas/TotalEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/TotalExternalIpWithCostSerializer'
            - $ref: '#/components/schemas/TotalFileShareWithCostSerializer'
            - $ref: '#/components/schemas/TotalFloatingIpWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionsWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionCallsWithCostSerializer'
            - $ref: '#/components/schemas/TotalFunctionEgressTrafficWithCostSerializer'
            - $ref: '#/components/schemas/TotalImagesWithCostSerializer'
            - $ref: '#/components/schemas/TotalInferenceWithCostSerializer'
            - $ref: '#/components/schemas/TotalInstanceWithCostSerializer'
            - $ref: '#/components/schemas/TotalLoadBalancerWithCostSerializer'
            - $ref: '#/components/schemas/TotalLogIndexWithCostSerializer'
            - $ref: '#/components/schemas/TotalSnapshotWithCostSerializer'
            - $ref: '#/components/schemas/TotalVolumeWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPoolerWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLMemoryWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLCPUWithCostSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLVolumeWithCostSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      - price_status
      title: ReservationCostReportTotalsResponseSerializer
      type: object
    ReservationSerializer:
      properties:
        resource_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: ID of the instance or load balancer the IP is attached to. Null when the IP isn't attached.
          examples:
          - 83ed4ea6-bcae-4100-9e4d-36e541ff919b
          title: Resource Id
        resource_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Resource type of the resource the IP is attached to. Null when the IP isn't attached.
          examples:
          - instance
          title: Resource Type
        status:
          anyOf:
          - type: string
          - type: 'null'
          description: IP reservation status. Null when the IP isn't attached to a resource.
          examples:
          - attached
          title: Status
      required:
      - status
      - resource_type
      - resource_id
      title: ReservationSerializer
      type: object
    ReservedFixedIPCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ReservedFixedIPSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ReservedFixedIPCollectionSerializer
      type: object
    ReservedFixedIPConversionTargetType:
      enum:
      - floating_ip
      title: ReservedFixedIPConversionTargetType
      type: string
    ReservedFixedIPOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - fixed_ip_address.asc
      - fixed_ip_address.desc
      - name.asc
      - name.desc
      - status.asc
      - status.desc
      - updated_at.asc
      - updated_at.desc
      title: ReservedFixedIPOrderByChoices
      type: string
    ReservedFixedIPSerializer:
      properties:
        allowed_address_pairs:
          description: Group of subnet masks and/or IP addresses that share the current IP as VIP
          example: &id245
          - ip_address: 192.168.123.20
            mac_address: 00:16:3e:f2:87:16
          - ip_address: 192.168.0.2
            mac_address: 00:16:3e:f2:87:89
          examples:
          - *id245
          items:
            $ref: '#/components/schemas/AllowedAddressPairsSerializer'
          title: Allowed Address Pairs
          type: array
        attachments:
          description: Reserved fixed IP attachment entities
          example: &id246
          - resource_id: e3c6ee77-48cb-416b-b204-11b492cc776e3
            resource_type: instance
          - resource_id: e73a4dbd-da04-4b6e-8ef9-07e8742001b7
            resource_type: ai_cluster
          examples:
          - *id246
          items:
            $ref: '#/components/schemas/AttachmentSerializer'
          title: Attachments
          type: array
        created_at:
          description: Datetime when the reserved fixed IP was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the reservation wasn't created via a tracked task.
          examples:
          - 30378aea-9343-4ff6-be38-9756094e05da
          title: Creator Task Id
        fixed_ip_address:
          anyOf:
          - format: ipv4
            type: string
          - type: 'null'
          description: IPv4 address of the reserved fixed IP. Null when the reservation has no IPv4 address.
          examples:
          - 10.100.179.44
          title: Fixed Ip Address
        fixed_ipv6_address:
          anyOf:
          - format: ipv6
            type: string
          - type: 'null'
          description: IPv6 address of the reserved fixed IP. Null when the reservation has no IPv6 address.
          examples:
          - null
          title: Fixed Ipv6 Address
        is_external:
          description: If reserved fixed IP belongs to a public network
          example: false
          examples:
          - false
          title: Is External
          type: boolean
        is_vip:
          description: If reserved fixed IP is a VIP
          example: false
          examples:
          - false
          title: Is Vip
          type: boolean
        name:
          description: Reserved fixed IP name
          example: Reserved fixed ip 10.100.179.44
          examples:
          - Reserved fixed ip 10.100.179.44
          title: Name
          type: string
        network:
          $ref: '#/components/schemas/NetworkSerializer'
          description: Network details
        network_id:
          description: ID of the network the port is attached to
          example: eed97610-708d-43a5-a9a5-caebd2b7b4ee
          examples:
          - eed97610-708d-43a5-a9a5-caebd2b7b4ee
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of the port underlying the reserved fixed IP
          example: 817c8a3d-bb67-4b88-a0d1-aec980318ff1
          examples:
          - 817c8a3d-bb67-4b88-a0d1-aec980318ff1
          format: uuid4
          title: Port Id
          type: string
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID. Null in an internal, project-less context.
          examples:
          - 1337
          title: Project Id
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        reservation:
          $ref: '#/components/schemas/ReservationSerializer'
          description: Reserved fixed IP status with resource type and ID it is attached to
        status:
          description: Underlying port status
          example: DOWN
          examples:
          - DOWN
          title: Status
          type: string
        subnet_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: ID of the subnet that owns the IP address. Null when the reservation has no IPv4 address.
          examples:
          - 747db04a-2aac-4fda-9492-d9b85a798c09
          title: Subnet Id
        subnet_v6_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: ID of the subnet that owns the IPv6 address. Null when the reservation has no IPv6 address.
          examples:
          - null
          title: Subnet V6 Id
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the reserved fixed IP was last updated
          example: 2019-06-18T11:57:00+0000
          examples:
          - 2019-06-18T11:57:00+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - port_id
      - name
      - created_at
      - updated_at
      - status
      - fixed_ip_address
      - subnet_id
      - fixed_ipv6_address
      - subnet_v6_id
      - network_id
      - network
      - creator_task_id
      - task_id
      - is_external
      - is_vip
      - reservation
      - allowed_address_pairs
      - attachments
      title: ReservedFixedIPSerializer
      type: object
    ResizeAIClusterGPUSerializerV1:
      properties:
        instances_count:
          description: Resized (total) number of instances
          minimum: 1
          title: Instances Count
          type: integer
      required:
      - instances_count
      title: ResizeAIClusterGPUSerializerV1
      type: object
    ResizeLoadBalancer:
      properties:
        flavor:
          description: Name of the desired flavor to resize to.
          example: lb1-2-4
          examples:
          - lb1-2-4
          - lb1-4-8
          title: Flavor
          type: string
      required:
      - flavor
      title: ResizeLoadBalancer
      type: object
    ResizeSfsSerializer:
      properties:
        size:
          description: File Share new size in GiB.
          example: 5
          examples:
          - 5
          minimum: 1
          title: Size
          type: integer
      required:
      - size
      title: ResizeSfsSerializer
      type: object
    ResizeVirtualGPUClusterSerializer:
      properties:
        action:
          const: resize
          description: Action name
          example: resize
          examples:
          - resize
          title: Action
          type: string
        servers_count:
          description: Requested servers count
          example: 5
          examples:
          - 5
          exclusiveMinimum: 0
          title: Servers Count
          type: integer
      required:
      - action
      - servers_count
      title: ResizeVirtualGPUClusterSerializer
      type: object
    ResourceAiClusterSerializer:
      description: |-
        These properties are common for all individual AI clusters
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: bm3-ai-1xlarge-h100-80-8_min
          examples:
          - bm3-ai-1xlarge-h100-80-8_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the Baremetal GPU cluster
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        last_name:
          description: Name of the AI cluster
          example: ai_cluster_name
          examples:
          - ai_cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: ai_cluster
          title: Type
          type: string
        uuid:
          description: UUID of the Baremetal GPU cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceAiClusterSerializer
      type: object
    ResourceAiClusterWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'AI Infrastructure: bm3-ai-1xlarge-h100-80-8 (2 x Intel Xeon 8480+, 2TB RAM, 8x3.84 TB NVMe, 8x Nvidia H100, IB 3.2 Tbit/s, 2x100Gbit/s Ethernet)  Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: bm3-ai-1xlarge-h100-80-8_min
          examples:
          - bm3-ai-1xlarge-h100-80-8_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the Baremetal GPU cluster
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        last_name:
          description: Name of the AI cluster
          example: ai_cluster_name
          examples:
          - ai_cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: ai_cluster
          title: Type
          type: string
        uuid:
          description: UUID of the Baremetal GPU cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceAiClusterWithCostSerializer
      type: object
    ResourceAiVirtualClusterSerializer:
      description: |-
        These properties are common for all individual AI Virtual clusters
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g3-ai-32-192-1500-l40s-48-1_min
          examples:
          - g3-ai-32-192-1500-l40s-48-1_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the Virtual GPU cluster
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        last_name:
          description: Name of the AI cluster
          example: ai_virtual_cluster_name
          examples:
          - ai_virtual_cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: ai_virtual_cluster
          title: Type
          type: string
        uuid:
          description: UUID of the Virtual GPU cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceAiVirtualClusterSerializer
      type: object
    ResourceAiVirtualClusterWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'AI Infrastructure: g3-ai-128-768-6000-l40s-48-4 (128vCPU/768GB RAM/6000GB NVMe/L40S-48GB-4GPU) Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g3-ai-32-192-1500-l40s-48-1_min
          examples:
          - g3-ai-32-192-1500-l40s-48-1_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the Virtual GPU cluster
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        last_name:
          description: Name of the AI cluster
          example: ai_virtual_cluster_name
          examples:
          - ai_virtual_cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: ai_virtual_cluster
          title: Type
          type: string
        uuid:
          description: UUID of the Virtual GPU cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceAiVirtualClusterWithCostSerializer
      type: object
    ResourceBackupSerializer:
      description: |-
        These properties are common for all individual backups
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: backup_gbm
          examples:
          - backup_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the backup
          example: backup_name
          examples:
          - backup_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the backup in bytes
          example: 46137344
          examples:
          - 46137344
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        schedule_id:
          description: ID of the backup schedule
          format: uuid
          title: Schedule Id
          type: string
        source_volume_uuid:
          description: UUID of the source volume
          format: uuid
          title: Source Volume Uuid
          type: string
        type:
          const: backup
          title: Type
          type: string
        uuid:
          description: UUID of the backup
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - last_size
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - source_volume_uuid
      - schedule_id
      title: ResourceBackupSerializer
      type: object
    ResourceBackupWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Backup to S3 - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: backup_gbm
          examples:
          - backup_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the backup
          example: backup_name
          examples:
          - backup_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the backup in bytes
          example: 46137344
          examples:
          - 46137344
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        schedule_id:
          description: ID of the backup schedule
          format: uuid
          title: Schedule Id
          type: string
        source_volume_uuid:
          description: UUID of the source volume
          format: uuid
          title: Source Volume Uuid
          type: string
        type:
          const: backup
          title: Type
          type: string
        uuid:
          description: UUID of the backup
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - last_size
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - source_volume_uuid
      - schedule_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceBackupWithCostSerializer
      type: object
    ResourceBaremetalSerializer:
      description: |-
        These properties are common for all individual bare metal servers
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: bm2-hf-medium_min
          examples:
          - bm2-hf-medium_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the bare metal server
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Flavor
          type: string
        last_name:
          description: Name of the bare metal server
          example: baremetal_name
          examples:
          - baremetal_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: baremetal
          title: Type
          type: string
        uuid:
          description: UUID of the bare metal server
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceBaremetalSerializer
      type: object
    ResourceBaremetalWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: bm2-hf-medium (1x Intel Xeon E-2388G, 64GB, 2x480 SSD, 2x1Gbit NIC) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: bm2-hf-medium_min
          examples:
          - bm2-hf-medium_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the bare metal server
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Flavor
          type: string
        last_name:
          description: Name of the bare metal server
          example: baremetal_name
          examples:
          - baremetal_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: baremetal
          title: Type
          type: string
        uuid:
          description: UUID of the bare metal server
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceBaremetalWithCostSerializer
      type: object
    ResourceBasicVmSerializer:
      description: |-
        These properties are common for all individual basic VMs
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g2s-shared-1-2-25_min
          examples:
          - g2s-shared-1-2-25_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the basic VM
          example: g2s-shared-1-2-25
          examples:
          - g2s-shared-1-2-25
          title: Flavor
          type: string
        last_name:
          description: Name of the basic VM
          example: basic_vm_name
          examples:
          - basic_vm_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: basic_vm
          title: Type
          type: string
        uuid:
          description: UUID of the basic VM
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceBasicVmSerializer
      type: object
    ResourceBasicVmWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: g2s-shared-1-2-25 (1vCPU/2GB RAM/25GB SSD) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g2s-shared-1-2-25_min
          examples:
          - g2s-shared-1-2-25_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the basic VM
          example: g2s-shared-1-2-25
          examples:
          - g2s-shared-1-2-25
          title: Flavor
          type: string
        last_name:
          description: Name of the basic VM
          example: basic_vm_name
          examples:
          - basic_vm_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: basic_vm
          title: Type
          type: string
        uuid:
          description: UUID of the basic VM
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceBasicVmWithCostSerializer
      type: object
    ResourceContainerSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: caas_container_resources_sec
          examples:
          - caas_container_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the container
          example: container_name
          examples:
          - container_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: containers
          title: Type
          type: string
        uuid:
          description: UUID of the container
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceContainerSerializer
      type: object
    ResourceContainerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Container as a Service - Total Compute (GB-seconds), Luxembourg-2 - Overcommit
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: caas_container_resources_sec
          examples:
          - caas_container_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the container
          example: container_name
          examples:
          - container_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: containers
          title: Type
          type: string
        uuid:
          description: UUID of the container
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceContainerWithCostSerializer
      type: object
    ResourceDBAASPostgreSQLCPUSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_cpu_min
          examples:
          - dbaas_postgresql_cpu_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_cpu
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceDBAASPostgreSQLCPUSerializer
      type: object
    ResourceDBAASPostgreSQLCPUWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL CPU - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_cpu_min
          examples:
          - dbaas_postgresql_cpu_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_cpu
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceDBAASPostgreSQLCPUWithCostSerializer
      type: object
    ResourceDBAASPostgreSQLMemorySerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_memory_gbmin
          examples:
          - dbaas_postgresql_memory_gbmin
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_memory
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceDBAASPostgreSQLMemorySerializer
      type: object
    ResourceDBAASPostgreSQLMemoryWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Memory - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_memory_gbmin
          examples:
          - dbaas_postgresql_memory_gbmin
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_memory
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceDBAASPostgreSQLMemoryWithCostSerializer
      type: object
    ResourceDBAASPostgreSQLPoolerSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_connection_pooler
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceDBAASPostgreSQLPoolerSerializer
      type: object
    ResourceDBAASPostgreSQLPoolerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Connection Pooler - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_connection_pooler
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceDBAASPostgreSQLPoolerWithCostSerializer
      type: object
    ResourceDBAASPostgreSQLPublicNetworkSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_public_network
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceDBAASPostgreSQLPublicNetworkSerializer
      type: object
    ResourceDBAASPostgreSQLPublicNetworkWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Public Network - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_public_network
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceDBAASPostgreSQLPublicNetworkWithCostSerializer
      type: object
    ResourceDBAASPostgreSQLVolumeSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        type:
          const: dbaas_postgresql_volume
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - size_unit
      title: ResourceDBAASPostgreSQLVolumeSerializer
      type: object
    ResourceDBAASPostgreSQLVolumeWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Storage (SSD Low Latency) - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the cluster
          example: cluster_name
          examples:
          - cluster_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        type:
          const: dbaas_postgresql_volume
          title: Type
          type: string
        uuid:
          description: UUID of the cluster
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - size_unit
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceDBAASPostgreSQLVolumeWithCostSerializer
      type: object
    ResourceDiscountSerializer:
      properties:
        discount:
          description: Discount value within range [0..1] where 1 is 100%.
          example: '0.1'
          examples:
          - '0.1'
          - '0.02'
          - '0.99'
          title: Discount
          type: string
        resource:
          description: Resource name.
          example: ssd_hiiops
          examples:
          - ssd_hiiops
          - egress_traffic_baremetal
          - egress_traffic_virtual
          title: Resource
          type: string
      required:
      - resource
      - discount
      title: ResourceDiscountSerializer
      type: object
    ResourceEgressTrafficSerializer:
      description: |-
        These properties are common for all individual egress traffic
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: egress_traffic_baremetal_gbs
          examples:
          - egress_traffic_baremetal_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: bytes
          description: Unit of billing value
          example: bytes
          examples:
          - bytes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        instance_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the instance
          examples:
          - instance_name
          title: Instance Name
        instance_type:
          $ref: '#/components/schemas/EgressTrafficInstanceType'
          description: Type of the instance
          examples:
          - baremetal
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        port_id:
          description: ID of the port the traffic is associated with
          format: uuid
          title: Port Id
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: egress_traffic
          title: Type
          type: string
        vm_id:
          description: ID of the bare metal server the traffic is associated with
          format: uuid
          title: Vm Id
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - instance_type
      - first_seen
      - last_seen
      - project_id
      - vm_id
      - size_unit
      - port_id
      - instance_name
      - tags
      title: ResourceEgressTrafficSerializer
      type: object
    ResourceEgressTrafficWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Egress traffic Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: egress_traffic_baremetal_gbs
          examples:
          - egress_traffic_baremetal_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: bytes
          description: Unit of billing value
          example: bytes
          examples:
          - bytes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        instance_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the instance
          examples:
          - instance_name
          title: Instance Name
        instance_type:
          $ref: '#/components/schemas/EgressTrafficInstanceType'
          description: Type of the instance
          examples:
          - baremetal
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        port_id:
          description: ID of the port the traffic is associated with
          format: uuid
          title: Port Id
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: egress_traffic
          title: Type
          type: string
        vm_id:
          description: ID of the bare metal server the traffic is associated with
          format: uuid
          title: Vm Id
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - instance_type
      - first_seen
      - last_seen
      - project_id
      - vm_id
      - size_unit
      - port_id
      - instance_name
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceEgressTrafficWithCostSerializer
      type: object
    ResourceExternalIpSerializer:
      description: |-
        These properties are common for all individual external IPs
        in all cost and usage reports results (but not in totals)
      properties:
        attached_to_vm:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the VM the IP is attached to
          title: Attached To Vm
        billing_metric_name:
          description: Name of the billing metric
          example: externalip_min
          examples:
          - externalip_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        ip_address:
          description: IP address
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          format: ipvanyaddress
          title: Ip Address
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        network_id:
          description: ID of the network the IP is attached to
          format: uuid
          title: Network Id
          type: string
        port_id:
          description: ID of the port the IP is associated with
          format: uuid
          title: Port Id
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        subnet_id:
          description: ID of the subnet the IP is attached to
          format: uuid
          title: Subnet Id
          type: string
        type:
          const: external_ip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - port_id
      - attached_to_vm
      - network_id
      - subnet_id
      - ip_address
      title: ResourceExternalIpSerializer
      type: object
    ResourceExternalIpWithCostSerializer:
      properties:
        attached_to_vm:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the VM the IP is attached to
          title: Attached To Vm
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Public IP address Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: externalip_min
          examples:
          - externalip_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        ip_address:
          description: IP address
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          format: ipvanyaddress
          title: Ip Address
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        network_id:
          description: ID of the network the IP is attached to
          format: uuid
          title: Network Id
          type: string
        port_id:
          description: ID of the port the IP is associated with
          format: uuid
          title: Port Id
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        subnet_id:
          description: ID of the subnet the IP is attached to
          format: uuid
          title: Subnet Id
          type: string
        type:
          const: external_ip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - port_id
      - attached_to_vm
      - network_id
      - subnet_id
      - ip_address
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceExternalIpWithCostSerializer
      type: object
    ResourceFileShareSerializer:
      description: |-
        These properties are common for all individual file shares
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: file_share_t_standard_gbm
          examples:
          - file_share_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        file_share_type:
          description: Type of the file share
          example: standard
          examples:
          - standard
          title: File Share Type
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the file share
          example: file_share_name
          examples:
          - file_share_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the file share in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          const: GiB
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: file_share
          title: Type
          type: string
        uuid:
          description: UUID of the file share
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - file_share_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - tags
      title: ResourceFileShareSerializer
      type: object
    ResourceFileShareWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - File Shares (Standard) - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: file_share_t_standard_gbm
          examples:
          - file_share_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        file_share_type:
          description: Type of the file share
          example: standard
          examples:
          - standard
          title: File Share Type
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the file share
          example: file_share_name
          examples:
          - file_share_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the file share in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          const: GiB
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: file_share
          title: Type
          type: string
        uuid:
          description: UUID of the file share
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - file_share_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceFileShareWithCostSerializer
      type: object
    ResourceFloatingIpSerializer:
      description: |-
        These properties are common for all individual floating IPs
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: floating_min
          examples:
          - floating_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        ip_address:
          description: IP address
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          format: ipvanyaddress
          title: Ip Address
          type: string
        last_name:
          description: Name of the floating IP
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: floatingip
          title: Type
          type: string
        uuid:
          description: UUID of the floating IP
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - ip_address
      - uuid
      - tags
      title: ResourceFloatingIpSerializer
      type: object
    ResourceFloatingIpWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Floating IP address Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: floating_min
          examples:
          - floating_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        ip_address:
          description: IP address
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          format: ipvanyaddress
          title: Ip Address
          type: string
        last_name:
          description: Name of the floating IP
          example: 10.100.178.92
          examples:
          - 10.100.178.92
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: floatingip
          title: Type
          type: string
        uuid:
          description: UUID of the floating IP
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - ip_address
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceFloatingIpWithCostSerializer
      type: object
    ResourceFunctionCallsSerializer:
      description: |-
        These properties are common for all individual function calls
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_calls_piece
          examples:
          - faas_function_calls_piece
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: MLS
          description: Unit of billing value
          example: MLS
          examples:
          - MLS
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function call
          example: function_call_name
          examples:
          - function_call_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_calls
          title: Type
          type: string
        uuid:
          description: UUID of the function call
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceFunctionCallsSerializer
      type: object
    ResourceFunctionCallsWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Requests, Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_calls_piece
          examples:
          - faas_function_calls_piece
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: MLS
          description: Unit of billing value
          example: MLS
          examples:
          - MLS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function call
          example: function_call_name
          examples:
          - function_call_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_calls
          title: Type
          type: string
        uuid:
          description: UUID of the function call
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceFunctionCallsWithCostSerializer
      type: object
    ResourceFunctionEgressTrafficSerializer:
      description: |-
        These properties are common for all individual function egress traffic
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_egress_traffic_gbs
          examples:
          - faas_function_egress_traffic_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GB
          description: Unit of billing value
          example: GB
          examples:
          - GB
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function egress traffic
          example: function_egress_traffic_name
          examples:
          - function_egress_traffic_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_traffic
          title: Type
          type: string
        uuid:
          description: UUID of the function egress traffic
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceFunctionEgressTrafficSerializer
      type: object
    ResourceFunctionEgressTrafficWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Egress Traffic (GB), Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_egress_traffic_gbs
          examples:
          - faas_function_egress_traffic_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GB
          description: Unit of billing value
          example: GB
          examples:
          - GB
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function egress traffic
          example: function_egress_traffic_name
          examples:
          - function_egress_traffic_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_traffic
          title: Type
          type: string
        uuid:
          description: UUID of the function egress traffic
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceFunctionEgressTrafficWithCostSerializer
      type: object
    ResourceFunctionsSerializer:
      description: |-
        These properties are common for all individual functions
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_resources_sec
          examples:
          - faas_function_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function
          example: function_name
          examples:
          - function_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions
          title: Type
          type: string
        uuid:
          description: UUID of the function
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      title: ResourceFunctionsSerializer
      type: object
    ResourceFunctionsWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Compute (GB-seconds), Luxembourg-1 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_resources_sec
          examples:
          - faas_function_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the function
          example: function_name
          examples:
          - function_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions
          title: Type
          type: string
        uuid:
          description: UUID of the function
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceFunctionsWithCostSerializer
      type: object
    ResourceImagesSerializer:
      description: |-
        These properties are common for all individual images
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: image_gbm
          examples:
          - image_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the image
          example: image_name
          examples:
          - image_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the image in bytes
          example: 100000000
          examples:
          - 100000000
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          const: bytes
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: image
          title: Type
          type: string
        uuid:
          description: UUID of the image
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - tags
      title: ResourceImagesSerializer
      type: object
    ResourceImagesWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Images - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: image_gbm
          examples:
          - image_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the image
          example: image_name
          examples:
          - image_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the image in bytes
          example: 100000000
          examples:
          - 100000000
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          const: bytes
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: image
          title: Type
          type: string
        uuid:
          description: UUID of the image
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceImagesWithCostSerializer
      type: object
    ResourceInferenceSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: inference_gpu_l40s_48_sec
          examples:
          - inference_gpu_l40s_48_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          description: Unit of billing value
          example: H
          examples:
          - H
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the inference deployment
          example: inference-16vcpu-232gib-1xl40s-48gb
          examples:
          - inference-16vcpu-232gib-1xl40s-48gb
          title: Flavor
          type: string
        last_name:
          description: Name of the inference deployment
          example: deployment_name
          examples:
          - deployment_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: inference
          title: Type
          type: string
        uuid:
          description: UUID of the inference deployment
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - flavor
      title: ResourceInferenceSerializer
      type: object
    ResourceInferenceWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Inference at the Edge - GPU L40s (48 GB Memory) Usage Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: inference_gpu_l40s_48_sec
          examples:
          - inference_gpu_l40s_48_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          description: Unit of billing value
          example: H
          examples:
          - H
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the inference deployment
          example: inference-16vcpu-232gib-1xl40s-48gb
          examples:
          - inference-16vcpu-232gib-1xl40s-48gb
          title: Flavor
          type: string
        last_name:
          description: Name of the inference deployment
          example: deployment_name
          examples:
          - deployment_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: inference
          title: Type
          type: string
        uuid:
          description: UUID of the inference deployment
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceInferenceWithCostSerializer
      type: object
    ResourceInstanceSerializer:
      description: |-
        These properties are common for all individual instances
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g1-standard-1-2_min
          examples:
          - g1-standard-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the instance
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        last_name:
          description: Name of the instance
          example: instance_name
          examples:
          - instance_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: instance
          title: Type
          type: string
        uuid:
          description: UUID of the instance
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceInstanceSerializer
      type: object
    ResourceInstanceWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: g1-standard-1-2 (1vCPU/2GB RAM) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g1-standard-1-2_min
          examples:
          - g1-standard-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the instance
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        last_name:
          description: Name of the instance
          example: instance_name
          examples:
          - instance_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: instance
          title: Type
          type: string
        uuid:
          description: UUID of the instance
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceInstanceWithCostSerializer
      type: object
    ResourceLoadBalancerSerializer:
      description: |-
        These properties are common for all individual load balancers
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: lb1-1-2_min
          examples:
          - lb1-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the load balancer
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
        last_name:
          description: Name of the load balancer
          example: load_balancer_name
          examples:
          - load_balancer_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: load_balancer
          title: Type
          type: string
        uuid:
          description: UUID of the load balancer
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      title: ResourceLoadBalancerSerializer
      type: object
    ResourceLoadBalancerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Load Balancer Type: lb1-1-1 (1vCPU/2GB RAM) Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: lb1-1-2_min
          examples:
          - lb1-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        flavor:
          description: Flavor of the load balancer
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
        last_name:
          description: Name of the load balancer
          example: load_balancer_name
          examples:
          - load_balancer_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: load_balancer
          title: Type
          type: string
        uuid:
          description: UUID of the load balancer
          format: uuid
          title: Uuid
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - first_seen
      - last_seen
      - project_id
      - last_name
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceLoadBalancerWithCostSerializer
      type: object
    ResourceLogIndexSerializer:
      description: |-
        These properties are common for all individual log indexes
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: log_index_gbm
          examples:
          - log_index_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the log index
          example: log_index_name
          examples:
          - log_index_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the log index in bytes
          example: 100000000
          examples:
          - 100000000
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        type:
          const: log_index
          title: Type
          type: string
        uuid:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: UUID of the log index
          title: Uuid
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      title: ResourceLogIndexSerializer
      type: object
    ResourceLogIndexWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Logging as a Service - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: log_index_gbm
          examples:
          - log_index_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the log index
          example: log_index_name
          examples:
          - log_index_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the log index in bytes
          example: 100000000
          examples:
          - 100000000
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: bytes
          examples:
          - bytes
          title: Size Unit
          type: string
        type:
          const: log_index
          title: Type
          type: string
        uuid:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: UUID of the log index
          title: Uuid
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceLogIndexWithCostSerializer
      type: object
    ResourceSnapshotSerializer:
      description: |-
        These properties are common for all individual snapshots
        in all cost and usage reports results (but not in totals)
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: snap_t_standard_gbm
          examples:
          - snap_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the snapshot
          example: snapshot_name
          examples:
          - snapshot_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the snapshot in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        source_volume_uuid:
          description: UUID of the source volume
          format: uuid
          title: Source Volume Uuid
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: snapshot
          title: Type
          type: string
        uuid:
          description: UUID of the snapshot
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - source_volume_uuid
      - uuid
      - tags
      title: ResourceSnapshotSerializer
      type: object
    ResourceSnapshotWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Snapshots for Standard Volumes - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: snap_t_standard_gbm
          examples:
          - snap_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the snapshot
          example: snapshot_name
          examples:
          - snapshot_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the snapshot in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        source_volume_uuid:
          description: UUID of the source volume
          format: uuid
          title: Source Volume Uuid
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: snapshot
          title: Type
          type: string
        uuid:
          description: UUID of the snapshot
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - source_volume_uuid
      - uuid
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceSnapshotWithCostSerializer
      type: object
    ResourceVolumeSerializer:
      description: |-
        These properties are common for all individual volumes
        in all cost and usage reports results (but not in totals)
      properties:
        attached_to_vm:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the VM the volume is attached to
          title: Attached To Vm
        billing_metric_name:
          description: Name of the billing metric
          example: volume_t_standard_gbm
          examples:
          - volume_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the volume
          example: volume_name
          examples:
          - volume_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the volume in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: volume
          title: Type
          type: string
        uuid:
          description: UUID of the volume
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - attached_to_vm
      - tags
      title: ResourceVolumeSerializer
      type: object
    ResourceVolumeWithCostSerializer:
      properties:
        attached_to_vm:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the VM the volume is attached to
          title: Attached To Vm
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Block Storage (Standard) - Gb Luxembourg-1 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: volume_t_standard_gbm
          examples:
          - volume_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        first_seen:
          description: First time the resource was seen in the given period
          example: '2024-07-01T00:00:30Z'
          examples:
          - '2024-07-01T00:00:30Z'
          format: date-time
          title: First Seen
          type: string
        last_name:
          description: Name of the volume
          example: volume_name
          examples:
          - volume_name
          title: Last Name
          type: string
        last_seen:
          description: Last time the resource was seen in the given period
          example: '2024-07-30T23:59:30Z'
          examples:
          - '2024-07-30T23:59:30Z'
          format: date-time
          title: Last Seen
          type: string
        last_size:
          description: Size of the volume in bytes
          example: 100
          examples:
          - 100
          title: Last Size
          type: integer
        project_id:
          description: ID of the project the resource belongs to
          example: 10
          examples:
          - 10
          title: Project Id
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        size_unit:
          description: Unit of size
          example: GiB
          examples:
          - GiB
          title: Size Unit
          type: string
        tags:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          description: List of tags
          examples:
          - - os_distro: ubuntu
            - os_version: '22.04'
          title: Tags
        type:
          const: volume
          title: Type
          type: string
        uuid:
          description: UUID of the volume
          format: uuid
          title: Uuid
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - first_seen
      - last_seen
      - project_id
      - last_size
      - size_unit
      - last_name
      - uuid
      - attached_to_vm
      - tags
      - billing_feature_name
      - cost
      - currency
      - err
      title: ResourceVolumeWithCostSerializer
      type: object
    ResourcesPricingResponseV2Serializer:
      description: Pricing scheme for various resources
      example: &id247
        instances:
        - currency_code: USD
          discount_percent: 0.16
          price_per_hour: 1
          price_per_month: 720
          price_status: show
          price_without_discount_per_month: 604.8
          tax_percent: 17
        publicips:
        - currency_code: USD
          discount_percent: 0.16
          price_per_hour: 1
          price_per_month: 720
          price_status: show
          price_without_discount_per_month: 604.8
          tax_percent: 17
        total_price:
          currency_code: USD
          discount_percent: 0.16
          price_per_hour: 1
          price_per_month: 720
          price_status: show
          price_without_discount_per_month: 604.8
          tax_percent: 17
        volumes:
        - currency_code: USD
          discount_percent: 0.16
          price_per_hour: 1
          price_per_month: 720
          price_status: show
          price_without_discount_per_month: 604.8
          tax_percent: 17
      examples:
      - *id247
      properties:
        instances:
          items:
            $ref: '#/components/schemas/ItemPriceResponseSerializer'
          title: Instances
          type: array
        publicips:
          items:
            $ref: '#/components/schemas/ItemPriceResponseSerializer'
          title: Publicips
          type: array
        total_price:
          $ref: '#/components/schemas/ItemPriceResponseSerializer'
        volumes:
          items:
            $ref: '#/components/schemas/ItemPriceResponseSerializer'
          title: Volumes
          type: array
      required:
      - instances
      - volumes
      - publicips
      - total_price
      title: ResourcesPricingResponseV2Serializer
      type: object
    RetentionTimeSerializer:
      properties:
        days:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of days to wait
          examples:
          - 0
          title: Days
        hours:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of hours to wait
          examples:
          - 2
          title: Hours
        minutes:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of minutes to wait
          examples:
          - 1
          title: Minutes
        weeks:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of weeks to wait
          examples:
          - 0
          title: Weeks
      title: RetentionTimeSerializer
      type: object
    RetypableVolumeTypeChoices:
      enum:
      - ssd_hiiops
      - standard
      title: RetypableVolumeTypeChoices
      type: string
    RoleAssignmentCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RoleAssignmentSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RoleAssignmentCollectionSerializer
      type: object
    RoleAssignmentSerializer:
      properties:
        assigned_by:
          anyOf:
          - type: integer
          - type: 'null'
          title: Assigned By
        client_id:
          description: Client ID
          example: 123
          examples:
          - 123
          title: Client Id
          type: integer
        created_at:
          description: Created timestamp
          example: '2019-06-25T08:42:42Z'
          examples:
          - '2019-06-25T08:42:42Z'
          format: date-time
          title: Created At
          type: string
        id:
          description: Assignment ID
          example: 12
          examples:
          - 12
          title: Id
          type: integer
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          examples:
          - 123
          title: Project Id
        role:
          $ref: '#/components/schemas/CustomerAssignableRole'
          description: User role
          examples:
          - ClientAdministrator
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Updated timestamp
          examples:
          - '2019-06-25T08:42:42Z'
          title: Updated At
        user_id:
          description: User ID
          example: 123
          examples:
          - 123
          title: User Id
          type: integer
      required:
      - id
      - user_id
      - role
      - client_id
      - project_id
      - assigned_by
      - created_at
      - updated_at
      title: Role assignments schema
      type: object
    RoleCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/UserRoleSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RoleCollectionSerializer
      type: object
    RouteInSerializer:
      properties:
        destination:
          description: CIDR of destination IPv4 or IPv6 subnet.
          example: 10.0.3.0/24
          examples:
          - 10.0.3.0/24
          format: ipvanynetwork
          title: Destination
          type: string
        nexthop:
          description: IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.
          example: 10.0.0.13
          examples:
          - 10.0.0.13
          format: ipvanyaddress
          title: Nexthop
          type: string
      required:
      - destination
      - nexthop
      title: RouteInSerializer
      type: object
    RouteOutSerializer:
      properties:
        destination:
          description: CIDR of destination IPv4 or IPv6 subnet.
          example: 10.0.3.0/24
          examples:
          - 10.0.3.0/24
          format: ipvanynetwork
          title: Destination
          type: string
        nexthop:
          description: IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.
          example: 10.0.0.13
          examples:
          - 10.0.0.13
          format: ipvanyaddress
          title: Nexthop
          type: string
      required:
      - destination
      - nexthop
      title: RouteOutSerializer
      type: object
    RouterCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RouterSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RouterCollectionSerializer
      type: object
    RouterExternalDefaultGwSerializer:
      properties:
        enable_snat:
          default: true
          description: Is SNAT enabled. Defaults to true.
          example: true
          examples:
          - true
          title: Enable Snat
          type: boolean
        type:
          const: default
          default: default
          description: Gateway type. Use 'default' to let the platform automatically select the external network for the router's region. No `network_id` is needed. Only valid on create.
          example: default
          examples:
          - default
          title: Type
          type: string
      title: RouterExternalDefaultGwSerializer
      type: object
    RouterExternalManualGwSerializer:
      properties:
        enable_snat:
          default: true
          description: Is SNAT enabled. Defaults to true.
          example: true
          examples:
          - true
          title: Enable Snat
          type: boolean
        network_id:
          description: ID of the external network to connect the router to.
          example: 3d1e9779-b8ad-4c8e-a1a4-0a03671f07f7
          examples:
          - 3d1e9779-b8ad-4c8e-a1a4-0a03671f07f7
          format: uuid4
          title: Network Id
          type: string
        type:
          const: manual
          default: manual
          description: Gateway type. Use 'manual' to explicitly specify which external network the router connects to via `network_id`. Required for PATCH/update operations.
          example: manual
          examples:
          - manual
          title: Type
          type: string
      required:
      - network_id
      title: RouterExternalManualGwSerializer
      type: object
    RouterInterfaceMetricsSerializer:
      properties:
        interface_type:
          $ref: '#/components/schemas/RouterInterfaceType'
          description: Interface type. The public interface includes the router gateway and the floating IPs. A private interface connects the router to a subnet.
          examples:
          - public
        ip_addresses:
          description: IP addresses of the port
          example: &id248
          - 10.0.0.1
          examples:
          - *id248
          items:
            format: ipvanyaddress
            type: string
          title: Ip Addresses
          type: array
        metrics:
          description: Traffic metrics of the interface, in order of time
          items:
            $ref: '#/components/schemas/RouterMetricPointSerializer'
          title: Metrics
          type: array
        network_id:
          description: Network ID
          example: ccd5b925-e35c-4611-a511-67ab503104c8
          examples:
          - ccd5b925-e35c-4611-a511-67ab503104c8
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: Port ID
          example: 013e399e-a9f1-4b5c-9e2d-3f4a5b6c7d8e
          examples:
          - 013e399e-a9f1-4b5c-9e2d-3f4a5b6c7d8e
          format: uuid4
          title: Port Id
          type: string
      required:
      - interface_type
      - port_id
      - network_id
      - ip_addresses
      - metrics
      title: RouterInterfaceMetricsSerializer
      type: object
    RouterInterfaceType:
      enum:
      - private
      - public
      title: RouterInterfaceType
      type: string
    RouterMetricPointSerializer:
      properties:
        network_bps_egress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network out, bits per second. Null when no data point is available.
          examples:
          - 816
          title: Network Bps Egress
        network_bps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network in, bits per second. Null when no data point is available.
          examples:
          - 816
          title: Network Bps Ingress
        network_pps_egress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network out, packets per second. Null when no data point is available.
          examples:
          - 0.7
          title: Network Pps Egress
        network_pps_ingress:
          anyOf:
          - type: number
          - type: 'null'
          description: Network in, packets per second. Null when no data point is available.
          examples:
          - 0.7
          title: Network Pps Ingress
        time:
          description: Timestamp
          example: '2020-07-07T12:57:00Z'
          examples:
          - '2020-07-07T12:57:00Z'
          title: Time
          type: string
      required:
      - time
      - network_bps_ingress
      - network_bps_egress
      - network_pps_ingress
      - network_pps_egress
      title: RouterMetricPointSerializer
      type: object
    RouterMetricsCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/RouterInterfaceMetricsSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: RouterMetricsCollectionSerializer
      type: object
    RouterMetricsRequestSerializer:
      properties:
        time_interval:
          description: Time interval
          example: 6
          examples:
          - 6
          title: Time Interval
          type: integer
        time_unit:
          $ref: '#/components/schemas/InstanceMetricsTimeUnitEnum'
          description: Time interval unit
          examples:
          - hour
      required:
      - time_interval
      - time_unit
      title: RouterMetricsRequestSerializer
      type: object
    RouterSerializer:
      properties:
        created_at:
          description: Datetime when the router was created
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the router wasn't created via a tracked task.
          title: Creator Task Id
        distributed:
          description: Whether the router is distributed or centralized.
          example: true
          examples:
          - true
          - false
          title: Distributed
          type: boolean
        external_gateway_info:
          anyOf:
          - $ref: '#/components/schemas/ExternalGatewaySerializer'
          - type: 'null'
          description: State of this router's external gateway. Null when the router has no external gateway.
        id:
          description: Router ID
          format: uuid4
          title: Id
          type: string
        interfaces:
          description: List of router interfaces.
          items:
            $ref: '#/components/schemas/PortSerializer'
          title: Interfaces
          type: array
        name:
          description: Router name
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        routes:
          description: List of custom routes.
          items:
            $ref: '#/components/schemas/RouteOutSerializer'
          title: Routes
          type: array
        status:
          description: Status of the router.
          title: Status
          type: string
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          title: Task Id
        updated_at:
          description: Datetime when the router was last updated
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - status
      - distributed
      - external_gateway_info
      - interfaces
      - routes
      - created_at
      - updated_at
      - creator_task_id
      - task_id
      title: RouterSerializer
      type: object
    RuntimesSerializer:
      properties:
        runtimes:
          additionalProperties:
            items:
              type: string
            type: array
          description: FaaS runtimes.
          example: &id249
            go:
            - go1.16.6
            python:
            - python2.7.18
            - python3.7.12
          examples:
          - *id249
          title: Runtimes
          type: object
      required:
      - runtimes
      title: RuntimesSerializer
      type: object
    SSHKeyCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SSHKeySerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: SSHKeyCollectionSerializer
      type: object
    SSHKeyOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      title: SSHKeyOrderByChoices
      type: string
    SSHKeySerializer:
      additionalProperties: false
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: SSH key creation time
          examples:
          - '2025-06-16T17:05:50Z'
          title: Created At
        fingerprint:
          description: Fingerprint
          example: 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          examples:
          - 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          title: Fingerprint
          type: string
        id:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
          - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Id
          type: string
        name:
          description: SSH key name
          example: my-ssh-key
          examples:
          - my-ssh-key
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          examples:
          - 1
          title: Project Id
        public_key:
          description: The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information.
          example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          examples:
          - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm my-username@my-hostname
          title: Public Key
          type: string
        shared_in_project:
          description: SSH key will be visible to all users in the project
          example: true
          examples:
          - true
          title: Shared In Project
          type: boolean
        state:
          $ref: '#/components/schemas/KeypairState'
          description: SSH key state
          examples:
          - ACTIVE
          - DELETING
      required:
      - id
      - public_key
      - name
      - fingerprint
      - state
      - project_id
      - shared_in_project
      - created_at
      title: SSH key response object
      type: object
    Scale:
      properties:
        max:
          description: Maximum number of replicas the container can be scaled up to
          title: Max
          type: integer
        min:
          description: Minimum number of replicas the component can be scaled down to
          title: Min
          type: integer
      required:
      - min
      - max
      title: Scale
      type: object
    ScalePatch:
      properties:
        max:
          description: Maximum number of replicas the container can be scaled up to
          title: Max
          type: integer
        min:
          description: Minimum number of replicas the component can be scaled down to
          title: Min
          type: integer
      title: ScalePatch
      type: object
    ScaleSerializer:
      properties:
        cooldown_period:
          default: 60
          description: Cooldown period in seconds
          maximum: 3600
          minimum: 1
          title: Cooldown Period
          type: integer
        max:
          description: Maximum number of instances
          maximum: 25
          minimum: 1
          title: Max
          type: integer
        min:
          description: Minimum number of instances
          maximum: 25
          minimum: 0
          title: Min
          type: integer
        triggers:
          anyOf:
          - $ref: '#/components/schemas/ScaleTriggersSerializer'
          - type: 'null'
          default: null
          description: Scale triggers configuration
      required:
      - min
      - max
      title: ScaleSerializer
      type: object
    ScaleTriggersSerializer:
      properties:
        cpu:
          anyOf:
          - $ref: '#/components/schemas/CpuTriggerSerializer'
          - type: 'null'
          default: null
          description: CPU trigger configuration
        http:
          anyOf:
          - $ref: '#/components/schemas/HttpTriggerSerializer'
          - type: 'null'
          default: null
          description: HTTP trigger configuration
        memory:
          anyOf:
          - $ref: '#/components/schemas/MemoryTriggerSerializer'
          - type: 'null'
          default: null
          description: Memory trigger configuration
      title: ScaleTriggersSerializer
      type: object
    ScheduleSerializer:
      discriminator:
        mapping:
          cron: '#/components/schemas/GetCronScheduleSerializer'
          interval: '#/components/schemas/GetIntervalScheduleSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/GetCronScheduleSerializer'
      - $ref: '#/components/schemas/GetIntervalScheduleSerializer'
      title: ScheduleSerializer
    SchemaFilterAiClusterEnum:
      enum:
      - flavor
      - last_name
      - type
      - uuid
      title: SchemaFilterAiClusterEnum
      type: string
    SchemaFilterAiClusterSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterAiClusterEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: ai_cluster
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id250
          - bm3-ai-1xlarge-h100-80-8
          examples:
          - *id250
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterAiClusterSerializer
      type: object
    SchemaFilterAiVirtualClusterEnum:
      enum:
      - flavor
      - last_name
      - type
      - uuid
      title: SchemaFilterAiVirtualClusterEnum
      type: string
    SchemaFilterAiVirtualClusterSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterAiVirtualClusterEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: ai_virtual_cluster
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id251
          - g3-ai-32-192-1500-l40s-48-1
          examples:
          - *id251
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterAiVirtualClusterSerializer
      type: object
    SchemaFilterBackupEnum:
      enum:
      - last_name
      - last_size
      - schedule_id
      - source_volume_uuid
      - type
      - uuid
      title: SchemaFilterBackupEnum
      type: string
    SchemaFilterBackupSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterBackupEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: backup
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id252
          - '10'
          examples:
          - *id252
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterBackupSerializer
      type: object
    SchemaFilterBaremetalSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterInstanceEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: baremetal
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id253
          - bm2-hf-medium
          examples:
          - *id253
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterBaremetalSerializer
      type: object
    SchemaFilterBasicVmSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterInstanceEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: basic_vm
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id254
          - g2s-shared-1-2-25
          examples:
          - *id254
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterBasicVmSerializer
      type: object
    SchemaFilterContainersEnum:
      enum:
      - last_name
      - type
      - uuid
      title: SchemaFilterContainersEnum
      type: string
    SchemaFilterContainersSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterContainersEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: containers
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id255
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id255
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterContainersSerializer
      type: object
    SchemaFilterDBAASPostgreSQLCPUSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: dbaas_postgresql_cpu
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id256
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id256
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterDBAASPostgreSQLCPUSerializer
      type: object
    SchemaFilterDBAASPostgreSQLEnum:
      enum:
      - last_name
      - type
      - uuid
      title: SchemaFilterDBAASPostgreSQLEnum
      type: string
    SchemaFilterDBAASPostgreSQLMemorySerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: dbaas_postgresql_memory
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id257
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id257
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterDBAASPostgreSQLMemorySerializer
      type: object
    SchemaFilterDBAASPostgreSQLPoolerSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: dbaas_postgresql_connection_pooler
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id258
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id258
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterDBAASPostgreSQLPoolerSerializer
      type: object
    SchemaFilterDBAASPostgreSQLPublicNetworkSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: dbaas_postgresql_public_network
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id259
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id259
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterDBAASPostgreSQLPublicNetworkSerializer
      type: object
    SchemaFilterDBAASPostgreSQLVolumeSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumesEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: dbaas_postgresql_volume
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id260
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id260
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterDBAASPostgreSQLVolumeSerializer
      type: object
    SchemaFilterDBAASPostgreSQLVolumesEnum:
      enum:
      - last_name
      - type
      - uuid
      - volume_type
      title: SchemaFilterDBAASPostgreSQLVolumesEnum
      type: string
    SchemaFilterEgressTrafficEnum:
      enum:
      - instance_name
      - instance_type
      - port_id
      - type
      - vm_id
      title: SchemaFilterEgressTrafficEnum
      type: string
    SchemaFilterEgressTrafficSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterEgressTrafficEnum'
          description: Field name to filter by
          examples:
          - vm_id
        type:
          const: egress_traffic
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id261
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id261
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterEgressTrafficSerializer
      type: object
    SchemaFilterExternalIpEnum:
      enum:
      - attached_to_vm
      - ip_address
      - network_id
      - port_id
      - subnet_id
      - type
      title: SchemaFilterExternalIpEnum
      type: string
    SchemaFilterExternalIpSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterExternalIpEnum'
          description: Field name to filter by
          examples:
          - ip_address
        type:
          const: external_ip
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id262
          - 10.100.178.92
          examples:
          - *id262
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterExternalIpSerializer
      type: object
    SchemaFilterFileShareEnum:
      enum:
      - file_share_type
      - last_name
      - last_size
      - type
      - uuid
      title: SchemaFilterFileShareEnum
      type: string
    SchemaFilterFileShareSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterFileShareEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: file_share
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id263
          - '10'
          examples:
          - *id263
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterFileShareSerializer
      type: object
    SchemaFilterFloatingIpEnum:
      enum:
      - ip_address
      - last_name
      - type
      - uuid
      title: SchemaFilterFloatingIpEnum
      type: string
    SchemaFilterFloatingIpSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterFloatingIpEnum'
          description: Field name to filter by
          examples:
          - ip_address
        type:
          const: floatingip
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id264
          - 10.100.178.92
          examples:
          - *id264
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterFloatingIpSerializer
      type: object
    SchemaFilterFunctionsCallsEnum:
      enum:
      - last_name
      - type
      - uuid
      title: SchemaFilterFunctionsCallsEnum
      type: string
    SchemaFilterFunctionsCallsSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterFunctionsCallsEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: functions_calls
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id265
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id265
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterFunctionsCallsSerializer
      type: object
    SchemaFilterFunctionsEnum:
      enum:
      - last_name
      - type
      - uuid
      title: SchemaFilterFunctionsEnum
      type: string
    SchemaFilterFunctionsSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterFunctionsEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: functions
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id266
          - '10'
          examples:
          - *id266
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterFunctionsSerializer
      type: object
    SchemaFilterFunctionsTrafficEnum:
      enum:
      - last_name
      - type
      - uuid
      title: SchemaFilterFunctionsTrafficEnum
      type: string
    SchemaFilterFunctionsTrafficSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterFunctionsTrafficEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: functions_traffic
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id267
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id267
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterFunctionsTrafficSerializer
      type: object
    SchemaFilterImageEnum:
      enum:
      - last_name
      - last_size
      - type
      - uuid
      title: SchemaFilterImageEnum
      type: string
    SchemaFilterImageSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterImageEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: image
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id268
          - '10'
          examples:
          - *id268
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterImageSerializer
      type: object
    SchemaFilterInferenceEnum:
      enum:
      - flavor
      - last_name
      - type
      - uuid
      title: SchemaFilterInferenceEnum
      type: string
    SchemaFilterInferenceSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterInferenceEnum'
          description: Field name to filter by
          examples:
          - uuid
        type:
          const: inference
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id269
          - 066e202a-fc9a-43f2-a74d-be34afbee5c9
          examples:
          - *id269
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterInferenceSerializer
      type: object
    SchemaFilterInstanceEnum:
      enum:
      - flavor
      - last_name
      - type
      - uuid
      title: SchemaFilterInstanceEnum
      type: string
    SchemaFilterInstanceSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterInstanceEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: instance
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id270
          - g1-standard-1-2
          examples:
          - *id270
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterInstanceSerializer
      type: object
    SchemaFilterLoadBalancerEnum:
      enum:
      - flavor
      - last_name
      - type
      - uuid
      title: SchemaFilterLoadBalancerEnum
      type: string
    SchemaFilterLoadBalancerSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterLoadBalancerEnum'
          description: Field name to filter by
          examples:
          - flavor
        type:
          const: load_balancer
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id271
          - lb1-1-2
          examples:
          - *id271
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterLoadBalancerSerializer
      type: object
    SchemaFilterLogIndexEnum:
      enum:
      - last_name
      - last_size
      - type
      - uuid
      title: SchemaFilterLogIndexEnum
      type: string
    SchemaFilterLogIndexSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterLogIndexEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: log_index
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id272
          - '10'
          examples:
          - *id272
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterLogIndexSerializer
      type: object
    SchemaFilterSnapshotEnum:
      enum:
      - last_name
      - last_size
      - source_volume_uuid
      - type
      - uuid
      - volume_type
      title: SchemaFilterSnapshotEnum
      type: string
    SchemaFilterSnapshotSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterSnapshotEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: snapshot
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id273
          - '10'
          examples:
          - *id273
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterSnapshotSerializer
      type: object
    SchemaFilterVolumeEnum:
      enum:
      - attached_to_vm
      - last_name
      - last_size
      - type
      - uuid
      - volume_type
      title: SchemaFilterVolumeEnum
      type: string
    SchemaFilterVolumeSerializer:
      additionalProperties: false
      properties:
        field:
          $ref: '#/components/schemas/SchemaFilterVolumeEnum'
          description: Field name to filter by
          examples:
          - last_size
        type:
          const: volume
          title: Type
          type: string
        values:
          description: List of field values to filter
          example: &id274
          - '10'
          examples:
          - *id274
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - field
      - values
      title: SchemaFilterVolumeSerializer
      type: object
    SecretCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SecretSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: SecretCollectionSerializer
      type: object
    SecretSerializer:
      properties:
        algorithm:
          anyOf:
          - type: string
          - type: 'null'
          description: Metadata provided by a user or system for informational purposes. Null when not specified at secret creation.
          examples:
          - aes
          title: Algorithm
        bit_length:
          anyOf:
          - type: integer
          - type: 'null'
          description: Metadata provided by a user or system for informational purposes. Value must be greater than zero. Null when not specified at secret creation.
          examples:
          - 256
          title: Bit Length
        content_types:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          description: Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream. Null until the secret has a payload.
          examples:
          - default: application/octet-stream
          title: Content Types
        created:
          description: Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00
          example: '2023-03-23T20:00:00+00:00'
          examples:
          - '2023-03-23T20:00:00+00:00'
          format: date-time
          title: Created
          type: string
        expiration:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime when the secret will expire. The format is 2020-01-01T12:00:00+00:00. Null when no expiration was set.
          examples:
          - '2023-06-23T20:00:00+00:00'
          title: Expiration
        id:
          description: Secret uuid
          example: bfc7824b-31b6-4a28-a0c4-7df137139215
          examples:
          - bfc7824b-31b6-4a28-a0c4-7df137139215
          title: Id
          type: string
        mode:
          anyOf:
          - type: string
          - type: 'null'
          description: Metadata provided by a user or system for informational purposes. Null when not specified at secret creation.
          examples:
          - cbc
          title: Mode
        name:
          description: Secret name
          example: AES key
          examples:
          - AES key
          title: Name
          type: string
        secret_type:
          $ref: '#/components/schemas/SecretTypesEnum'
          description: Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API
          examples:
          - opaque
        status:
          description: Status
          example: ACTIVE
          examples:
          - ACTIVE
          title: Status
          type: string
      required:
      - algorithm
      - bit_length
      - content_types
      - created
      - expiration
      - mode
      - name
      - id
      - secret_type
      - status
      title: SecretSerializer
      type: object
    SecretTypesEnum:
      enum:
      - certificate
      - opaque
      - passphrase
      - private
      - public
      - symmetric
      title: SecretTypesEnum
      type: string
    SecurityGroupCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SecurityGroupSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: SecurityGroupCollectionSerializer
      type: object
    SecurityGroupProtocolEnum:
      enum:
      - ah
      - any
      - dccp
      - egp
      - esp
      - gre
      - icmp
      - igmp
      - ipencap
      - ipip
      - ipv6-encap
      - ipv6-frag
      - ipv6-icmp
      - ipv6-nonxt
      - ipv6-opts
      - ipv6-route
      - ospf
      - pgm
      - rsvp
      - sctp
      - tcp
      - udp
      - udplite
      - vrrp
      title: SecurityGroupProtocolEnum
      type: string
    SecurityGroupProtocolEnumV2:
      description: V2 protocol enum without 'any'. Use null for all protocols instead.
      enum:
      - ah
      - dccp
      - egp
      - esp
      - gre
      - icmp
      - igmp
      - ipencap
      - ipip
      - ipv6-encap
      - ipv6-frag
      - ipv6-icmp
      - ipv6-nonxt
      - ipv6-opts
      - ipv6-route
      - ospf
      - pgm
      - rsvp
      - sctp
      - tcp
      - udp
      - udplite
      - vrrp
      title: SecurityGroupProtocolEnumV2
      type: string
    SecurityGroupRuleSerializer:
      properties:
        created_at:
          description: Datetime when the rule was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Rule description
          examples:
          - Some description
          title: Description
        direction:
          description: Ingress or egress, which is the direction in which the security group rule is applied
          enum:
          - egress
          - ingress
          title: Direction
          type: string
        ethertype:
          description: Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules.
          enum:
          - IPv4
          - IPv6
          example: IPv4
          examples:
          - IPv4
          title: Ethertype
          type: string
        id:
          description: The ID of the security group rule
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Id
          type: string
        port_range_max:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          description: The maximum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Max
        port_range_min:
          anyOf:
          - maximum: 65535
            minimum: 0
            type: integer
          - type: 'null'
          description: The minimum port number in the range that is matched by the security group rule
          examples:
          - 80
          title: Port Range Min
        protocol:
          anyOf:
          - $ref: '#/components/schemas/SecurityGroupProtocolEnum'
          - type: 'null'
          description: Protocol
          examples:
          - tcp
        remote_group_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The remote group UUID to associate with this security group rule
          examples:
          - - 00000000-0000-4000-8000-000000000000
          title: Remote Group Id
        remote_ip_prefix:
          anyOf:
          - format: ipvanynetwork
            type: string
          - type: 'null'
          description: The remote IP prefix that is matched by this security group rule
          examples:
          - 10.0.0.0/8
          title: Remote Ip Prefix
        revision_number:
          description: The revision number of the resource
          example: 0
          examples:
          - 0
          title: Revision Number
          type: integer
        security_group_id:
          description: The security group ID to associate with this security group rule
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Security Group Id
          type: string
        updated_at:
          description: Datetime when the rule was last updated
          example: 2019-06-18T11:57:00+0000
          examples:
          - 2019-06-18T11:57:00+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - security_group_id
      - created_at
      - updated_at
      - revision_number
      - ethertype
      - description
      - remote_group_id
      - port_range_min
      - port_range_max
      - remote_ip_prefix
      - protocol
      - direction
      title: SecurityGroupRuleSerializer
      type: object
    SecurityGroupSerializer:
      properties:
        created_at:
          description: Datetime when the security group was created
          example: 2019-06-18T11:56:16+0000
          examples:
          - 2019-06-18T11:56:16+0000
          format: date-time
          title: Created At
          type: string
        description:
          description: Security group description
          example: Some description
          examples:
          - Some description
          title: Description
          type: string
        id:
          description: Security group ID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Id
          type: string
        name:
          description: Security group name
          example: my_security_group
          examples:
          - my_security_group
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        revision_number:
          description: The number of revisions
          example: 1
          examples:
          - 1
          title: Revision Number
          type: integer
        security_group_rules:
          description: Security group rules
          items:
            $ref: '#/components/schemas/SecurityGroupRuleSerializer'
          title: Security Group Rules
          type: array
        tags_v2:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id275
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id275
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags V2
          type: array
        updated_at:
          description: Datetime when the security group was last updated
          example: 2019-06-18T11:57:00+0000
          examples:
          - 2019-06-18T11:57:00+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - description
      - security_group_rules
      - created_at
      - updated_at
      - revision_number
      - tags_v2
      title: SecurityGroupSerializer
      type: object
    SecurityGroupShortSerializer:
      properties:
        id:
          description: Security group ID
          example: 4536dba1-93b1-492e-b3df-270b6b9f3650
          examples:
          - 4536dba1-93b1-492e-b3df-270b6b9f3650
          title: Id
          type: string
        name:
          description: Security group name
          example: my-security-group
          examples:
          - my-security-group
          title: Name
          type: string
      required:
      - id
      - name
      title: SecurityGroupShortSerializer
      type: object
    ServerCredentialsSerializer:
      properties:
        password:
          description: Used to set the password for the specified 'username' on Linux instances. If 'username' is not provided, the password is applied to the default user of the image. Mutually exclusive with 'user_data' - only one can be specified.
          example: securepassword
          examples:
          - securepassword
          format: password
          title: Password
          type: string
          writeOnly: true
        ssh_key_name:
          description: |-
            Specifies the name of the SSH keypair, created via the
            [/v1/`ssh_keys` endpoint](/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
          example: my-ssh-key
          examples:
          - my-ssh-key
          minLength: 1
          title: Ssh Key Name
          type: string
        username:
          description: The 'username' and 'password' fields create a new user on the system
          example: admin
          examples:
          - admin
          title: Username
          type: string
      title: ServerCredentialsSerializer
      type: object
    ServerGroupCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ServerGroupSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ServerGroupCollectionSerializer
      type: object
    ServerGroupPolicyEnum:
      enum:
      - affinity
      - anti-affinity
      - soft-anti-affinity
      title: ServerGroupPolicyEnum
      type: string
    ServerGroupSerializer:
      properties:
        instances:
          description: The list of instances in this placement group.
          example: &id276
          - instance_id: 6d14f194-6c1e-49b3-9fc7-50dc8401eb74
            instance_name: my-instance-1
          - instance_id: 142988bb-291e-4862-bffb-b1cf20036c27
            instance_name: my-instance-2
          examples:
          - *id276
          items:
            $ref: '#/components/schemas/InstanceBriefSerializer'
          title: Instances
          type: array
        name:
          description: The name of the placement group.
          example: my-placement-group
          examples:
          - my-placement-group
          title: Name
          type: string
        policy:
          description: 'The placement group policy. Options are: anti-affinity, affinity, or soft-anti-affinity.'
          example: anti-affinity
          examples:
          - anti-affinity
          title: Policy
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        servergroup_id:
          description: The ID of the placement group.
          example: 47003067-550a-6f17-93b6-81ee16ba061e
          examples:
          - 47003067-550a-6f17-93b6-81ee16ba061e
          title: Servergroup Id
          type: string
      required:
      - project_id
      - region_id
      - region
      - servergroup_id
      - policy
      - name
      - instances
      title: Placement group schema
      type: object
    ServiceEndpointSerializer:
      additionalProperties: false
      properties:
        client_ids:
          description: List of client IDs to access
          example: &id277
          - 1
          - 22
          - 333
          examples:
          - *id277
          items:
            type: integer
          title: Client Ids
          type: array
        created_on:
          description: The endpoint creation datetime timestamp
          example: '2021-11-09T12:05:50'
          examples:
          - '2021-11-09T12:05:50'
          format: date-time
          title: Created On
          type: string
        id:
          description: Endpoint ID
          example: 1
          examples:
          - 1
          title: Id
          type: integer
        region_id:
          description: Region ID
          example: 2
          examples:
          - 2
          title: Region Id
          type: integer
        service:
          $ref: '#/components/schemas/EndpointService'
          description: Endpoint service
          examples:
          - laas
        updated_at:
          description: The endpoint last update datetime timestamp
          example: '2022-12-10T13:06:41'
          examples:
          - '2022-12-10T13:06:41'
          format: date-time
          title: Updated At
          type: string
        url:
          description: Endpoint URL
          example: https://example.com
          examples:
          - https://example.com
          maxLength: 255
          title: Url
          type: string
        version:
          description: Service version
          example: v1.2.3
          examples:
          - v1.2.3
          maxLength: 32
          title: Version
          type: string
      required:
      - region_id
      - service
      - version
      - created_on
      - updated_at
      - id
      - url
      - client_ids
      title: Endpoint object
      type: object
    SessionPersistenceTypeEnum:
      enum:
      - APP_COOKIE
      - HTTP_COOKIE
      - SOURCE_IP
      title: SessionPersistenceTypeEnum
      type: string
    ShareKeypairSerializer:
      properties:
        shared_in_project:
          description: Data for share(True)/unshare(False) Keypair between all users in project
          example: true
          examples:
          - true
          - false
          title: Shared In Project
          type: boolean
      required:
      - shared_in_project
      title: Request body schema for share or unshare keypair
      type: object
    ShareSSHKeySerializer:
      properties:
        shared_in_project:
          description: Share your ssh key with all users in the project
          example: true
          examples:
          - true
          - false
          title: Shared In Project
          type: boolean
      required:
      - shared_in_project
      title: Request body schema for share or unshare keypair
      type: object
    ShareSettingsSerializer:
      discriminator:
        mapping:
          ddn: '#/components/schemas/DdnShareSettingsOutputSerializer'
          standard: '#/components/schemas/StandardShareSettingsOutputSerializer'
          vast: '#/components/schemas/VastShareSettingsOutputSerializer'
        propertyName: type_name
      oneOf:
      - $ref: '#/components/schemas/StandardShareSettingsOutputSerializer'
      - $ref: '#/components/schemas/DdnShareSettingsOutputSerializer'
      - $ref: '#/components/schemas/VastShareSettingsOutputSerializer'
      title: ShareSettingsSerializer
    SingleCreateSecurityGroupSerializer:
      properties:
        description:
          default: ''
          description: Security group description
          example: Some description
          examples:
          - Some description
          title: Description
          type: string
        name:
          description: Security group name
          example: my_security_group
          examples:
          - my_security_group
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        security_group_rules:
          description: Security group rules
          items:
            $ref: '#/components/schemas/CreateSecurityGroupRuleSerializer'
          maxItems: 250
          title: Security Group Rules
          type: array
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
      required:
      - name
      title: SingleCreateSecurityGroupSerializer
      type: object
    SizeSerializer:
      properties:
        size:
          description: New volume size in GiB
          example: 100
          examples:
          - 100
          minimum: 1
          title: Size
          type: integer
      required:
      - size
      title: SizeSerializer
      type: object
    SnapshotCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SnapshotSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: SnapshotCollectionSerializer
      type: object
    SnapshotPricingRequestSerializer:
      example: &id278
        volume_id: c23fb11d-4748-489e-a659-e888e121e825
      examples:
      - *id278
      properties:
        volume_id:
          description: Volume ID
          example: c23fb11d-4748-489e-a659-e888e121e825
          examples:
          - c23fb11d-4748-489e-a659-e888e121e825
          title: Volume Id
          type: string
      required:
      - volume_id
      title: SnapshotPricingRequestSerializer
      type: object
    SnapshotSerializer:
      properties:
        created_at:
          description: Datetime when the snapshot was created
          example: 2019-05-29T05:32:41+0000
          examples:
          - 2019-05-29T05:32:41+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          description: Task that created this entity
          example: 2358e3b1-5c42-4705-8950-6ddcfc19c3bd
          examples:
          - 2358e3b1-5c42-4705-8950-6ddcfc19c3bd
          format: uuid4
          title: Creator Task Id
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Snapshot description
          examples:
          - Snapshot description
          title: Description
        id:
          description: Snapshot ID
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          format: uuid4
          title: Id
          type: string
        name:
          description: Snapshot name
          example: my-snapshot
          examples:
          - my-snapshot
          title: Name
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        size:
          description: Snapshot size, GiB
          example: 20
          examples:
          - 20
          title: Size
          type: integer
        status:
          $ref: '#/components/schemas/SnapshotStatusChoices'
          description: Snapshot status
          examples:
          - available
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id279
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id279
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        updated_at:
          description: Datetime when the snapshot was last updated
          example: 2019-05-29T05:39:20+0000
          examples:
          - 2019-05-29T05:39:20+0000
          format: date-time
          title: Updated At
          type: string
        volume_id:
          description: ID of the volume this snapshot was made from
          example: 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          examples:
          - 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          format: uuid4
          title: Volume Id
          type: string
      required:
      - project_id
      - region_id
      - region
      - id
      - name
      - description
      - status
      - size
      - volume_id
      - created_at
      - updated_at
      - tags
      - creator_task_id
      - task_id
      title: SnapshotSerializer
      type: object
    SnapshotStatusChoices:
      enum:
      - available
      - backing-up
      - creating
      - deleted
      - deleting
      - error
      - error_deleting
      - restoring
      - unmanaging
      title: SnapshotStatusChoices
      type: string
    SnapshottableVolumeTypeChoices:
      description: Snapshots are currently supported only for these volume types.
      enum:
      - ssd_hiiops
      - standard
      title: SnapshottableVolumeTypeChoices
      type: string
    SoftRebootGPUClusterSerializer:
      properties:
        action:
          const: soft_reboot
          description: Action name
          example: soft_reboot
          examples:
          - soft_reboot
          title: Action
          type: string
      required:
      - action
      title: SoftRebootGPUClusterSerializer
      type: object
    SortingDirections:
      enum:
      - asc
      - desc
      title: SortingDirections
      type: string
    SshKeyEnum:
      enum:
      - allow
      - deny
      - required
      title: SshKeyEnum
      type: string
    StandardShareSettingsOutputSerializer:
      properties:
        type_name:
          const: standard
          description: Standard file share type
          title: Type Name
          type: string
      required:
      - type_name
      title: StandardShareSettingsOutputSerializer
      type: object
    StartActionInstanceSerializer:
      properties:
        action:
          const: start
          description: Instance action name
          example: start
          examples:
          - start
          title: Action
          type: string
        activate_profile:
          anyOf:
          - type: boolean
          - type: 'null'
          default: true
          description: Used on start instance to activate Advanced DDoS profile
          examples:
          - true
          title: Activate Profile
      required:
      - action
      title: StartActionInstanceSerializer
      type: object
    StartGPUClusterSerializer:
      properties:
        action:
          const: start
          description: Action name
          example: start
          examples:
          - start
          title: Action
          type: string
      required:
      - action
      title: StartGPUClusterSerializer
      type: object
    Status:
      properties:
        component_inferences:
          additionalProperties:
            $ref: '#/components/schemas/AppInference'
          description: Map of components and their inferences
          title: Component Inferences
          type: object
        consolidated_status:
          $ref: '#/components/schemas/ConsolidatedStatusEnum'
          description: High-level summary of the deployment status across all regions
        expose_addresses:
          additionalProperties:
            $ref: '#/components/schemas/ExposeAddress'
          description: Map of component keys to their global access endpoints
          title: Expose Addresses
          type: object
        regions:
          description: Status details for each deployment region
          items:
            $ref: '#/components/schemas/RegionStatus'
          title: Regions
          type: array
      required:
      - regions
      - consolidated_status
      - expose_addresses
      - component_inferences
      title: Status
      type: object
    StopGPUClusterSerializer:
      properties:
        action:
          const: stop
          description: Action name
          example: stop
          examples:
          - stop
          title: Action
          type: string
      required:
      - action
      title: StopGPUClusterSerializer
      type: object
    Storage:
      properties:
        size_gib:
          description: Total available storage for database
          example: 100
          examples:
          - 100
          maximum: 100
          minimum: 1
          title: Size Gib
          type: integer
        type:
          description: Storage type
          example: ssd-hiiops
          examples:
          - ssd-hiiops
          title: Type
          type: string
      required:
      - size_gib
      - type
      title: Storage
      type: object
    StorageClass:
      properties:
        name:
          description: Storage type
          example: ssd-hiiops
          examples:
          - ssd-hiiops
          title: Name
          type: string
      required:
      - name
      title: StorageClass
      type: object
    StorageSize:
      properties:
        size_gib:
          description: Total available storage for database
          example: 100
          examples:
          - 100
          maximum: 100
          minimum: 1
          title: Size Gib
          type: integer
      required:
      - size_gib
      title: StorageSize
      type: object
    StringFilter:
      additionalProperties: false
      description: |-
        Filter a string field by one or more operators.

        Use `exact`, `prefix`, `contains` or `suffix`; all match case-insensitively.
        Repeat one operator to match any of several values; combine different operators
        to narrow the result.

        Examples:

        - `name[contains]=web` - name contains "web".
        - `name[prefix]=prod-` - name starts with "prod-".
        - `name[prefix]=prod-&name[contains]=web` - both must hold.

        Unsupported operators return a 400.
      properties:
        contains:
          description: Case-insensitive substring, e.g. `[contains]=web`. Repeat the key to match any substring.
          items:
            type: string
          maxItems: 5
          title: Contains
          type: array
        exact:
          description: Case-insensitive exact match, e.g. `[exact]=web-1`. Repeat the key to match any of several.
          items:
            type: string
          maxItems: 20
          title: Exact
          type: array
        prefix:
          description: Case-insensitive starts-with, e.g. `[prefix]=prod-`. Repeat the key to match any prefix.
          items:
            type: string
          maxItems: 5
          title: Prefix
          type: array
        suffix:
          description: Case-insensitive ends-with, e.g. `[suffix]=-db`. Repeat the key to match any suffix.
          items:
            type: string
          maxItems: 5
          title: Suffix
          type: array
      title: StringFilter
      type: object
    SubnetDetailsSerializer:
      properties:
        available_ips:
          anyOf:
          - type: integer
          - type: 'null'
          description: Number of available ips in subnet
          examples:
          - 250
          title: Available Ips
        cidr:
          description: CIDR
          example: 192.168.13.0/24
          examples:
          - 192.168.13.0/24
          format: ipvanynetwork
          title: Cidr
          type: string
        created_at:
          description: Datetime when the subnet was created
          example: '2025-04-04T13:55:31Z'
          examples:
          - '2025-04-04T13:55:31Z'
          format: date-time
          title: Created At
          type: string
        dns_nameservers:
          anyOf:
          - items:
              format: ipvanyaddress
              type: string
            type: array
          - type: 'null'
          description: List IP addresses of a DNS resolver reachable from the network
          examples:
          - - 8.8.8.8
            - 8.8.4.4
          title: Dns Nameservers
        enable_dhcp:
          description: Indicates whether DHCP is enabled for this subnet. If true, IP addresses will be assigned automatically
          example: true
          examples:
          - true
          title: Enable Dhcp
          type: boolean
        gateway_ip:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: Default GW IPv4 address, advertised in DHCP routes of this subnet. If null, no gateway is advertised by this subnet.
          examples:
          - 192.168.13.1
          title: Gateway Ip
        has_router:
          deprecated: true
          description: Deprecated. Always returns `false`.
          example: false
          examples:
          - false
          title: Has Router
          type: boolean
        host_routes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RouteOutSerializer'
            type: array
          - type: 'null'
          description: List of custom static routes to advertise via DHCP.
          examples:
          - []
          title: Host Routes
        id:
          description: Subnet id.
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Id
          type: string
        ip_version:
          $ref: '#/components/schemas/IPVersion'
          description: IP version used by the subnet (IPv4 or IPv6)
          examples:
          - 4
        name:
          description: Subnet name
          example: subnet_3
          examples:
          - subnet_3
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        network_id:
          description: Network ID
          example: b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          examples:
          - b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          format: uuid4
          title: Network Id
          type: string
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id280
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id280
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        total_ips:
          anyOf:
          - type: integer
          - type: 'null'
          description: Total number of ips in subnet
          examples:
          - 253
          title: Total Ips
        updated_at:
          description: Datetime when the subnet was last updated
          example: '2025-04-04T13:56:31Z'
          examples:
          - '2025-04-04T13:56:31Z'
          format: date-time
          title: Updated At
          type: string
      required:
      - name
      - id
      - network_id
      - ip_version
      - enable_dhcp
      - cidr
      - available_ips
      - total_ips
      - has_router
      - dns_nameservers
      - host_routes
      - gateway_ip
      - tags
      - created_at
      - updated_at
      title: SubnetDetailsSerializer
      type: object
    SubnetIdSerializer:
      properties:
        subnet_id:
          description: Target IP is identified by it's subnet
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - subnet_id
      title: SubnetIdSerializer
      type: object
    SubnetInterfaceInputSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          description: Floating IP config for this subnet attachment
        name:
          description: Interface name
          maxLength: 37
          title: Name
          type: string
        network_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
          - 59905c8e-2619-420a-b046-536096473370
          format: uuid4
          title: Network Id
          type: string
        port_security_enabled:
          description: Controls port security for this interface. When omitted, the default applies (port security enabled, default security group attached). When false, the port is created with port security off and no security group attached; `security_groups` must not be set in that case. Not allowed for interfaces on a public network, nor for bare metal servers without a DPU (their ports cannot enforce port security).
          example: true
          examples:
          - true
          title: Port Security Enabled
          type: boolean
        security_groups:
          description: Security group UUIDs applied to this interface. If omitted (or empty), the top-level `security_groups` value applies; if both are omitted, the project's default security group is applied.
          example: &id281
          - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
          - *id281
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        subnet_id:
          description: Port is assigned an IP address from this subnet
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          title: Type
          type: string
      required:
      - network_id
      - type
      - subnet_id
      title: SubnetInterfaceInputSerializer
      type: object
    SubnetInterfaceOutputSerializer:
      properties:
        floating_ip:
          anyOf:
          - $ref: '#/components/schemas/NewFloatingIpInterfaceSerializer'
          - type: 'null'
          description: Floating IP config for this subnet attachment
        name:
          anyOf:
          - maxLength: 37
            type: string
          - type: 'null'
          description: Interface name
          title: Name
        network_id:
          description: Network ID the subnet belongs to. Port will be plugged in this network
          example: 59905c8e-2619-420a-b046-536096473370
          examples:
          - 59905c8e-2619-420a-b046-536096473370
          title: Network Id
          type: string
        port_security_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Shows the port security state of this interface. A `null` value means port security is on, with the default security group attached. A `true` or `false` value shows the state set at creation.
          examples:
          - true
          title: Port Security Enabled
        security_groups:
          description: Resolved security groups applied to this interface.
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        subnet_id:
          description: Port is assigned an IP address from this subnet
          example: e3c6ee77-48cb-416b-b204-11b492cc776e3
          examples:
          - e3c6ee77-48cb-416b-b204-11b492cc776e3
          format: uuid4
          title: Subnet Id
          type: string
        type:
          const: subnet
          title: Type
          type: string
      required:
      - network_id
      - name
      - security_groups
      - port_security_enabled
      - type
      - subnet_id
      - floating_ip
      title: SubnetInterfaceOutputSerializer
      type: object
    SubnetListOrderByChoices:
      enum:
      - available_ips.asc
      - available_ips.desc
      - cidr.asc
      - cidr.desc
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      - total_ips.asc
      - total_ips.desc
      - updated_at.asc
      - updated_at.desc
      title: SubnetListOrderByChoices
      type: string
    SubnetOwnedBy:
      enum:
      - any
      - project
      title: SubnetOwnedBy
      type: string
    SubnetSerializer:
      properties:
        available_ips:
          anyOf:
          - type: integer
          - type: 'null'
          description: Number of available ips in subnet. Null when this data isn't available.
          examples:
          - 250
          title: Available Ips
        cidr:
          description: CIDR
          example: 192.168.13.0/24
          examples:
          - 192.168.13.0/24
          format: ipvanynetwork
          title: Cidr
          type: string
        created_at:
          description: Datetime when the subnet was created
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: Task that created this entity. Null when the subnet wasn't created via a tracked task.
          examples:
          - 5cc890da-d031-4a23-ac31-625edfa22812
          title: Creator Task Id
        dns_nameservers:
          description: List IP addresses of a DNS resolver reachable from the network
          example: &id282
          - 8.8.8.8
          - 8.8.4.4
          examples:
          - *id282
          items:
            format: ipvanyaddress
            type: string
          title: Dns Nameservers
          type: array
        enable_dhcp:
          description: True if DHCP should be enabled
          example: true
          examples:
          - true
          title: Enable Dhcp
          type: boolean
        gateway_ip:
          anyOf:
          - format: ipvanyaddress
            type: string
          - type: 'null'
          description: Default GW IPv4 address, advertised in DHCP routes of this subnet. If null, no gateway is advertised by this subnet.
          examples:
          - 192.168.13.1
          title: Gateway Ip
        has_router:
          deprecated: true
          description: Deprecated. Always returns `false`.
          example: false
          examples:
          - false
          readOnly: true
          title: Has Router
          type: boolean
        host_routes:
          description: List of custom static routes to advertise via DHCP.
          example: &id283 []
          examples:
          - *id283
          items:
            $ref: '#/components/schemas/RouteOutSerializer'
          title: Host Routes
          type: array
        id:
          description: Subnet id.
          example: b39792c3-3160-4356-912e-ba396c95cdcf
          examples:
          - b39792c3-3160-4356-912e-ba396c95cdcf
          format: uuid4
          title: Id
          type: string
        ip_version:
          $ref: '#/components/schemas/IPVersion'
          description: IP version
          examples:
          - 4
        name:
          description: Subnet name
          example: subnet_3
          examples:
          - subnet_3
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        network_id:
          description: Network ID
          example: b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          examples:
          - b30d0de7-bca2-4c83-9c57-9e645bd2cc92
          format: uuid4
          title: Network Id
          type: string
        project_id:
          description: Project ID
          example: 1337
          examples:
          - 1337
          title: Project Id
          type: integer
        region:
          description: Region name
          example: Luxembourg 1
          examples:
          - Luxembourg 1
          title: Region
          type: string
        region_id:
          description: Region ID
          example: 7
          examples:
          - 7
          title: Region Id
          type: integer
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id284
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id284
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - format: uuid4
            type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - null
          title: Task Id
        total_ips:
          anyOf:
          - type: integer
          - type: 'null'
          description: Total number of ips in subnet. Null when this data isn't available.
          examples:
          - 253
          title: Total Ips
        updated_at:
          description: Datetime when the subnet was last updated
          example: 2019-06-13T13:58:12+0000
          examples:
          - 2019-06-13T13:58:12+0000
          format: date-time
          title: Updated At
          type: string
      required:
      - project_id
      - region_id
      - region
      - name
      - id
      - network_id
      - ip_version
      - enable_dhcp
      - cidr
      - creator_task_id
      - task_id
      - available_ips
      - total_ips
      - dns_nameservers
      - host_routes
      - gateway_ip
      - tags
      - created_at
      - updated_at
      - has_router
      title: SubnetSerializer
      type: object
    SubnetSerializerList:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SubnetSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: SubnetSerializerList
      type: object
    TagCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: TagCollectionSerializer
      type: object
    TagFilter:
      description: |-
        Exact tag key-value pair filter, e.g. `tags[env]=prod&tags[team]=core`.

        Repeat a key to match any of several values for it
        (`tags[env]=prod&tags[env]=dev` -> the `env` tag is prod OR dev); different
        keys are ANDed. Values match case-insensitively.
      propertyNames:
        description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
        examples:
        - my-tag
        maxLength: 255
        minLength: 1
        pattern: ^[^\s=]+$
      title: TagFilter
      type: object
      additionalProperties:
        items:
          description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, or empty strings. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
          example: my-tag-value
          examples:
          - my-tag-value
          maxLength: 255
          minLength: 1
          pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
          type: string
        maxItems: 20
        minItems: 1
        type: array
    TagSerializer:
      description: |-
        A tag is a key-value pair that can be associated with a resource,
        enabling efficient filtering and grouping for better organization and management.
        Some tags are read-only and cannot be modified by the user.
        Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
      properties:
        key:
          description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF.
          example: my-tag
          examples:
          - my-tag
          title: Key
          type: string
        read_only:
          description: If true, the tag is read-only and cannot be modified by the user
          example: false
          examples:
          - false
          title: Read Only
          type: boolean
        value:
          description: Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF.
          example: my-tag-value
          examples:
          - my-tag-value
          title: Value
          type: string
      required:
      - key
      - value
      - read_only
      title: TagSerializer
      type: object
    TagsFilterConditionSerializer:
      additionalProperties: false
      properties:
        key:
          description: The name of the tag to filter (e.g., 'os_version').
          example: os_version
          examples:
          - os_version
          maxLength: 128
          minLength: 3
          title: Key
          type: string
        strict:
          description: Determines how strictly the tag value must match the specified value. If true, the tag value must exactly match the given value. If false, a less strict match (e.g., partial or case-insensitive match) may be applied.
          example: true
          examples:
          - true
          title: Strict
          type: boolean
        value:
          description: The value of the tag to filter (e.g., '22.04').
          example: '22.04'
          examples:
          - '22.04'
          maxLength: 256
          minLength: 3
          title: Value
          type: string
      title: TagsFilterConditionSerializer
      type: object
    TagsFilterConditionTypes:
      enum:
      - AND
      - OR
      title: TagsFilterConditionTypes
      type: string
    TagsFilterSerializer:
      description: Represents a filter consisting of multiple tag filtering conditions.
      properties:
        condition_type:
          $ref: '#/components/schemas/TagsFilterConditionTypes'
          default: OR
          description: Specifies whether conditions are combined using OR (default) or AND logic.
        conditions:
          description: A list of tag filtering conditions defining how tags should match.
          example: &id285
          - key: os_version
            strict: true
            value: '9'
          - key: os_type
            strict: true
            value: linux
          - key: os_distro
            strict: true
            value: centos
          examples:
          - *id285
          items:
            $ref: '#/components/schemas/TagsFilterConditionSerializer'
          maxItems: 10
          minItems: 1
          title: Conditions
          type: array
      required:
      - conditions
      title: TagsFilterSerializer
      type: object
    TaskCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/TaskSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: TaskCollectionSerializer
      type: object
    TaskDetailedStateEnum:
      enum:
      - CLUSTER_CLEAN_UP
      - CLUSTER_REBUILD
      - CLUSTER_RESIZE
      - CLUSTER_RESUME
      - CLUSTER_SERVER_REBUILD
      - CLUSTER_SUSPEND
      - ERROR
      - FINISHED
      - IPU_SERVERS
      - NETWORK
      - POPLAR_SERVERS
      - POST_DEPLOY_SETUP
      - VIPU_CONTROLLER
      title: TaskDetailedStateEnum
      type: string
    TaskIDsSerializer:
      properties:
        tasks:
          description: |-
            List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:
              - `GET /v1/tasks/{task_id}` - Check individual task status and details
              Poll task status until completion (`FINISHED`/`ERROR`) before proceeding with dependent operations.
          example: &id286
          - d478ae29-dedc-4869-82f0-96104425f565
          examples:
          - *id286
          items:
            type: string
          title: Tasks
          type: array
      required:
      - tasks
      title: TaskIDsSerializer
      type: object
    TaskOrderByChoices:
      enum:
      - asc
      - desc
      title: TaskOrderByChoices
      type: string
    TaskSerializer:
      properties:
        acknowledged_at:
          anyOf:
          - type: string
          - type: 'null'
          description: If task was acknowledged, this field stores acknowledge timestamp
          title: Acknowledged At
        acknowledged_by:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: If task was acknowledged, this field stores `user_id` of the person
          examples:
          - 123
          title: Acknowledged By
        client_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The client ID
          examples:
          - 123
          title: Client Id
        created_on:
          anyOf:
          - type: string
          - type: 'null'
          description: Created timestamp
          examples:
          - '2019-06-25T08:42:42Z'
          title: Created On
        created_resources:
          anyOf:
          - $ref: '#/components/schemas/CreatedResources'
          - type: 'null'
          default: null
          description: If the task creates resources, this field will contain their IDs
        data:
          description: Task parameters
          examples:
          - block_device_config:
            - boot_index: 0
              image_id: f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1
              name: volume for vm1
              size: 1
              source: image
              type_name: standard
            flavor_name: g1s-shared-1-0.5
            keypair_name: null
            name: cirroz1
            network_config: null
            reservation_id: 01d4925e-f5db-414a-9808-74e08aa4a741
            security_groups: null
          title: Data
        detailed_state:
          anyOf:
          - $ref: '#/components/schemas/TaskDetailedStateEnum'
          - type: 'null'
          default: null
          description: Task detailed state that is more specific to task type
        error:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The error value
          title: Error
        finished_on:
          anyOf:
          - type: string
          - type: 'null'
          description: Finished timestamp
          title: Finished On
        id:
          description: The task ID
          example: 26986bc0-748a-4448-b836-0a2aa465eb06
          examples:
          - 26986bc0-748a-4448-b836-0a2aa465eb06
          title: Id
          type: string
        job_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Job ID
          title: Job Id
        lifecycle_policy_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Lifecycle policy ID
          title: Lifecycle Policy Id
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The project ID
          examples:
          - 123
          title: Project Id
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: The region ID
          examples:
          - 123
          title: Region Id
        request_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The request ID
          title: Request Id
        schedule_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Schedule ID
          title: Schedule Id
        state:
          $ref: '#/components/schemas/TaskState'
          description: The task state
          examples:
          - RUNNING
        task_type:
          description: The task type
          example: create_vm
          examples:
          - create_vm
          title: Task Type
          type: string
        updated_on:
          anyOf:
          - type: string
          - type: 'null'
          description: Last updated timestamp
          title: Updated On
        user_client_id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Client, specified in user's JWT
          examples:
          - 123
          title: User Client Id
        user_id:
          description: The user ID that initiated the task
          example: 123
          examples:
          - 123
          title: User Id
          type: integer
      required:
      - id
      - user_id
      - task_type
      - state
      - created_on
      title: TaskSerializer
      type: object
    TaskState:
      enum:
      - ERROR
      - FINISHED
      - NEW
      - RUNNING
      title: TaskState
      type: string
    TestMessageMQBodySerializer:
      properties:
        connection_string:
          description: Connection string of the following structure "scheme://username:password@host:port/virtual_host". The scheme must be amqp or amqps, the port must be a valid TCP port, and the host must resolve to a public address (private, loopback, link-local and metadata addresses are rejected with a 400).
          example: amqps://guest:guest@93.184.216.34:5671/user_action_events
          examples:
          - amqps://guest:guest@93.184.216.34:5671/user_action_events
          - amqps://guest:guest@broker.example.com:5671/user_action_events
          title: Connection String
          type: string
        exchange:
          description: Exchange name
          example: exchange
          examples:
          - exchange
          title: Exchange
          type: string
        routing_key:
          description: Routing key
          example: routing_key
          examples:
          - routing_key
          title: Routing Key
          type: string
      required:
      - connection_string
      title: Scheme for sending a test message to MQ
      type: object
    TotalAiClusterReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: bm3-ai-1xlarge-h100-80-8_min
          examples:
          - bm3-ai-1xlarge-h100-80-8_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the Baremetal GPU cluster
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: ai_cluster
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalAiClusterReportItemSerializer
      type: object
    TotalAiClusterWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'AI Infrastructure: bm3-ai-1xlarge-h100-80-8 (2 x Intel Xeon 8480+, 2TB RAM, 8x3.84 TB NVMe, 8x Nvidia H100, IB 3.2 Tbit/s, 2x100Gbit/s Ethernet)  Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: bm3-ai-1xlarge-h100-80-8_min
          examples:
          - bm3-ai-1xlarge-h100-80-8_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the Baremetal GPU cluster
          example: bm3-ai-1xlarge-h100-80-8
          examples:
          - bm3-ai-1xlarge-h100-80-8
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: ai_cluster
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalAiClusterWithCostSerializer
      type: object
    TotalAiVirtualClusterReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g3-ai-32-192-1500-l40s-48-1_min
          examples:
          - g3-ai-32-192-1500-l40s-48-1_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the Virtual GPU cluster
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: ai_virtual_cluster
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalAiVirtualClusterReportItemSerializer
      type: object
    TotalAiVirtualClusterWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'AI Infrastructure: g3-ai-128-768-6000-l40s-48-4 (128vCPU/768GB RAM/6000GB NVMe/L40S-48GB-4GPU) Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g3-ai-32-192-1500-l40s-48-1_min
          examples:
          - g3-ai-32-192-1500-l40s-48-1_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the Virtual GPU cluster
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: ai_virtual_cluster
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalAiVirtualClusterWithCostSerializer
      type: object
    TotalBackupWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Backup to S3 - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: backup_gbm
          examples:
          - backup_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        last_size:
          description: Size of the backup in bytes
          example: 46137344
          examples:
          - 46137344
          title: Last Size
          type: integer
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: backup
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - last_size
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalBackupWithCostSerializer
      type: object
    TotalBaremetalReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: bm2-hf-medium_min
          examples:
          - bm2-hf-medium_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the bare metal server
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: baremetal
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalBaremetalReportItemSerializer
      type: object
    TotalBaremetalWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: bm2-hf-medium (1x Intel Xeon E-2388G, 64GB, 2x480 SSD, 2x1Gbit NIC) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: bm2-hf-medium_min
          examples:
          - bm2-hf-medium_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the bare metal server
          example: bm2-hf-medium
          examples:
          - bm2-hf-medium
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: baremetal
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalBaremetalWithCostSerializer
      type: object
    TotalBasicVmReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g2s-shared-1-2-25_min
          examples:
          - g2s-shared-1-2-25_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the basic VM
          example: g2s-shared-1-2-25
          examples:
          - g2s-shared-1-2-25
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: basic_vm
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalBasicVmReportItemSerializer
      type: object
    TotalBasicVmWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: g2s-shared-1-2-25 (1vCPU/2GB RAM/25GB SSD) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g2s-shared-1-2-25_min
          examples:
          - g2s-shared-1-2-25_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the basic VM
          example: g2s-shared-1-2-25
          examples:
          - g2s-shared-1-2-25
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: basic_vm
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalBasicVmWithCostSerializer
      type: object
    TotalContainerReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: caas_container_resources_sec
          examples:
          - caas_container_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: containers
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalContainerReportItemSerializer
      type: object
    TotalContainerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Container as a Service - Total Compute (GB-seconds), Luxembourg-2 - Overcommit
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: caas_container_resources_sec
          examples:
          - caas_container_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: containers
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalContainerWithCostSerializer
      type: object
    TotalDBAASPostgreSQLCPUReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_cpu_min
          examples:
          - dbaas_postgresql_cpu_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_cpu
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalDBAASPostgreSQLCPUReportItemSerializer
      type: object
    TotalDBAASPostgreSQLCPUWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL CPU - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_cpu_min
          examples:
          - dbaas_postgresql_cpu_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_cpu
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalDBAASPostgreSQLCPUWithCostSerializer
      type: object
    TotalDBAASPostgreSQLMemoryReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_memory_gbmin
          examples:
          - dbaas_postgresql_memory_gbmin
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_memory
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalDBAASPostgreSQLMemoryReportItemSerializer
      type: object
    TotalDBAASPostgreSQLMemoryWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Memory - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_memory_gbmin
          examples:
          - dbaas_postgresql_memory_gbmin
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_memory
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalDBAASPostgreSQLMemoryWithCostSerializer
      type: object
    TotalDBAASPostgreSQLPoolerReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_connection_pooler
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalDBAASPostgreSQLPoolerReportItemSerializer
      type: object
    TotalDBAASPostgreSQLPoolerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Connection Pooler - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_connection_pooler
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalDBAASPostgreSQLPoolerWithCostSerializer
      type: object
    TotalDBAASPostgreSQLPublicNetworkReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_public_network
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalDBAASPostgreSQLPublicNetworkReportItemSerializer
      type: object
    TotalDBAASPostgreSQLPublicNetworkWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Public Network - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_public_network
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalDBAASPostgreSQLPublicNetworkWithCostSerializer
      type: object
    TotalDBAASPostgreSQLVolumeReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_volume
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      title: TotalDBAASPostgreSQLVolumeReportItemSerializer
      type: object
    TotalDBAASPostgreSQLVolumeWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Managed PostgreSQL Storage (SSD Low Latency) - Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: dbaas_postgresql_public_network_min
          examples:
          - dbaas_postgresql_public_network_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: dbaas_postgresql_volume
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalDBAASPostgreSQLVolumeWithCostSerializer
      type: object
    TotalEgressTrafficReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: egress_traffic_baremetal_gbs
          examples:
          - egress_traffic_baremetal_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: bytes
          description: Unit of billing value
          example: bytes
          examples:
          - bytes
          title: Billing Value Unit
          type: string
        instance_type:
          $ref: '#/components/schemas/EgressTrafficInstanceType'
          description: Type of the instance
          examples:
          - baremetal
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: egress_traffic
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - instance_type
      title: TotalEgressTrafficReportItemSerializer
      type: object
    TotalEgressTrafficWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Egress traffic Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: egress_traffic_baremetal_gbs
          examples:
          - egress_traffic_baremetal_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: bytes
          description: Unit of billing value
          example: bytes
          examples:
          - bytes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        instance_type:
          $ref: '#/components/schemas/EgressTrafficInstanceType'
          description: Type of the instance
          examples:
          - baremetal
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: egress_traffic
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - instance_type
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalEgressTrafficWithCostSerializer
      type: object
    TotalExternalIpReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: externalip_min
          examples:
          - externalip_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: external_ip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalExternalIpReportItemSerializer
      type: object
    TotalExternalIpWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Public IP address Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: externalip_min
          examples:
          - externalip_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: external_ip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalExternalIpWithCostSerializer
      type: object
    TotalFileShareReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: file_share_t_standard_gbm
          examples:
          - file_share_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        file_share_type:
          description: Type of the file share
          example: standard
          examples:
          - standard
          title: File Share Type
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: file_share
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - file_share_type
      title: TotalFileShareReportItemSerializer
      type: object
    TotalFileShareWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - File Shares (Standard) - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: file_share_t_standard_gbm
          examples:
          - file_share_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        file_share_type:
          description: Type of the file share
          example: standard
          examples:
          - standard
          title: File Share Type
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: file_share
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - file_share_type
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalFileShareWithCostSerializer
      type: object
    TotalFloatingIpReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: floating_min
          examples:
          - floating_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: floatingip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalFloatingIpReportItemSerializer
      type: object
    TotalFloatingIpWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Floating IP address Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: floating_min
          examples:
          - floating_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: floatingip
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalFloatingIpWithCostSerializer
      type: object
    TotalFunctionCallsReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_calls_piece
          examples:
          - faas_function_calls_piece
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: MLS
          description: Unit of billing value
          example: MLS
          examples:
          - MLS
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_calls
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalFunctionCallsReportItemSerializer
      type: object
    TotalFunctionCallsWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Requests, Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_calls_piece
          examples:
          - faas_function_calls_piece
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: MLS
          description: Unit of billing value
          example: MLS
          examples:
          - MLS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_calls
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalFunctionCallsWithCostSerializer
      type: object
    TotalFunctionEgressTrafficReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_egress_traffic_gbs
          examples:
          - faas_function_egress_traffic_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GB
          description: Unit of billing value
          example: GB
          examples:
          - GB
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_traffic
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalFunctionEgressTrafficReportItemSerializer
      type: object
    TotalFunctionEgressTrafficWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Egress Traffic (GB), Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_egress_traffic_gbs
          examples:
          - faas_function_egress_traffic_gbs
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GB
          description: Unit of billing value
          example: GB
          examples:
          - GB
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions_traffic
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalFunctionEgressTrafficWithCostSerializer
      type: object
    TotalFunctionsReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_resources_sec
          examples:
          - faas_function_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalFunctionsReportItemSerializer
      type: object
    TotalFunctionsWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Functions - Total Compute (GB-seconds), Luxembourg-1 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: faas_function_resources_sec
          examples:
          - faas_function_resources_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: GBS
          description: Unit of billing value
          example: GBS
          examples:
          - GBS
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: functions
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalFunctionsWithCostSerializer
      type: object
    TotalImagesReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: image_gbm
          examples:
          - image_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: image
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalImagesReportItemSerializer
      type: object
    TotalImagesWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Images - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: image_gbm
          examples:
          - image_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: image
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalImagesWithCostSerializer
      type: object
    TotalInferenceReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: inference_gpu_l40s_48_sec
          examples:
          - inference_gpu_l40s_48_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          description: Unit of billing value
          example: H
          examples:
          - H
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: inference
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalInferenceReportItemSerializer
      type: object
    TotalInferenceWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Inference at the Edge - GPU L40s (48 GB Memory) Usage Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: inference_gpu_l40s_48_sec
          examples:
          - inference_gpu_l40s_48_sec
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          description: Unit of billing value
          example: H
          examples:
          - H
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: inference
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalInferenceWithCostSerializer
      type: object
    TotalInstanceReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: g1-standard-1-2_min
          examples:
          - g1-standard-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the instance
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: instance
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalInstanceReportItemSerializer
      type: object
    TotalInstanceWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Instance Type: g1-standard-1-2 (1vCPU/2GB RAM) Luxembourg-2 - Overcommit'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: g1-standard-1-2_min
          examples:
          - g1-standard-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the instance
          example: g1-standard-1-2
          examples:
          - g1-standard-1-2
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: instance
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalInstanceWithCostSerializer
      type: object
    TotalLoadBalancerReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: lb1-1-2_min
          examples:
          - lb1-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        flavor:
          description: Flavor of the load balancer
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: load_balancer
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      title: TotalLoadBalancerReportItemSerializer
      type: object
    TotalLoadBalancerWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - 'Load Balancer Type: lb1-1-1 (1vCPU/2GB RAM) Luxembourg-2 - PAYG'
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: lb1-1-2_min
          examples:
          - lb1-1-2_min
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: minutes
          description: Unit of billing value
          example: minutes
          examples:
          - minutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        flavor:
          description: Flavor of the load balancer
          example: lb1-1-2
          examples:
          - lb1-1-2
          title: Flavor
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: load_balancer
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - flavor
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalLoadBalancerWithCostSerializer
      type: object
    TotalLogIndexReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: log_index_gbm
          examples:
          - log_index_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: log_index
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      title: TotalLogIndexReportItemSerializer
      type: object
    TotalLogIndexWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Logging as a Service - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: log_index_gbm
          examples:
          - log_index_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: log_index
          title: Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalLogIndexWithCostSerializer
      type: object
    TotalSnapshotReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: snap_t_standard_gbm
          examples:
          - snap_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: snapshot
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      title: TotalSnapshotReportItemSerializer
      type: object
    TotalSnapshotWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Snapshots for Standard Volumes - Gb Luxembourg-2 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: snap_t_standard_gbm
          examples:
          - snap_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: snapshot
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalSnapshotWithCostSerializer
      type: object
    TotalVolumeReportItemSerializer:
      properties:
        billing_metric_name:
          description: Name of the billing metric
          example: volume_t_standard_gbm
          examples:
          - volume_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: volume
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      title: TotalVolumeReportItemSerializer
      type: object
    TotalVolumeWithCostSerializer:
      properties:
        billing_feature_name:
          anyOf:
          - type: string
          - type: 'null'
          examples:
          - Block Storage (Standard) - Gb Luxembourg-1 - PAYG
          title: Billing Feature Name
        billing_metric_name:
          description: Name of the billing metric
          example: volume_t_standard_gbm
          examples:
          - volume_t_standard_gbm
          title: Billing Metric Name
          type: string
        billing_value:
          description: Value of the billing metric
          example: 1000
          examples:
          - 1000
          title: Billing Value
          type: number
        billing_value_unit:
          const: gbminutes
          description: Unit of billing value
          example: gbminutes
          examples:
          - gbminutes
          title: Billing Value Unit
          type: string
        cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Cost for requested period
          examples:
          - 1000
          title: Cost
        currency:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency of the cost
          examples:
          - EUR
          title: Currency
        err:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message
          examples:
          - null
          title: Err
        region:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region
          type: integer
        region_id:
          description: Region ID
          example: 76
          examples:
          - 76
          title: Region Id
          type: integer
        type:
          const: volume
          title: Type
          type: string
        volume_type:
          description: Type of the volume
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - type
      - billing_value
      - billing_value_unit
      - billing_metric_name
      - region
      - region_id
      - volume_type
      - billing_feature_name
      - cost
      - currency
      - err
      title: TotalVolumeWithCostSerializer
      type: object
    UpdateBareMetalClusterSerializer:
      properties:
        image_id:
          description: Image ID of the OS image to apply to the cluster template. Use GET /v1/images/{`project_id`}/{`region_id`} to discover available images. Takes effect on existing servers only after a successful POST /`apply_settings` call.
          example: 3793c250-0b3b-4678-bab3-e11afbc29657
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          format: uuid4
          title: Image Id
          type: string
        name:
          description: Cluster name
          example: gpu-cluster-1
          examples:
          - gpu-cluster-1
          maxLength: 63
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        servers_settings:
          $ref: '#/components/schemas/PatchServerSettingsInputSerializer'
          description: Configuration settings for the servers in the cluster
          examples:
          - credentials:
              ssh_key_name: my-key
            user_data: eyJ0ZXN0IjogImRhdGEifQ==
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateBareMetalClusterSerializer
      type: object
    UpdateBareMetalServerSerializer:
      properties:
        name:
          description: Name
          example: server_name
          examples:
          - server_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateBareMetalServerSerializer
      type: object
    UpdateClusterSerializer:
      properties:
        name:
          description: Cluster name
          example: gpu-cluster-1
          examples:
          - gpu-cluster-1
          maxLength: 63
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        servers_settings:
          $ref: '#/components/schemas/PatchVirtualServerSettingsInputSerializer'
          description: Configuration settings for the servers in the cluster
          examples:
          - credentials:
              ssh_key_name: my-key
            user_data: eyJ0ZXN0IjogImRhdGEifQ==
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateClusterSerializer
      type: object
    UpdateFileShareSerializer:
      properties:
        name:
          description: Name
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        share_settings:
          anyOf:
          - $ref: '#/components/schemas/DdnFileShareSettingsInputSerializer'
          - $ref: '#/components/schemas/UpdateVastFileShareSettingsSerializer'
          description: Configuration settings for the share
          title: Share Settings
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateFileShareSerializer
      type: object
    UpdateGpuImageSerializer:
      properties:
        min_disk:
          description: Minimal boot volume required (GB)
          example: 20
          examples:
          - 20
          maximum: 8192
          minimum: 0
          title: Min Disk
          type: integer
        min_ram:
          description: Minimal RAM required (MB)
          example: 0
          examples:
          - 0
          maximum: 4194304
          minimum: 0
          title: Min Ram
          type: integer
        name:
          description: Image display name
          example: my-gpu-image
          examples:
          - my-gpu-image
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateGpuImageSerializer
      type: object
    UpdateImageSerializer:
      properties:
        hw_firmware_type:
          $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        hw_machine_type:
          $ref: '#/components/schemas/HwMachineTypeEnum'
          description: A virtual chipset type.
          examples:
          - q35
        is_baremetal:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Set to true if the image will be used by bare metal servers.
          examples:
          - false
          title: Is Baremetal
        name:
          description: Image display name
          example: my-image
          examples:
          - my-image
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        os_type:
          $ref: '#/components/schemas/ImageOsTypeEnum'
          description: The operating system installed on the image.
          examples:
          - linux
        ssh_key:
          $ref: '#/components/schemas/SshKeyEnum'
          description: Whether the image supports SSH key or not
          examples:
          - allow
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateImageSerializer
      type: object
    UpdateInstanceSerializer:
      properties:
        name:
          description: Name
          example: instance_name
          examples:
          - instance_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateInstanceSerializer
      type: object
    UpdateL7PolicyRedirectPrefixSerializer:
      properties:
        action:
          const: REDIRECT_PREFIX
          description: Action
          example: REDIRECT_PREFIX
          examples:
          - REDIRECT_PREFIX
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid options are 301, 302, 303, 307, or 308. Default is 302.
          enum:
          - 301
          - 302
          - 303
          - 307
          - 308
          example: 301
          examples:
          - 301
          - 302
          - 303
          - 307
          - 308
          title: Redirect Http Code
          type: integer
        redirect_prefix:
          description: Requests matching this policy will be redirected to this Prefix URL.
          example: /api/v1/policies
          examples:
          - /api/v1/policies
          title: Redirect Prefix
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id287
          - test_tag
          examples:
          - *id287
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_prefix
      title: UpdateL7PolicyRedirectPrefixSerializer
      type: object
    UpdateL7PolicyRedirectToPoolSerializer:
      properties:
        action:
          const: REDIRECT_TO_POOL
          description: Action
          example: REDIRECT_TO_POOL
          examples:
          - REDIRECT_TO_POOL
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_pool_id:
          description: Requests matching this policy will be redirected to the pool with this ID.
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          title: Redirect Pool Id
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id288
          - test_tag
          examples:
          - *id288
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_pool_id
      title: UpdateL7PolicyRedirectToPoolSerializer
      type: object
    UpdateL7PolicyRedirectToUrlSerializer:
      properties:
        action:
          const: REDIRECT_TO_URL
          description: Action
          example: REDIRECT_TO_URL
          examples:
          - REDIRECT_TO_URL
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or `REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
          enum:
          - 301
          - 302
          - 303
          - 307
          - 308
          example: 301
          examples:
          - 301
          - 302
          - 303
          - 307
          - 308
          title: Redirect Http Code
          type: integer
        redirect_url:
          description: Requests matching this policy will be redirected to this URL. Only valid if action is `REDIRECT_TO_URL`.
          example: https://www.example.com
          examples:
          - https://www.example.com
          title: Redirect Url
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id289
          - test_tag
          examples:
          - *id289
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      - redirect_url
      title: UpdateL7PolicyRedirectToUrlSerializer
      type: object
    UpdateL7PolicyRejectSerializer:
      properties:
        action:
          const: REJECT
          description: Action
          example: REJECT
          examples:
          - REJECT
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
          - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        tags:
          description: A list of simple strings assigned to the resource.
          example: &id290
          - test_tag
          examples:
          - *id290
          items:
            type: string
          title: Tags
          type: array
      required:
      - action
      title: UpdateL7PolicyRejectSerializer
      type: object
    UpdateL7PolicySerializer:
      discriminator:
        mapping:
          REDIRECT_PREFIX: '#/components/schemas/UpdateL7PolicyRedirectPrefixSerializer'
          REDIRECT_TO_POOL: '#/components/schemas/UpdateL7PolicyRedirectToPoolSerializer'
          REDIRECT_TO_URL: '#/components/schemas/UpdateL7PolicyRedirectToUrlSerializer'
          REJECT: '#/components/schemas/UpdateL7PolicyRejectSerializer'
        propertyName: action
      oneOf:
      - $ref: '#/components/schemas/UpdateL7PolicyRedirectToUrlSerializer'
      - $ref: '#/components/schemas/UpdateL7PolicyRedirectPrefixSerializer'
      - $ref: '#/components/schemas/UpdateL7PolicyRedirectToPoolSerializer'
      - $ref: '#/components/schemas/UpdateL7PolicyRejectSerializer'
      title: UpdateL7PolicySerializer
    UpdateL7RuleSerializer:
      properties:
        compare_type:
          $ref: '#/components/schemas/CompareTypeEnum'
          description: The comparison type for the L7 rule
          examples:
          - REGEX
        invert:
          description: When true the logic of the rule is inverted.
          example: true
          examples:
          - true
          - false
          title: Invert
          type: boolean
        key:
          description: The key to use for the comparison. Required for COOKIE and HEADER `type` only.
          example: the name of the cookie or header to evaluate.
          examples:
          - the name of the cookie or header to evaluate.
          maxLength: 255
          title: Key
          type: string
        tags:
          description: A list of simple strings assigned to the l7 rule
          example: &id291
          - test_tag_1
          - test_tag_2
          examples:
          - *id291
          items:
            type: string
          title: Tags
          type: array
        type:
          $ref: '#/components/schemas/L7RuleTypeEnum'
          description: The L7 rule type
          examples:
          - PATH
        value:
          description: The value to use for the comparison
          example: /images*
          examples:
          - /images*
          maxLength: 255
          minLength: 1
          title: Value
          type: string
      title: UpdateL7RuleSerializer
      type: object
    UpdateLifecyclePolicySerializer:
      properties:
        name:
          description: Name of the lifecycle policy.
          example: schedule_1
          examples:
          - schedule_1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        status:
          $ref: '#/components/schemas/LifecyclePolicyStatusesEnum'
          description: Status of the lifecycle policy.
          examples:
          - paused
      title: UpdateLifecyclePolicySerializer
      type: object
    UpdateProjectSerializer:
      properties:
        description:
          description: Description of the project.
          example: Project description
          examples:
          - Project description
          title: Description
          type: string
        name:
          description: Name of the entity, following a specific format.
          example: my-project
          examples:
          - my-project
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      title: UpdateProjectSerializer
      type: object
    UpdateSecurityGroupRuleSerializer:
      discriminator:
        mapping:
          create: '#/components/schemas/CreateSecurityGroupRuleActionSerializer'
          delete: '#/components/schemas/DeleteSecurityGroupRuleSerializer'
        propertyName: action
      oneOf:
      - $ref: '#/components/schemas/CreateSecurityGroupRuleActionSerializer'
      - $ref: '#/components/schemas/DeleteSecurityGroupRuleSerializer'
      title: UpdateSecurityGroupRuleSerializer
    UpdateSecurityGroupSerializer:
      properties:
        changed_rules:
          description: List of rules to create or delete
          items:
            $ref: '#/components/schemas/UpdateSecurityGroupRuleSerializer'
          maxItems: 500
          title: Changed Rules
          type: array
        name:
          description: Name
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateSecurityGroupSerializer
      type: object
    UpdateSecurityGroupSerializerV2:
      properties:
        description:
          description: Security group description
          example: Some description
          examples:
          - Some description
          title: Description
          type: string
        name:
          description: Name
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        rules:
          description: Security group rules
          items:
            $ref: '#/components/schemas/CreateSecurityGroupRuleSerializerV2'
          maxItems: 250
          title: Rules
          type: array
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateSecurityGroupSerializerV2
      type: object
    UpdateSnapshotSerializer:
      properties:
        name:
          description: Display name for the snapshot (3-63 chars). Used in customer portal and API. Does not affect snapshot data.
          example: my-backup-snapshot
          examples:
          - my-backup-snapshot
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateSnapshotSerializer
      type: object
    UpdateTagsSerializer:
      propertyNames:
        description: Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped.
        examples:
        - my-tag
        maxLength: 255
        minLength: 1
        pattern: ^[^\s=]+$
      title: UpdateTagsSerializer
      type: object
      additionalProperties:
        anyOf:
        - maxLength: 255
          minLength: 1
          pattern: ^[^ \t\n\r\f\v]([^\t\n\r\f\v]*[^ \t\n\r\f\v])?$
          type: string
        - type: 'null'
        description: Tag value. Maximum 255 characters. Cannot contain tabs, newlines, empty string or start/end with whitespace. Cannot contain characters from U+0080 to U+00FF. Trailing or leading whitespaces will be stripped. Set to `null` in order to delete this tag.
        examples:
        - my-tag-value
    UpdateVastFileShareSettingsSerializer:
      additionalProperties: false
      properties:
        allowed_characters:
          description: |-
            Determines which characters are allowed in file names. Choose between:
              - Lowest Common Denominator (LCD), allows only characters allowed by all VAST Cluster-supported protocols
              - Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.

            Omit this field to keep the current setting.
          enum:
          - LCD
          - NPL
          example: LCD
          examples:
          - LCD
          title: Allowed Characters
          type: string
        path_length:
          description: |-
            Affects the maximum limit of file path component name length. Choose between:
              - Lowest Common Denominator (LCD), imposes the lowest common denominator file length limit of all VAST Cluster-supported protocols. With this option, the limitation on the length of a single component of the path is 255 characters
              - Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.

            Omit this field to keep the current setting.
          enum:
          - LCD
          - NPL
          example: LCD
          examples:
          - LCD
          title: Path Length
          type: string
        root_squash:
          description: |-
            Enables or disables root squash for NFS clients.
              - If `true`, root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.
              - If `false`, root squash is disabled: the NFS client `root` user retains root privileges. Use this option if you trust the root user not to perform operations that will corrupt data.

            Omit this field to keep the current setting.
          example: true
          examples:
          - true
          title: Root Squash
          type: boolean
        trash_access:
          description: |-
            Enables or disables access to the hidden `.vast_trash` folder of the share.
              - If `false`, the folder is not accessible.
              - If `true`, clients within the share's access range can move files and folders to `.vast_trash` for asynchronous deletion, which is much faster than deleting large directory trees in place.

            Requires `root_squash` to be disabled, because VAST ignores trash folder access for hosts that are under root squash.

            Omit this field to keep the current setting.
          example: false
          examples:
          - false
          title: Trash Access
          type: boolean
      title: UpdateVastFileShareSettingsSerializer
      type: object
    UpdateVolumeSerializer:
      properties:
        name:
          description: Name
          example: some_name
          examples:
          - some_name
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        tags:
          anyOf:
          - $ref: '#/components/schemas/UpdateTagsSerializer'
          - type: 'null'
          description: |-
            Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide key-value pairs to add or update tags. Set tag values to `null` to remove tags. Unspecified tags remain unchanged. Read-only tags are always preserved and cannot be modified.

            **Examples:**

            - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones.
            - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags.
            - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved).
            - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags.
            - **Mixed operations:** `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and 'cost_center' while removing 'deprecated_tag', preserving other existing tags.
            - **Replace all:** first delete existing tags with null values, then add new ones in the same request.
          examples:
          - my-tag: my-tag-value
            my-tag-to-remove: null
      title: UpdateVolumeSerializer
      type: object
    UploadBaremetalGpuImageSerializer:
      properties:
        architecture:
          anyOf:
          - $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          - type: 'null'
          default: x86_64
          description: 'Image architecture type: aarch64, `x86_64`'
          examples:
          - x86_64
        cow_format:
          default: false
          description: When True, image cannot be deleted unless all volumes, created from it, are deleted.
          example: true
          examples:
          - true
          title: Cow Format
          type: boolean
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          default: null
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        name:
          description: Image name
          example: ubuntu-23.10-x64
          examples:
          - ubuntu-23.10-x64
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        os_distro:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          title: Os Distro
        os_type:
          anyOf:
          - $ref: '#/components/schemas/ImageOsTypeEnum'
          - type: 'null'
          default: linux
          description: The operating system installed on the image. Linux by default
          examples:
          - linux
        os_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          examples:
          - '19.04'
          title: Os Version
        ssh_key:
          $ref: '#/components/schemas/SshKeyEnum'
          default: allow
          description: Permission to use a ssh key in instances
          examples:
          - allow
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        url:
          anyOf:
          - format: uri
            minLength: 1
            type: string
          - type: string
          description: Image URL
          examples:
          - http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img
          title: Url
      required:
      - url
      - name
      title: UploadBaremetalGpuImageSerializer
      type: object
    UploadVirtualGpuImageSerializer:
      properties:
        architecture:
          anyOf:
          - $ref: '#/components/schemas/ImageArchitectureTypeEnum'
          - type: 'null'
          default: x86_64
          description: 'Image architecture type: aarch64, `x86_64`'
          examples:
          - x86_64
        cow_format:
          default: false
          description: When True, image cannot be deleted unless all volumes, created from it, are deleted.
          example: true
          examples:
          - true
          title: Cow Format
          type: boolean
        hw_firmware_type:
          anyOf:
          - $ref: '#/components/schemas/ImageHwFirmwareTypeEnum'
          - type: 'null'
          default: null
          description: Specifies the type of firmware with which to boot the guest.
          examples:
          - bios
        name:
          description: Image name
          example: ubuntu-23.10-x64
          examples:
          - ubuntu-23.10-x64
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        os_distro:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.
          title: Os Distro
        os_type:
          anyOf:
          - $ref: '#/components/schemas/ImageOsTypeEnum'
          - type: 'null'
          default: linux
          description: The operating system installed on the image. Linux by default
          examples:
          - linux
        os_version:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian
          examples:
          - '19.04'
          title: Os Version
        ssh_key:
          $ref: '#/components/schemas/SshKeyEnum'
          default: allow
          description: Permission to use a ssh key in instances
          examples:
          - allow
        tags:
          $ref: '#/components/schemas/CreateTagsSerializer'
          description: Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Tag keys and values cannot contain characters from U+0080 to U+00FF. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          examples:
          - my-tag: my-tag-value
        url:
          anyOf:
          - format: uri
            minLength: 1
            type: string
          - type: string
          description: Image URL
          examples:
          - http://mirror.noris.net/cirros/0.4.0/cirros-0.4.0-x86_64-disk.img
          title: Url
      required:
      - url
      - name
      title: UploadVirtualGpuImageSerializer
      type: object
    UsageReportRequestSerializer:
      additionalProperties: false
      example: &id292
        limit: 50
        offset: 0
        order_by:
        - project.desc
        projects:
        - 16
        - 17
        - 18
        - 19
        - 20
        regions:
        - 4
        - 5
        schema_filter:
          field: flavor
          type: instance
          values:
          - g1-standard-1-2
        tags:
          condition_type: OR
          conditions:
          - key: os_version
            strict: true
            value: '22.04'
          - key: os_version
            strict: true
            value: '23.04'
        time_from: '2019-08-01T00:00:00'
        time_to: '2019-09-15T00:00:00'
        types:
        - egress_traffic
        - instance
      examples:
      - *id292
      properties:
        enable_last_day:
          default: false
          description: Expenses for the last specified day are taken into account. As the default, False.
          example: false
          examples:
          - false
          title: Enable Last Day
          type: boolean
        limit:
          default: 10
          description: The response resources limit. Defaults to 10.
          example: 10
          examples:
          - 10
          exclusiveMinimum: 0
          title: Limit
          type: integer
        offset:
          default: 0
          description: The response resources offset.
          example: 0
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
        order_by:
          default:
          - project.asc
          description: List of sorting criteria in 'field.direction' format.
          example: &id293
          - project.asc
          - region.desc
          examples:
          - *id293
          items:
            $ref: '#/components/schemas/CostReportOrderByChoices'
          title: Order By
          type: array
        projects:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          default: null
          description: List of project IDs
          examples:
          - - 16
            - 17
            - 18
            - 19
            - 20
          title: Projects
        regions:
          description: List of region IDs.
          example: &id294
          - 1
          - 2
          - 3
          examples:
          - *id294
          items:
            type: integer
          title: Regions
          type: array
        schema_filter:
          description: Extended filter for field filtering.
          discriminator:
            mapping:
              ai_cluster: '#/components/schemas/SchemaFilterAiClusterSerializer'
              ai_virtual_cluster: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
              backup: '#/components/schemas/SchemaFilterBackupSerializer'
              baremetal: '#/components/schemas/SchemaFilterBaremetalSerializer'
              basic_vm: '#/components/schemas/SchemaFilterBasicVmSerializer'
              containers: '#/components/schemas/SchemaFilterContainersSerializer'
              dbaas_postgresql_connection_pooler: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
              dbaas_postgresql_cpu: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
              dbaas_postgresql_memory: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
              dbaas_postgresql_public_network: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
              dbaas_postgresql_volume: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
              egress_traffic: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
              external_ip: '#/components/schemas/SchemaFilterExternalIpSerializer'
              file_share: '#/components/schemas/SchemaFilterFileShareSerializer'
              floatingip: '#/components/schemas/SchemaFilterFloatingIpSerializer'
              functions: '#/components/schemas/SchemaFilterFunctionsSerializer'
              functions_calls: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
              functions_traffic: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
              image: '#/components/schemas/SchemaFilterImageSerializer'
              inference: '#/components/schemas/SchemaFilterInferenceSerializer'
              instance: '#/components/schemas/SchemaFilterInstanceSerializer'
              load_balancer: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
              log_index: '#/components/schemas/SchemaFilterLogIndexSerializer'
              snapshot: '#/components/schemas/SchemaFilterSnapshotSerializer'
              volume: '#/components/schemas/SchemaFilterVolumeSerializer'
            propertyName: type
          examples:
          - field: flavor
            type: instance
            values:
            - g1-standard-1-2
          oneOf:
          - $ref: '#/components/schemas/SchemaFilterSnapshotSerializer'
          - $ref: '#/components/schemas/SchemaFilterInstanceSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterAiVirtualClusterSerializer'
          - $ref: '#/components/schemas/SchemaFilterBasicVmSerializer'
          - $ref: '#/components/schemas/SchemaFilterBaremetalSerializer'
          - $ref: '#/components/schemas/SchemaFilterVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterFileShareSerializer'
          - $ref: '#/components/schemas/SchemaFilterImageSerializer'
          - $ref: '#/components/schemas/SchemaFilterFloatingIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterEgressTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterLoadBalancerSerializer'
          - $ref: '#/components/schemas/SchemaFilterExternalIpSerializer'
          - $ref: '#/components/schemas/SchemaFilterBackupSerializer'
          - $ref: '#/components/schemas/SchemaFilterLogIndexSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsCallsSerializer'
          - $ref: '#/components/schemas/SchemaFilterFunctionsTrafficSerializer'
          - $ref: '#/components/schemas/SchemaFilterContainersSerializer'
          - $ref: '#/components/schemas/SchemaFilterInferenceSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLVolumeSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPublicNetworkSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLCPUSerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLMemorySerializer'
          - $ref: '#/components/schemas/SchemaFilterDBAASPostgreSQLPoolerSerializer'
          title: Schema Filter
        sorting:
          default:
          - project: asc
          deprecated: true
          description: '(DEPRECATED Use ''order_by'' instead) List of sorting filters (JSON objects) fields: project. directions: asc, desc.'
          items:
            $ref: '#/components/schemas/UsageReportSortingRequestSerializer'
          title: Sorting
          type: array
        tags:
          $ref: '#/components/schemas/TagsFilterSerializer'
          description: Filter by tags
          examples:
          - condition_type: OR
            conditions:
            - key: os_version
              strict: true
              value: '22.04'
            - key: os_version
              strict: true
              value: '23.04'
        time_from:
          description: The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
          example: '2023-01-01T00:00:00Z'
          examples:
          - '2023-01-01T00:00:00Z'
          format: date-time
          title: Time From
          type: string
        time_to:
          description: The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
          example: '2023-02-01T00:00:00Z'
          examples:
          - '2023-02-01T00:00:00Z'
          format: date-time
          title: Time To
          type: string
        types:
          description: List of resource types to be filtered in the report.
          example: &id295
          - egress_traffic
          - instance
          examples:
          - *id295
          items:
            $ref: '#/components/schemas/PrebillingResourceTypes'
          title: Types
          type: array
      required:
      - time_from
      - time_to
      title: UsageReportRequestSerializer
      type: object
    UsageReportResponseSerializer:
      properties:
        count:
          description: Total count of the resources
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        resources:
          items:
            discriminator:
              mapping:
                ai_cluster: '#/components/schemas/ResourceAiClusterSerializer'
                ai_virtual_cluster: '#/components/schemas/ResourceAiVirtualClusterSerializer'
                backup: '#/components/schemas/ResourceBackupSerializer'
                baremetal: '#/components/schemas/ResourceBaremetalSerializer'
                basic_vm: '#/components/schemas/ResourceBasicVmSerializer'
                containers: '#/components/schemas/ResourceContainerSerializer'
                dbaas_postgresql_connection_pooler: '#/components/schemas/ResourceDBAASPostgreSQLPoolerSerializer'
                dbaas_postgresql_cpu: '#/components/schemas/ResourceDBAASPostgreSQLCPUSerializer'
                dbaas_postgresql_memory: '#/components/schemas/ResourceDBAASPostgreSQLMemorySerializer'
                dbaas_postgresql_public_network: '#/components/schemas/ResourceDBAASPostgreSQLPublicNetworkSerializer'
                dbaas_postgresql_volume: '#/components/schemas/ResourceDBAASPostgreSQLVolumeSerializer'
                egress_traffic: '#/components/schemas/ResourceEgressTrafficSerializer'
                external_ip: '#/components/schemas/ResourceExternalIpSerializer'
                file_share: '#/components/schemas/ResourceFileShareSerializer'
                floatingip: '#/components/schemas/ResourceFloatingIpSerializer'
                functions: '#/components/schemas/ResourceFunctionsSerializer'
                functions_calls: '#/components/schemas/ResourceFunctionCallsSerializer'
                functions_traffic: '#/components/schemas/ResourceFunctionEgressTrafficSerializer'
                image: '#/components/schemas/ResourceImagesSerializer'
                inference: '#/components/schemas/ResourceInferenceSerializer'
                instance: '#/components/schemas/ResourceInstanceSerializer'
                load_balancer: '#/components/schemas/ResourceLoadBalancerSerializer'
                log_index: '#/components/schemas/ResourceLogIndexSerializer'
                snapshot: '#/components/schemas/ResourceSnapshotSerializer'
                volume: '#/components/schemas/ResourceVolumeSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ResourceAiClusterSerializer'
            - $ref: '#/components/schemas/ResourceAiVirtualClusterSerializer'
            - $ref: '#/components/schemas/ResourceBaremetalSerializer'
            - $ref: '#/components/schemas/ResourceBasicVmSerializer'
            - $ref: '#/components/schemas/ResourceBackupSerializer'
            - $ref: '#/components/schemas/ResourceContainerSerializer'
            - $ref: '#/components/schemas/ResourceEgressTrafficSerializer'
            - $ref: '#/components/schemas/ResourceExternalIpSerializer'
            - $ref: '#/components/schemas/ResourceFileShareSerializer'
            - $ref: '#/components/schemas/ResourceFloatingIpSerializer'
            - $ref: '#/components/schemas/ResourceFunctionsSerializer'
            - $ref: '#/components/schemas/ResourceFunctionCallsSerializer'
            - $ref: '#/components/schemas/ResourceFunctionEgressTrafficSerializer'
            - $ref: '#/components/schemas/ResourceImagesSerializer'
            - $ref: '#/components/schemas/ResourceInferenceSerializer'
            - $ref: '#/components/schemas/ResourceInstanceSerializer'
            - $ref: '#/components/schemas/ResourceLoadBalancerSerializer'
            - $ref: '#/components/schemas/ResourceLogIndexSerializer'
            - $ref: '#/components/schemas/ResourceSnapshotSerializer'
            - $ref: '#/components/schemas/ResourceVolumeSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLPoolerSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLMemorySerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLPublicNetworkSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLCPUSerializer'
            - $ref: '#/components/schemas/ResourceDBAASPostgreSQLVolumeSerializer'
          title: Resources
          type: array
        totals:
          items:
            discriminator:
              mapping:
                ai_cluster: '#/components/schemas/TotalAiClusterReportItemSerializer'
                ai_virtual_cluster: '#/components/schemas/TotalAiVirtualClusterReportItemSerializer'
                baremetal: '#/components/schemas/TotalBaremetalReportItemSerializer'
                basic_vm: '#/components/schemas/TotalBasicVmReportItemSerializer'
                containers: '#/components/schemas/TotalContainerReportItemSerializer'
                dbaas_postgresql_connection_pooler: '#/components/schemas/TotalDBAASPostgreSQLPoolerReportItemSerializer'
                dbaas_postgresql_cpu: '#/components/schemas/TotalDBAASPostgreSQLCPUReportItemSerializer'
                dbaas_postgresql_memory: '#/components/schemas/TotalDBAASPostgreSQLMemoryReportItemSerializer'
                dbaas_postgresql_public_network: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkReportItemSerializer'
                dbaas_postgresql_volume: '#/components/schemas/TotalDBAASPostgreSQLVolumeReportItemSerializer'
                egress_traffic: '#/components/schemas/TotalEgressTrafficReportItemSerializer'
                external_ip: '#/components/schemas/TotalExternalIpReportItemSerializer'
                file_share: '#/components/schemas/TotalFileShareReportItemSerializer'
                floatingip: '#/components/schemas/TotalFloatingIpReportItemSerializer'
                functions: '#/components/schemas/TotalFunctionsReportItemSerializer'
                functions_calls: '#/components/schemas/TotalFunctionCallsReportItemSerializer'
                functions_traffic: '#/components/schemas/TotalFunctionEgressTrafficReportItemSerializer'
                image: '#/components/schemas/TotalImagesReportItemSerializer'
                inference: '#/components/schemas/TotalInferenceReportItemSerializer'
                instance: '#/components/schemas/TotalInstanceReportItemSerializer'
                load_balancer: '#/components/schemas/TotalLoadBalancerReportItemSerializer'
                log_index: '#/components/schemas/TotalLogIndexReportItemSerializer'
                snapshot: '#/components/schemas/TotalSnapshotReportItemSerializer'
                volume: '#/components/schemas/TotalVolumeReportItemSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/TotalAiClusterReportItemSerializer'
            - $ref: '#/components/schemas/TotalAiVirtualClusterReportItemSerializer'
            - $ref: '#/components/schemas/TotalBaremetalReportItemSerializer'
            - $ref: '#/components/schemas/TotalBasicVmReportItemSerializer'
            - $ref: '#/components/schemas/TotalContainerReportItemSerializer'
            - $ref: '#/components/schemas/TotalEgressTrafficReportItemSerializer'
            - $ref: '#/components/schemas/TotalExternalIpReportItemSerializer'
            - $ref: '#/components/schemas/TotalFileShareReportItemSerializer'
            - $ref: '#/components/schemas/TotalFloatingIpReportItemSerializer'
            - $ref: '#/components/schemas/TotalFunctionsReportItemSerializer'
            - $ref: '#/components/schemas/TotalFunctionCallsReportItemSerializer'
            - $ref: '#/components/schemas/TotalFunctionEgressTrafficReportItemSerializer'
            - $ref: '#/components/schemas/TotalImagesReportItemSerializer'
            - $ref: '#/components/schemas/TotalInferenceReportItemSerializer'
            - $ref: '#/components/schemas/TotalInstanceReportItemSerializer'
            - $ref: '#/components/schemas/TotalLoadBalancerReportItemSerializer'
            - $ref: '#/components/schemas/TotalLogIndexReportItemSerializer'
            - $ref: '#/components/schemas/TotalSnapshotReportItemSerializer'
            - $ref: '#/components/schemas/TotalVolumeReportItemSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPoolerReportItemSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLMemoryReportItemSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLPublicNetworkReportItemSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLCPUReportItemSerializer'
            - $ref: '#/components/schemas/TotalDBAASPostgreSQLVolumeReportItemSerializer'
          title: Totals
          type: array
      required:
      - count
      - resources
      - totals
      title: UsageReportResponseSerializer
      type: object
    UsageReportSortingRequestSerializer:
      example: &id296
      - region: asc
      examples:
      - *id296
      properties:
        billing_value:
          $ref: '#/components/schemas/SortingDirections'
        first_seen:
          $ref: '#/components/schemas/SortingDirections'
        last_name:
          $ref: '#/components/schemas/SortingDirections'
        last_seen:
          $ref: '#/components/schemas/SortingDirections'
        project:
          $ref: '#/components/schemas/SortingDirections'
        region:
          $ref: '#/components/schemas/SortingDirections'
        type:
          $ref: '#/components/schemas/SortingDirections'
      title: UsageReportSortingRequestSerializer
      type: object
    UserActionCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/UserActionSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: UserActionCollectionSerializer
      type: object
    UserActionOrderByChoices:
      enum:
      - asc
      - desc
      title: UserActionOrderByChoices
      type: string
    UserActionResourcePriceSerializer:
      properties:
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Currency code (3 letter code per ISO 4217)
          examples:
          - USD
          title: Currency Code
        price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour
          examples:
          - 0.01
          title: Price Per Hour
        price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month (30 days)
          examples:
          - 7.2
          title: Price Per Month
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI
          examples:
          - show
      required:
      - currency_code
      - price_per_hour
      - price_per_month
      - price_status
      title: UserActionResourcePrice schema
      type: object
    UserActionResourceSerializer:
      properties:
        resource_body:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Free-form object, resource body.
          examples:
          - key: value
          title: Resource Body
        resource_id:
          description: Resource ID
          example: '1234'
          examples:
          - '1234'
          title: Resource Id
          type: string
        resource_type:
          description: Resource type
          enum:
          - baremetal_server
          - basic_vm
          - caas_container
          - caas_key
          - caas_pull_secret
          - dbaas_postgres
          - ddos_profile
          - external_ip
          - faas_function
          - faas_key
          - faas_namespace
          - file_shares
          - floating_ip
          - gpu_baremetal_server
          - gpu_virtual_server
          - gpuai_cluster
          - image
          - inference_api_key
          - inference_application
          - inference_instance
          - inference_registry_credentials
          - inference_secret
          - instance
          - ipu_cluster
          - k8s_cluster
          - k8s_cluster_template
          - k8s_pool
          - laas
          - laas_topic
          - lb_health_monitor
          - lb_l7policy
          - lb_l7rule
          - lblistener
          - lbpool
          - lbpool_member
          - lifecycle_policy
          - lifecycle_policy_volume_member
          - loadbalancer
          - network
          - port
          - project
          - quota_limit_request
          - registry
          - registry_repository
          - registry_repository_artifact
          - registry_repository_tag
          - registry_user
          - registry_user_sercret
          - reservation
          - role
          - router
          - secret
          - securitygroup
          - securitygrouprule
          - servergroup
          - shared_flavor
          - shared_image
          - shared_network
          - slurm_cluster
          - slurm_node_set
          - snapshot
          - snapshot_schedule
          - ssh_key
          - subnet
          - token
          - user
          - virtual_gpu_cluster
          - volume
          example: project
          examples:
          - project
          type: string
        search_field:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Often used property for filtering actions. It can be a name, IP address, or other property, depending on the `resource_type`
          examples:
          - name
          - 192.168.0.1
          title: Search Field
      required:
      - resource_id
      - resource_type
      title: UserActionResource schema
      type: object
    UserActionSerializer:
      properties:
        acknowledged:
          description: User action log was successfully received by its subscriber in case there is one
          example: true
          examples:
          - true
          title: Acknowledged
          type: boolean
        action_data:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Additional information about the action
          examples:
          - '{"name": "test_project_a"}'
          title: Action Data
        action_type:
          $ref: '#/components/schemas/ActionType'
          description: Action type
          examples:
          - create
        api_group:
          description: API group
          enum:
          - ai_cluster
          - baremetal
          - basic_vm
          - caas_container
          - caas_key
          - caas_pull_secret
          - dbaas_postgres
          - ddos_profile
          - faas_function
          - faas_key
          - faas_namespace
          - file_shares
          - floating_ip
          - image
          - inference_at_the_edge
          - instance
          - instance_isolation
          - k8s_cluster
          - k8s_cluster_template
          - k8s_pool
          - laas
          - laas_topic
          - lb_health_monitor
          - lb_l7policy
          - lb_l7rule
          - lblistener
          - lbpool
          - lbpool_member
          - lifecycle_policy
          - lifecycle_policy_volume_member
          - loadbalancer
          - network
          - port
          - project
          - quota_limit_request
          - registry
          - reservation
          - reserved_fixed_ip
          - role
          - router
          - rtbh
          - secret
          - securitygroup
          - securitygrouprule
          - servergroup
          - shared_flavor
          - shared_image
          - shared_network
          - slurm
          - snapshot
          - snapshot_schedule
          - ssh_key
          - subnet
          - user
          - vip_ip_addresses
          - volume
          example: project
          examples:
          - project
          type: string
        client_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Client ID of the user.
          examples:
          - 10
          title: Client Id
        email:
          anyOf:
          - format: email
            type: string
          - type: 'null'
          description: User email address
          examples:
          - user@example.com
          title: Email
        id:
          description: User action ID
          example: '123'
          examples:
          - '123'
          title: Id
          type: string
        is_complete:
          description: User action was filled with all necessary information. If false, then something went wrong during user action creation or update
          example: true
          examples:
          - true
          title: Is Complete
          type: boolean
        issued_by_user_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: User ID who issued the token that made the request
          examples:
          - 222324
          title: Issued By User Id
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          examples:
          - 1
          title: Project Id
        region_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Region ID
          examples:
          - 4
          title: Region Id
        resources:
          description: Resources
          items:
            $ref: '#/components/schemas/UserActionResourceSerializer'
          title: Resources
          type: array
        source_user_ip:
          anyOf:
          - type: string
          - type: 'null'
          description: User IP that made the request
          examples:
          - 1.2.3.4
          title: Source User Ip
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Task ID
          examples:
          - 1bdcc138-e716-41ff-ad8d-3477a7ac6d14
          title: Task Id
        timestamp:
          description: Datetime. Action timestamp
          example: '2019-11-14T10:30:32+00:00'
          examples:
          - '2019-11-14T10:30:32+00:00'
          format: date-time
          title: Timestamp
          type: string
        token_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Token ID
          examples:
          - 192021
          title: Token Id
        total_price:
          anyOf:
          - $ref: '#/components/schemas/UserActionResourcePriceSerializer'
          - type: 'null'
          description: Total resource price VAT inclusive
        user_agent:
          anyOf:
          - type: string
          - type: 'null'
          description: User-Agent that made the request
          examples:
          - Mozilla/5.0
          title: User Agent
        user_id:
          description: User ID
          example: 789
          examples:
          - 789
          title: User Id
          type: integer
      required:
      - id
      - timestamp
      - client_id
      - user_id
      - email
      - project_id
      - region_id
      - api_group
      - action_type
      - action_data
      - task_id
      - user_agent
      - source_user_ip
      - acknowledged
      - is_complete
      - total_price
      - token_id
      - issued_by_user_id
      - resources
      title: UserAction schema
      type: object
    UserActionSubscriptionMqResponseSerializer:
      properties:
        connection_string:
          description: Connection string of the following structure "scheme://username:password@host:port/virtual_host"
          example: amqps://guest:guest@93.184.216.34:5671/user_action_events
          examples:
          - amqps://guest:guest@93.184.216.34:5671/user_action_events
          - amqps://guest:guest@broker.example.com:5671/user_action_events
          title: Connection String
          type: string
        exchange:
          anyOf:
          - type: string
          - type: 'null'
          description: Exchange name
          examples:
          - null
          title: Exchange
        id:
          description: Subscription ID
          example: 33
          examples:
          - 33
          title: Id
          type: integer
        receive_child_client_events:
          description: Set to true if you would like to receive user action logs of all clients with the `reseller_id` matching the current `client_id`. Defaults to false
          example: false
          examples:
          - false
          title: Receive Child Client Events
          type: boolean
        routing_key:
          anyOf:
          - type: string
          - type: 'null'
          description: Routing key
          examples:
          - foo
          title: Routing Key
      required:
      - id
      - connection_string
      - exchange
      - routing_key
      - receive_child_client_events
      title: UserAction RabbitMQ subscription scheme
      type: object
    UserActionSubscriptionMqSerializer:
      properties:
        connection_string:
          description: Connection string of the following structure "scheme://username:password@host:port/virtual_host"
          example: amqps://guest:guest@93.184.216.34:5671/user_action_events
          examples:
          - amqps://guest:guest@93.184.216.34:5671/user_action_events
          - amqps://guest:guest@broker.example.com:5671/user_action_events
          title: Connection String
          type: string
        exchange:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Exchange name
          examples:
          - null
          title: Exchange
        id:
          description: Subscription ID
          example: 33
          examples:
          - 33
          title: Id
          type: integer
        receive_child_client_events:
          default: false
          description: Set to true if you would like to receive user action logs of all clients with the `reseller_id` matching the current `client_id`. Defaults to false
          example: false
          examples:
          - false
          title: Receive Child Client Events
          type: boolean
        routing_key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Routing key
          examples:
          - foo
          title: Routing Key
      required:
      - id
      - connection_string
      title: UserAction subscription scheme on RabbitMQ
      type: object
    UserActionSubscriptionSerializer:
      properties:
        auth_header_name:
          description: Authorization header name
          example: Authorization
          examples:
          - Authorization
          title: Auth Header Name
          type: string
        auth_header_value:
          description: Authorization header value
          example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTc0OTU0MDY0LCJqdGkiOiJiYXIiLCJ1c2VyX2lkIjoxLCJ1c2VyX3R5cGUiOiJjb21tb24iLCJ1c2VyX2dyb3VwcyI6WyJVc2VycyJdLCJjbGllbnRfaWQiOjEsImVtYWlsIjoidGVzdEB0ZXN0LnRlc3QiLCJ1c2VybmFtZSI6InRlc3RAdGVzdC50ZXN0IiwiaXNfYWRtaW4iOmZhbHNlLCJjbGllbnRfbmFtZSI6Ik5hbWUiLCJleGNoYW5nZWFibGUiOnRydWUsImZha2VfdXNlcl9pZCI6MSwicmp0aSI6ImZvbyJ9.YTH_s67j7xyWlFLy093RxReT5PmitnawLr25Jh7Ix14
          examples:
          - Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTc0OTU0MDY0LCJqdGkiOiJiYXIiLCJ1c2VyX2lkIjoxLCJ1c2VyX3R5cGUiOiJjb21tb24iLCJ1c2VyX2dyb3VwcyI6WyJVc2VycyJdLCJjbGllbnRfaWQiOjEsImVtYWlsIjoidGVzdEB0ZXN0LnRlc3QiLCJ1c2VybmFtZSI6InRlc3RAdGVzdC50ZXN0IiwiaXNfYWRtaW4iOmZhbHNlLCJjbGllbnRfbmFtZSI6Ik5hbWUiLCJleGNoYW5nZWFibGUiOnRydWUsImZha2VfdXNlcl9pZCI6MSwicmp0aSI6ImZvbyJ9.YTH_s67j7xyWlFLy093RxReT5PmitnawLr25Jh7Ix14
          title: Auth Header Value
          type: string
        id:
          description: Subscription ID
          example: 17
          examples:
          - 17
          title: Id
          type: integer
        url:
          description: URL to send user action logs for the specified client
          example: https://your-url.com/receive-user-action-messages
          examples:
          - https://your-url.com/receive-user-action-messages
          title: Url
          type: string
      required:
      - id
      - url
      - auth_header_name
      - auth_header_value
      title: UserAction subscription scheme on webhook
      type: object
    UserActionSubscriptionUpdateSerializer:
      properties:
        connection_string:
          description: Connection string of the following structure "scheme://username:password@host:port/virtual_host". The scheme must be amqp or amqps, the port must be a valid TCP port, and the host must resolve to a public address (private, loopback, link-local and metadata addresses are rejected with a 400).
          example: amqps://guest:guest@93.184.216.34:5671/user_action_events
          examples:
          - amqps://guest:guest@93.184.216.34:5671/user_action_events
          - amqps://guest:guest@broker.example.com:5671/user_action_events
          title: Connection String
          type: string
        exchange:
          description: Exchange name
          title: Exchange
          type: string
        receive_child_client_events:
          description: Set to true if you would like to receive user action logs of all clients with the `reseller_id` matching the current `client_id`. Defaults to false
          example: false
          examples:
          - false
          title: Receive Child Client Events
          type: boolean
        routing_key:
          description: Routing key
          example: foo
          examples:
          - foo
          title: Routing Key
          type: string
      title: UserActionSubscriptionUpdateSerializer
      type: object
    UserActionsSubscriptionCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/UserActionSubscriptionSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: UserActionsSubscriptionCollectionSerializer
      type: object
    UserActionsSubscriptionMqCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/UserActionSubscriptionMqSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: UserActionsSubscriptionMqCollectionSerializer
      type: object
    UserCredentialsSerializer:
      properties:
        password:
          description: Password
          example: <PASSWORD>
          examples:
          - <PASSWORD>
          title: Password
          type: string
        username:
          description: Username
          example: myuser
          examples:
          - myuser
          title: Username
          type: string
      required:
      - password
      - username
      title: UserCredentialsSerializer
      type: object
    UserListItem:
      properties:
        encrypted_password:
          description: Encrypted password to auth via Basic Authentication
          example: $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
          examples:
          - $5$isRr.HJ1IrQP38.m$oViu3DJOpUG2ZsjCBtbITV3mqpxxbZfyWJojLPNSPO5
          maxLength: 128
          title: Encrypted Password
          type: string
        username:
          description: Username to auth via Basic Authentication
          example: admin
          examples:
          - admin
          maxLength: 32
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,30}[a-zA-Z0-9._]$
          title: Username
          type: string
      required:
      - username
      - encrypted_password
      title: UserListItem
      type: object
    UserRoleSerializer:
      properties:
        role:
          $ref: '#/components/schemas/CustomerAssignableRole'
          description: Available role
          examples:
          - ClientAdministrator
        scope:
          description: Role's scope
          example: Client
          examples:
          - Client
          title: Scope
          type: string
      required:
      - role
      - scope
      title: RoleScopeSchema schema
      type: object
    VIPAttachCandidateCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/VIPAttachCandidateSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: VIPAttachCandidateCollectionSerializer
      type: object
    VIPAttachCandidateSerializer:
      properties:
        instance_id:
          description: ID of the instance that owns the port
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Instance Id
          type: string
        instance_name:
          description: Name of the instance that owns the port
          example: Virtual Machine 1
          examples:
          - Virtual Machine 1
          title: Instance Name
          type: string
        ip_assignments:
          description: IP addresses assigned to this port
          items:
            $ref: '#/components/schemas/PortIpWithSubnetSerializer'
          title: Ip Assignments
          type: array
        network:
          $ref: '#/components/schemas/NetworkSerializer'
          description: Network details
        port_id:
          description: Port ID that shares VIP
          example: 351b0dd7-ca09-431c-be53-935db3785067
          examples:
          - 351b0dd7-ca09-431c-be53-935db3785067
          format: uuid4
          title: Port Id
          type: string
      required:
      - port_id
      - instance_id
      - instance_name
      - network
      - ip_assignments
      title: VIPAttachCandidateSerializer
      type: object
    VRRPIP:
      properties:
        ip_address:
          description: IP address
          example: 127.0.0.1
          examples:
          - 127.0.0.1
          format: ipvanyaddress
          title: Ip Address
          type: string
        role:
          $ref: '#/components/schemas/LoadBalancerInstanceRoleEnum'
          description: LoadBalancer instance role to which VRRP IP belong
          examples:
          - MASTER
          - BACKUP
          - STANDALONE
        subnet_id:
          description: Subnet UUID
          example: 00000000-0000-4000-8000-000000000000
          examples:
          - 00000000-0000-4000-8000-000000000000
          format: uuid4
          title: Subnet Id
          type: string
      required:
      - ip_address
      - subnet_id
      - role
      title: VRRPIP
      type: object
    VastShareSettingsOutputSerializer:
      properties:
        allowed_characters:
          anyOf:
          - enum:
            - LCD
            - NPL
            type: string
          - type: 'null'
          examples:
          - NPL
          title: Allowed Characters
        path_length:
          anyOf:
          - enum:
            - LCD
            - NPL
            type: string
          - type: 'null'
          examples:
          - LCD
          title: Path Length
        root_squash:
          description: |-
            Enables or disables root squash for NFS clients.
              - If `true`, root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.
              - If `false`, root squash is disabled: the NFS client `root` user retains root privileges.
          example: true
          examples:
          - true
          title: Root Squash
          type: boolean
        trash_access:
          description: Shows whether clients within the share's access range can move files and folders to the hidden `.vast_trash` folder for asynchronous deletion.
          example: false
          examples:
          - false
          title: Trash Access
          type: boolean
        type_name:
          const: vast
          description: Vast file share type
          title: Type Name
          type: string
      required:
      - type_name
      - root_squash
      - path_length
      - allowed_characters
      - trash_access
      title: VastShareSettingsOutputSerializer
      type: object
    VirtualClusterListSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/VirtualClusterSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: VirtualClusterListSerializer
      type: object
    VirtualClusterSerializer:
      properties:
        created_at:
          description: Cluster creation date time
          example: '2024-12-31T23:59:59Z'
          examples:
          - '2024-12-31T23:59:59Z'
          format: date-time
          title: Created At
          type: string
        flavor:
          description: Cluster flavor name
          example: g3-ai-32-192-1500-l40s-48-1
          examples:
          - g3-ai-32-192-1500-l40s-48-1
          title: Flavor
          type: string
        has_pending_changes:
          description: True if any server in the cluster has pending (not yet applied) settings changes
          example: false
          examples:
          - false
          title: Has Pending Changes
          type: boolean
        id:
          description: Cluster unique identifier
          example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
          examples:
          - 1aaaab48-10d0-46d9-80cc-85209284ceb4
          format: uuid4
          title: Id
          type: string
        managed_by:
          $ref: '#/components/schemas/ClusterManagedBy'
          description: User type managing the resource
          examples:
          - user
        name:
          description: Cluster name
          example: my virtual gpu cluster
          examples:
          - my virtual gpu cluster
          title: Name
          type: string
        servers_count:
          description: Cluster servers count
          example: 2
          examples:
          - 2
          title: Servers Count
          type: integer
        servers_ids:
          description: List of cluster nodes
          example: &id297
          - b4522653-fbcd-44a0-a949-541570a52281
          - e56192de-ed28-452a-b775-eeeacc795e3b
          examples:
          - *id297
          items:
            format: uuid4
            type: string
          title: Servers Ids
          type: array
        servers_settings:
          $ref: '#/components/schemas/VirtualServerSettingsOutputSerializer'
        status:
          $ref: '#/components/schemas/GPUClusterStatus'
          description: Cluster status
          examples:
          - active
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id298
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id298
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Cluster update date time
          examples:
          - '2025-01-11T23:59:59Z'
          title: Updated At
      required:
      - id
      - name
      - status
      - flavor
      - tags
      - servers_count
      - created_at
      - updated_at
      - servers_ids
      - servers_settings
      - managed_by
      - has_pending_changes
      title: VirtualClusterSerializer
      type: object
    VirtualGPUClusterActionSerializer:
      discriminator:
        mapping:
          hard_reboot: '#/components/schemas/HardRebootGPUClusterSerializer'
          resize: '#/components/schemas/ResizeVirtualGPUClusterSerializer'
          soft_reboot: '#/components/schemas/SoftRebootGPUClusterSerializer'
          start: '#/components/schemas/StartGPUClusterSerializer'
          stop: '#/components/schemas/StopGPUClusterSerializer'
        propertyName: action
      oneOf:
      - $ref: '#/components/schemas/StartGPUClusterSerializer'
      - $ref: '#/components/schemas/StopGPUClusterSerializer'
      - $ref: '#/components/schemas/SoftRebootGPUClusterSerializer'
      - $ref: '#/components/schemas/HardRebootGPUClusterSerializer'
      - $ref: '#/components/schemas/ResizeVirtualGPUClusterSerializer'
      title: VirtualGPUClusterActionSerializer
    VirtualGPUClusterInterfacePricingSerializer:
      discriminator:
        mapping:
          any_subnet: '#/components/schemas/GPUClusterAnySubnetInterfaceSerializer'
          external: '#/components/schemas/GPUClusterExternalInterfaceSerializer'
          subnet: '#/components/schemas/GPUClusterSpecificSubnetInterfaceSerializer'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/GPUClusterExternalInterfaceSerializer'
      - $ref: '#/components/schemas/GPUClusterSpecificSubnetInterfaceSerializer'
      - $ref: '#/components/schemas/GPUClusterAnySubnetInterfaceSerializer'
      title: VirtualGPUClusterInterfacePricingSerializer
    VirtualGPUClusterPricingPreviewRequestSerializer:
      properties:
        flavor:
          description: Virtual GPU cluster flavor
          example: g1-gpu-small-1gpu-6vcpu
          examples:
          - g1-gpu-small-1gpu-6vcpu
          title: Flavor
          type: string
        instances_count:
          default: 1
          description: A multiplier that would be used to calculate the price, multiplying the flavor, IP, and volume prices by this number. Must be greater than zero.
          example: 1
          examples:
          - 1
          exclusiveMinimum: 0
          title: Instances Count
          type: integer
        interfaces:
          description: Subnet IPs and floating IPs. Only new floating IPs are supported.
          items:
            $ref: '#/components/schemas/VirtualGPUClusterInterfacePricingSerializer'
          title: Interfaces
          type: array
        name:
          description: Virtual GPU cluster name
          example: poplar-ubuntu
          examples:
          - poplar-ubuntu
          title: Name
          type: string
        volumes:
          description: Volumes attached to the virtual GPU cluster. Volume size must be greater than zero.
          items:
            $ref: '#/components/schemas/VirtualGPUClusterVolumePricingRequestSerializer'
          title: Volumes
          type: array
      required:
      - name
      - flavor
      - interfaces
      title: VirtualGPUClusterPricingPreviewRequestSerializer
      type: object
    VirtualGPUClusterPricingPreviewResponseSerializer:
      properties:
        currency_code:
          anyOf:
          - enum:
            - AZN
            - EUR
            - USD
            type: string
          - type: 'null'
          description: Currency code (3-letter code per ISO 4217).
          examples:
          - USD
          - EUR
          title: Currency Code
        discount_details:
          description: Discount details per resource.
          example: &id299
            discount: '0.5'
            resource: ssd_hiiops
          examples:
          - *id299
          items:
            $ref: '#/components/schemas/ResourceDiscountSerializer'
          title: Discount Details
          type: array
        discount_percent:
          description: Actual discount as a relative value.
          example: '10.50'
          examples:
          - '10.50'
          - '5.00'
          title: Discount Percent
          type: string
        per_gb:
          anyOf:
          - $ref: '#/components/schemas/VirtualPricingPerGBSerializer'
          - type: 'null'
          description: Pricing details per category charged per GB.
          examples:
          - egress_traffic_virtual: 1.3
        per_hour:
          $ref: '#/components/schemas/DetailedInstancePricingSerializer'
          description: Prices per category charged per hour.
          examples:
          - external_ip: 0.02
            flavor: 0.8
            floating_ip: 0.05
            volumes:
              cold: 0.1083
              ssd_hiiops: 0.0278
              standard: 0.0139
        per_month:
          $ref: '#/components/schemas/DetailedInstancePricingSerializer'
          description: Prices per category charged per month.
          examples:
          - external_ip: 14.4
            flavor: 576
            floating_ip: 36
            volumes:
              cold: 78
              ssd_hiiops: 20
              standard: 10
        price_status:
          $ref: '#/components/schemas/PriceDisplayStatus'
          description: Price status for the UI.
          examples:
          - show
          - hide
        price_without_discount_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month without discount.
          examples:
          - '800.00'
          - '1000.50'
          title: Price Without Discount Per Month
        tax_percent:
          description: Tax rate applied to the subtotal, represented as a percentage
          example: 0
          examples:
          - 0
          - 17
          - 12
          title: Tax Percent
          type: number
        total_price_per_hour:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per hour.
          examples:
          - '1.02'
          - '2.50'
          title: Total Price Per Hour
        total_price_per_month:
          anyOf:
          - type: number
          - type: 'null'
          description: Total price VAT inclusive per month.
          examples:
          - '734.4'
          - '1200.00'
          title: Total Price Per Month
      required:
      - currency_code
      - discount_percent
      - per_hour
      - per_month
      - per_gb
      - price_status
      - price_without_discount_per_month
      - total_price_per_hour
      - total_price_per_month
      - tax_percent
      - discount_details
      title: VirtualGPUClusterPricingPreviewResponseSerializer
      type: object
    VirtualGPUClusterVolumePricingRequestSerializer:
      properties:
        size:
          description: Volume size in GiB. Must be greater than zero.
          example: 1000
          examples:
          - 1000
          exclusiveMinimum: 0
          title: Size
          type: integer
        source:
          const: new-volume
          description: The source of the volume. Only 'new-volume' is supported.
          example: new-volume
          examples:
          - new-volume
          title: Source
          type: string
        type_name:
          anyOf:
          - $ref: '#/components/schemas/VolumeTypeName'
          - type: 'null'
          default: null
          description: 'The type of the volume. It must be one of: ''standard'', ''ssd_hiiops'', ''cold'', ''ultra''.'
          examples:
          - standard
      required:
      - size
      - source
      title: VirtualGPUClusterVolumePricingRequestSerializer
      type: object
    VirtualGpuClusterInterfaceCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/VirtualGpuClusterInterfaceSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: VirtualGpuClusterInterfaceCollectionSerializer
      type: object
    VirtualGpuClusterInterfaceSerializer:
      properties:
        floating_ips:
          description: Bodies of floatingips that are NAT-ing ips of this port
          items:
            $ref: '#/components/schemas/FloatingIpDetailsSerializer'
          title: Floating Ips
          type: array
        ip_assignments:
          description: IP addresses assigned to this port
          example: &id300
          - ip_address: 192.168.123.20
            subnet_id: 351b0dd7-ca09-431c-be53-935db3785067
          - ip_address: 192.168.120.16
            subnet_id: 0a641ef8-62dc-4146-91e5-6ab4b464df6d
          examples:
          - *id300
          items:
            $ref: '#/components/schemas/PortIpAssignmentSerializer'
          title: Ip Assignments
          type: array
        mac_address:
          anyOf:
          - type: string
          - type: 'null'
          description: MAC address of the virtual port
          examples:
          - 00:16:3e:f2:87:16
          title: Mac Address
        network:
          $ref: '#/components/schemas/NetworkDetailsSerializer'
          description: Body of the network this port is attached to
        network_id:
          description: ID of the network the port is attached to
          example: bc688791-f1b0-44eb-97d4-07697294b1e1
          examples:
          - bc688791-f1b0-44eb-97d4-07697294b1e1
          format: uuid4
          title: Network Id
          type: string
        port_id:
          description: ID of virtual ethernet port object
          example: 1f0ca628-a73b-42c0-bdac-7b10d023e097
          examples:
          - 1f0ca628-a73b-42c0-bdac-7b10d023e097
          format: uuid4
          title: Port Id
          type: string
        port_security_enabled:
          description: Port security status
          title: Port Security Enabled
          type: boolean
      required:
      - port_id
      - mac_address
      - ip_assignments
      - network_id
      - port_security_enabled
      - network
      - floating_ips
      title: VirtualGpuClusterInterfaceSerializer
      type: object
    VirtualGpuRequiredQuotaSerializer:
      properties:
        baremetal_network_count_limit:
          description: Bare metal Network Count limit
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Limit
          type: integer
        baremetal_network_count_requested:
          description: Bare metal Network Count requested
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Requested
          type: integer
        baremetal_network_count_usage:
          description: Bare metal Network Count usage
          example: 1
          examples:
          - 1
          title: Baremetal Network Count Usage
          type: integer
        external_ip_count_limit:
          description: External IP Count limit
          example: 10
          examples:
          - 10
          title: External Ip Count Limit
          type: integer
        external_ip_count_requested:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: External Ip Count Requested
          type: integer
        external_ip_count_usage:
          description: External IP Count usage
          example: 1
          examples:
          - 1
          title: External Ip Count Usage
          type: integer
        floating_count_limit:
          description: Floating IP Count usage
          example: 1
          examples:
          - 1
          title: Floating Count Limit
          type: integer
        floating_count_requested:
          description: Floating IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Requested
          type: integer
        floating_count_usage:
          description: External IP Count requested
          example: 1
          examples:
          - 1
          title: Floating Count Usage
          type: integer
        gpu_virtual_a100_count_limit:
          description: Virtual A100 GPU card count limit
          example: 10
          examples:
          - 10
          title: Gpu Virtual A100 Count Limit
          type: integer
        gpu_virtual_a100_count_requested:
          description: Virtual A100 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual A100 Count Requested
          type: integer
        gpu_virtual_a100_count_usage:
          description: Virtual A100 GPU card count usage
          example: 1
          examples:
          - 1
          title: Gpu Virtual A100 Count Usage
          type: integer
        gpu_virtual_h100_count_limit:
          description: Virtual H100 GPU card count limit
          example: 10
          examples:
          - 10
          title: Gpu Virtual H100 Count Limit
          type: integer
        gpu_virtual_h100_count_requested:
          description: Virtual H100 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual H100 Count Requested
          type: integer
        gpu_virtual_h100_count_usage:
          description: Virtual H100 GPU card count usage
          example: 1
          examples:
          - 1
          title: Gpu Virtual H100 Count Usage
          type: integer
        gpu_virtual_h200_count_limit:
          description: Virtual H200 GPU card count limit
          example: 10
          examples:
          - 10
          title: Gpu Virtual H200 Count Limit
          type: integer
        gpu_virtual_h200_count_requested:
          description: Virtual H200 GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual H200 Count Requested
          type: integer
        gpu_virtual_h200_count_usage:
          description: Virtual H200 GPU card count usage
          example: 1
          examples:
          - 1
          title: Gpu Virtual H200 Count Usage
          type: integer
        gpu_virtual_l40s_count_limit:
          description: Virtual L40S GPU card count limit
          example: 10
          examples:
          - 10
          title: Gpu Virtual L40S Count Limit
          type: integer
        gpu_virtual_l40s_count_requested:
          description: Virtual L40S GPU card count requested
          example: 1
          examples:
          - 1
          title: Gpu Virtual L40S Count Requested
          type: integer
        gpu_virtual_l40s_count_usage:
          description: Virtual L40S GPU card count usage
          example: 1
          examples:
          - 1
          title: Gpu Virtual L40S Count Usage
          type: integer
        volume_count_limit:
          description: Volumes Count limit
          example: 10
          examples:
          - 10
          title: Volume Count Limit
          type: integer
        volume_count_requested:
          description: Volumes Count requested
          example: 1
          examples:
          - 1
          title: Volume Count Requested
          type: integer
        volume_count_usage:
          description: Volumes Count usage
          example: 1
          examples:
          - 1
          title: Volume Count Usage
          type: integer
        volume_size_limit:
          description: Volumes Size, GiB limit
          example: 10
          examples:
          - 10
          title: Volume Size Limit
          type: integer
        volume_size_requested:
          description: Volumes Size, GiB requested
          example: 1
          examples:
          - 1
          title: Volume Size Requested
          type: integer
        volume_size_usage:
          description: Volumes Size, GiB usage
          example: 1
          examples:
          - 1
          title: Volume Size Usage
          type: integer
      title: VirtualGpuRequiredQuotaSerializer
      type: object
    VirtualGpuServerSettingsQuotaSerializer:
      properties:
        interfaces:
          description: List of interfaces
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceInputSerializer'
                external: '#/components/schemas/ExternalInterfaceInputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceInputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
          title: Interfaces
          type: array
        volumes:
          description: List of volumes
          items:
            discriminator:
              mapping:
                image: '#/components/schemas/CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer'
                new: '#/components/schemas/CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer'
              propertyName: source
            oneOf:
            - $ref: '#/components/schemas/CreateVirtualGpuClusterNewVolumeCheckLimitsSerializer'
            - $ref: '#/components/schemas/CreateVirtualGpuClusterImageVolumeCheckLimitsSerializer'
          title: Volumes
          type: array
      title: VirtualGpuServerSettingsQuotaSerializer
      type: object
    VirtualPricingPerGBSerializer:
      properties:
        egress_traffic_virtual:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: The price of egress traffic per GB for virtual instances.
          examples:
          - 0.05
          - 0.1
          title: Egress Traffic Virtual
      title: VirtualPricingPerGBSerializer
      type: object
    VirtualServerSettingsInputSerializer:
      properties:
        credentials:
          $ref: '#/components/schemas/ServerCredentialsSerializer'
          description: Optional server access credentials
        file_shares:
          description: List of file shares to be mounted across the cluster.
          items:
            $ref: '#/components/schemas/FileShareMountSerializer'
          title: File Shares
          type: array
        interfaces:
          description: Subnet IPs and floating IPs
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceInputSerializer'
                external: '#/components/schemas/ExternalInterfaceInputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceInputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceInputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceInputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceInputSerializer'
          minItems: 1
          title: Interfaces
          type: array
        security_groups:
          deprecated: true
          description: Deprecated. Use per-interface `security_groups` inside `interfaces[]` instead. Cannot be combined with per-interface `security_groups`. If omitted everywhere, the project's default security group is applied.
          example: &id301
          - id: b4849ffa-89f2-45a1-951f-0ae5b7809d98
          examples:
          - *id301
          items:
            $ref: '#/components/schemas/MandatoryIdSerializerPydantic'
          title: Security Groups
          type: array
        user_data:
          description: Optional custom user data (Base64-encoded)
          example: eyJ0ZXN0IjogImRhdGEifQ==
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
          type: string
        volumes:
          description: List of volumes
          items:
            discriminator:
              mapping:
                image: '#/components/schemas/ImageVolumeInputSerializer'
                new: '#/components/schemas/NewVolumeInputSerializer'
              propertyName: source
            oneOf:
            - $ref: '#/components/schemas/NewVolumeInputSerializer'
            - $ref: '#/components/schemas/ImageVolumeInputSerializer'
          title: Volumes
          type: array
      required:
      - interfaces
      - volumes
      title: VirtualServerSettingsInputSerializer
      type: object
    VirtualServerSettingsOutputSerializer:
      properties:
        file_shares:
          description: List of file shares mounted across the cluster.
          items:
            $ref: '#/components/schemas/FileShareMountSerializer'
          title: File Shares
          type: array
        interfaces:
          items:
            discriminator:
              mapping:
                any_subnet: '#/components/schemas/AnySubnetInterfaceOutputSerializer'
                external: '#/components/schemas/ExternalInterfaceOutputSerializer'
                subnet: '#/components/schemas/SubnetInterfaceOutputSerializer'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ExternalInterfaceOutputSerializer'
            - $ref: '#/components/schemas/SubnetInterfaceOutputSerializer'
            - $ref: '#/components/schemas/AnySubnetInterfaceOutputSerializer'
          title: Interfaces
          type: array
        security_groups:
          deprecated: true
          description: Deprecated. Deduplicated union of security groups across all interfaces; the actual assignment may differ per interface. Use `interfaces[].security_groups` for the authoritative per-interface list.
          example: &id302
          - id: ae74714c-c380-48b4-87f8-758d656cdad6
            name: default
          examples:
          - *id302
          items:
            $ref: '#/components/schemas/GroupSecurityGroupSerializer'
          title: Security Groups
          type: array
        ssh_key_name:
          anyOf:
          - type: string
          - type: 'null'
          description: SSH key name
          examples:
          - my-ssh-key
          title: Ssh Key Name
        user_data:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional custom user data
          examples:
          - eyJ0ZXN0IjogImRhdGEifQ==
          title: User Data
        username:
          anyOf:
          - type: string
          - type: 'null'
          description: Shows the username that `credentials.username` set at creation. The value is `null` when the cluster uses only `credentials.ssh_key_name`, or has no credentials.
          examples:
          - admin
          title: Username
        volumes:
          description: List of volumes
          items:
            $ref: '#/components/schemas/VolumeOutputSerializer'
          title: Volumes
          type: array
      required:
      - user_data
      - ssh_key_name
      - username
      - interfaces
      - file_shares
      - security_groups
      - volumes
      title: VirtualServerSettingsOutputSerializer
      type: object
    VisibilityTypeEnum:
      enum:
      - private
      - public
      - shared
      title: VisibilityTypeEnum
      type: string
    VolumeAttachmentSerializer:
      properties:
        attached_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: The date and time when the attachment was created.
          examples:
          - 2019-07-26T14:22:03+0000
          title: Attached At
        attachment_id:
          description: The unique identifier of the attachment object.
          example: f2ed59d9-8068-400c-be4b-c4501ef6f33c
          examples:
          - f2ed59d9-8068-400c-be4b-c4501ef6f33c
          title: Attachment Id
          type: string
        device:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The block device name inside the guest instance.
          examples:
          - /dev/vda
          title: Device
        flavor_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The flavor ID of the instance.
          examples:
          - g1-standard-1-2
          title: Flavor Id
        instance_name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The name of the instance if attached and the server name is known.
          examples:
          - instance-1
          title: Instance Name
        server_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The unique identifier of the instance.
          examples:
          - 8dc30d49-bb34-4920-9bbd-03a2587ec0ad
          title: Server Id
        volume_id:
          description: The unique identifier of the attached volume.
          example: 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          examples:
          - 67baa7d1-08ea-4fc5-bef2-6b2465b7d227
          title: Volume Id
          type: string
      required:
      - attachment_id
      - volume_id
      title: VolumeAttachmentSerializer
      type: object
    VolumeCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/VolumeSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: VolumeCollectionSerializer
      type: object
    VolumeDataForLifecyclePolicySerializer:
      properties:
        volume_id:
          description: Unique identifier of the volume.
          example: 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - 3ed9e2ce-f906-47fb-ba32-c25a3f63df4f
          title: Volume Id
          type: string
        volume_name:
          description: Name of the volume.
          example: Volume-1
          examples:
          - Volume-1
          title: Volume Name
          type: string
      required:
      - volume_id
      - volume_name
      title: VolumeDataForLifecyclePolicySerializer
      type: object
    VolumeIdsSerializer:
      properties:
        volume_ids:
          description: List of volume IDs.
          example: &id303
          - 1488e2ce-f906-47fb-ba32-c25a3f63df4f
          examples:
          - *id303
          items:
            type: string
          title: Volume Ids
          type: array
      required:
      - volume_ids
      title: VolumeIdsSerializer
      type: object
    VolumeLimiterStatsSerializer:
      description: Schema representing the Quality of Service (QoS) parameters for a volume.
      properties:
        MBps_base_limit:
          description: The sustained bandwidth limit in megabytes per second (MBps).
          example: 50
          examples:
          - 50
          title: Mbps Base Limit
          type: integer
        MBps_burst_limit:
          description: The burst bandwidth limit in megabytes per second (MBps).
          example: 200
          examples:
          - 200
          title: Mbps Burst Limit
          type: integer
        iops_base_limit:
          description: The sustained IOPS (Input/Output Operations Per Second) limit.
          example: 1000
          examples:
          - 1000
          title: Iops Base Limit
          type: integer
        iops_burst_limit:
          description: The burst IOPS limit.
          example: 5000
          examples:
          - 5000
          title: Iops Burst Limit
          type: integer
      required:
      - iops_base_limit
      - iops_burst_limit
      - MBps_base_limit
      - MBps_burst_limit
      title: VolumeLimiterStatsSerializer
      type: object
    VolumeOrSnapshotPricingRequestSerializer:
      example: &id304
        size: 1000
        source: new-volume
        type_name: standard
      examples:
      - *id304
      properties:
        size:
          anyOf:
          - maximum: 102400
            minimum: 1
            type: integer
          - type: 'null'
          default: null
          description: Volume size in GiB
          title: Size
        snapshot_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Snapshot ID
          title: Snapshot Id
        source:
          $ref: '#/components/schemas/CreateVolumeSource'
          description: One of new-volume, image, snapshot
        type_name:
          anyOf:
          - $ref: '#/components/schemas/VolumeTypeName'
          - type: 'null'
          default: null
          description: One of high iops ssd, standard, cold, ultra, ssd low-latency
      required:
      - source
      title: VolumeOrSnapshotPricingRequestSerializer
      type: object
    VolumeOutputSerializer:
      properties:
        boot_index:
          anyOf:
          - minimum: 0
            type: integer
          - type: 'null'
          description: Boot index of the volume
          examples:
          - 1
          title: Boot Index
        delete_on_termination:
          description: Flag indicating whether the volume is deleted on instance termination
          example: true
          examples:
          - true
          title: Delete On Termination
          type: boolean
        image_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Image ID for the volume
          examples:
          - 3793c250-0b3b-4678-bab3-e11afbc29657
          title: Image Id
        name:
          description: Volume name
          example: my-data-disk
          examples:
          - my-data-disk
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        size:
          description: Volume size in GiB
          example: 100
          examples:
          - 100
          exclusiveMaximum: 102400
          exclusiveMinimum: 0
          title: Size
          type: integer
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id305
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id305
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Volume type
          examples:
          - ssd
      required:
      - size
      - type
      - name
      - tags
      - delete_on_termination
      - boot_index
      - image_id
      title: VolumeOutputSerializer
      type: object
    VolumePriceWithDiscountSerializer:
      properties:
        discount:
          anyOf:
          - type: number
          - type: 'null'
          description: Discount value within range [0..1] where 1 is 100%.
          examples:
          - 0.1
          - 0.02
          - 0.99
          - 0
          title: Discount
        price:
          description: Price for specified category.
          example: 78
          examples:
          - 78
          title: Price
          type: number
        type:
          $ref: '#/components/schemas/AllVolumeTypeEnum'
          description: Type of volume.
          examples:
          - ultra
          - ssd_lowlatency
          - cold
          - ssd_hiiops
      required:
      - type
      - discount
      - price
      title: VolumePriceWithDiscountSerializer
      type: object
    VolumePricingWithDiscountPerPeriodSerializer:
      properties:
        volumes:
          description: Prices of volumes per type over the specified period of time.
          example: &id306
            discount: 0.1
            price: 78
            type: cold
          examples:
          - *id306
          items:
            anyOf:
            - $ref: '#/components/schemas/VolumePriceWithDiscountSerializer'
            - type: 'null'
          title: Volumes
          type: array
      required:
      - volumes
      title: VolumePricingWithDiscountPerPeriodSerializer
      type: object
    VolumeRetypeSerializer:
      description: Volume retype request body schema
      properties:
        volume_type:
          $ref: '#/components/schemas/RetypableVolumeTypeChoices'
          description: New volume type name
          examples:
          - ssd_hiiops
      required:
      - volume_type
      title: VolumeRetypeSerializer
      type: object
    VolumeSerializer:
      properties:
        attachments:
          anyOf:
          - items:
              $ref: '#/components/schemas/VolumeAttachmentSerializer'
            type: array
          - type: 'null'
          default: null
          description: List of attachments associated with the volume.
          title: Attachments
        bootable:
          description: Indicates whether the volume is bootable.
          example: false
          examples:
          - false
          title: Bootable
          type: boolean
        created_at:
          description: The date and time when the volume was created.
          example: 2019-05-29T05:32:41+0000
          examples:
          - 2019-05-29T05:32:41+0000
          format: date-time
          title: Created At
          type: string
        creator_task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The ID of the task that created this volume.
          examples:
          - d74c2bb9-cea7-4b23-a009-2f13518ae66d
          title: Creator Task Id
        id:
          description: The unique identifier of the volume.
          example: 726ecfcc-7fd0-4e30-a86e-7892524aa483
          examples:
          - 726ecfcc-7fd0-4e30-a86e-7892524aa483
          title: Id
          type: string
        is_root_volume:
          description: Indicates whether this is a root volume.
          example: false
          examples:
          - false
          title: Is Root Volume
          type: boolean
        limiter_stats:
          anyOf:
          - $ref: '#/components/schemas/VolumeLimiterStatsSerializer'
          - type: 'null'
          default: null
          description: Quality of Service (QoS) parameters for this volume.
        name:
          description: The name of the volume.
          example: volume-1
          examples:
          - volume-1
          title: Name
          type: string
        project_id:
          description: Project ID.
          example: 1
          examples:
          - 1
          title: Project Id
          type: integer
        region:
          description: The region where the volume is located.
          example: Luxembourg
          examples:
          - Luxembourg
          title: Region
          type: string
        region_id:
          description: The identifier of the region.
          example: 1
          examples:
          - 1
          title: Region Id
          type: integer
        size:
          description: The size of the volume in gibibytes (GiB).
          example: 50
          examples:
          - 50
          title: Size
          type: integer
        snapshot_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: List of snapshot IDs associated with this volume.
          title: Snapshot Ids
        status:
          $ref: '#/components/schemas/VolumeStatus'
          description: The current status of the volume.
          examples:
          - available
        tags:
          description: List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.
          example: &id307
          - key: my-tag
            read_only: false
            value: my-tag-value
          examples:
          - *id307
          items:
            $ref: '#/components/schemas/TagSerializer'
          title: Tags
          type: array
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          title: Task Id
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          default: null
          description: The date and time when the volume was last updated.
          examples:
          - 2019-05-29T05:39:20+0000
          title: Updated At
        volume_image_metadata:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          default: null
          description: Image metadata for volumes created from an image.
          examples:
          - checksum: ba3cd24377dde5dfdd58728894004abb
            container_format: bare
            disk_format: raw
            image_id: 723037e2-ec6d-47eb-92de-6276c8907839
            image_name: cirros-gcloud
            min_disk: '1'
            min_ram: '0'
            size: '46137344'
          title: Volume Image Metadata
        volume_type:
          description: The type of volume storage.
          example: standard
          examples:
          - standard
          title: Volume Type
          type: string
      required:
      - bootable
      - created_at
      - id
      - is_root_volume
      - tags
      - name
      - project_id
      - region
      - region_id
      - size
      - status
      - volume_type
      title: VolumeSerializer
      type: object
    VolumeSource:
      enum:
      - apptemplate
      - existing-volume
      - image
      - new-volume
      - snapshot
      title: VolumeSource
      type: string
    VolumeStatus:
      enum:
      - attaching
      - available
      - awaiting-transfer
      - backing-up
      - creating
      - deleting
      - detaching
      - downloading
      - error
      - error_backing-up
      - error_deleting
      - error_extending
      - error_restoring
      - extending
      - in-use
      - maintenance
      - reserved
      - restoring-backup
      - retyping
      - reverting
      - uploading
      title: VolumeStatus
      type: string
    VolumeType:
      enum:
      - cold
      - ssd_hiiops
      - ssd_local
      - ssd_lowlatency
      - standard
      - ultra
      title: VolumeType
      type: string
    VolumeTypeName:
      enum:
      - cold
      - ssd_hiiops
      - ssd_local
      - ssd_lowlatency
      - standard
      - ultra
      title: VolumeTypeName
      type: string
    Zone:
      enum:
      - AMERICAS
      - APAC
      - EMEA
      - RUSSIA_AND_CIS
      title: Zone
      type: string
    _CheckLimitsInterfaceSerializer:
      properties:
        floating_ip:
          $ref: '#/components/schemas/_FloatingIp'
          examples:
          - existing_floating_id: c64e5db1-5f1f-43ec-a8d9-5090df85b82d
            source: existing
        ip_family:
          anyOf:
          - $ref: '#/components/schemas/InterfaceIPFamily'
          - type: 'null'
          default: null
        network_id:
          example: ddc28e44-2acb-499b-985b-831f29432e1c
          examples:
          - ddc28e44-2acb-499b-985b-831f29432e1c
          format: uuid4
          title: Network Id
          type: string
        port_id:
          example: ff83e13a-b256-4be2-ba5d-028d3f0ab450
          examples:
          - ff83e13a-b256-4be2-ba5d-028d3f0ab450
          format: uuid4
          title: Port Id
          type: string
        subnet_id:
          example: 2731a56e-a5c9-44be-80c2-02c57c594573
          examples:
          - 2731a56e-a5c9-44be-80c2-02c57c594573
          format: uuid4
          title: Subnet Id
          type: string
        type:
          $ref: '#/components/schemas/Interfaces'
          examples:
          - subnet
      required:
      - type
      title: _CheckLimitsInterfaceSerializer
      type: object
    _FloatingIp:
      properties:
        existing_floating_id:
          example: 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          examples:
          - 57be69f6-6f6a-4f03-a4ad-8eb86c69ec0a
          format: uuid4
          title: Existing Floating Id
          type: string
        source:
          $ref: '#/components/schemas/FloatingIpSource'
          examples:
          - existing
      required:
      - source
      title: _FloatingIp
      type: object
  responses:
    ProblemBadRequestOnReadWithLegacyKeys:
      description: The request cannot succeed as it is. `type` is `validation-error` or `not-available`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemBadRequestWithLegacyKeys:
      description: The request cannot succeed as it is. `type` is `validation-error`, `resource-in-use`, `quota-exceeded` or `not-available`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemConflictWithLegacyKeys:
      description: The resource is in a transient state. `type` is `resource-busy`. Send the same request again after the `Retry-After` seconds.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
    ProblemForbiddenWithLegacyKeys:
      description: The credentials do not permit the operation, or another service manages the resource. `type` is `permission-denied`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemInternalServerErrorWithLegacyKeys:
      description: The server cannot complete the request. `type` is `internal-server-error`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemNotFoundWithLegacyKeys:
      description: The resource or the URL does not exist. `type` is `not-found`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemServiceUnavailableWithLegacyKeys:
      description: The service is down for a known reason, such as planned maintenance. `type` is `service-unavailable`. A 503 without the `application/problem+json` media type, and every 502 and 504, comes from the gateway and has no problem body.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
    ProblemUnauthorizedWithLegacyKeys:
      description: The request has no valid credentials. `type` is `unauthorized`.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemWithLegacyKeys'
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
  headers:
    ContentLanguage:
      description: The language of `title`, `detail`, `hint` and `errors[].detail`, from the `Accept-Language` of the request. Any other field is the same in every language.
      schema:
        type: string
        enum:
        - en
        - de
        - ru
        - az
        - zh
        - fr
        - es
        - pt
        - ko
        - ja
        - tr
    RequestId:
      description: The ID of the request, the same as `request_id` in the body.
      schema:
        type: string
    RetryAfter:
      description: The number of seconds to wait before the client sends the same request again.
      schema:
        type: integer
        minimum: 0
        maximum: 60
  securitySchemes:
    APIKey:
      description: |-
        API key for authentication. Make sure to include the word `apikey`, followed by a single space and then your token.
        Example: `apikey 1234_abcdef`
      type: apiKey
      in: header
      name: Authorization
tags:
- name: Bare Metal
- name: Container as a Service
- name: Cost Reports
- name: DDoS Protection
- name: Everywhere Inference
- name: Everywhere Inference Apps
- name: File Shares
- name: Floating IPs
- name: Function as a Service
- name: GPU Bare Metal
- name: GPU Virtual
- name: IP Ranges
- name: Images
- name: Instances
- name: Load Balancers
- name: Logging
- name: Managed Kubernetes
- name: Managed PostgreSQL
- name: Networks
- name: Placement Groups
- name: Ports
- name: Pricing
- name: Projects
- name: Quotas
- name: Regions
- name: Registry
- name: Reservations
- name: Reserved IPs
- name: Routers
- name: SSH Keys
- name: Secrets
- name: Security Groups
- name: Snapshot Schedules
- name: Snapshots
- name: Tasks
- name: User Actions
- name: User Role Assignments
- name: Volumes
x-tagGroups:
- name: Cloud API
  tags:
  - Bare Metal
  - Container as a Service
  - Cost Reports
  - DDoS Protection
  - Everywhere Inference
  - Everywhere Inference Apps
  - File Shares
  - Floating IPs
  - Function as a Service
  - GPU Bare Metal
  - GPU Virtual
  - IP Ranges
  - Images
  - Instances
  - Load Balancers
  - Logging
  - Managed Kubernetes
  - Managed PostgreSQL
  - Networks
  - Placement Groups
  - Ports
  - Pricing
  - Projects
  - Quotas
  - Regions
  - Registry
  - Reservations
  - Reserved IPs
  - Routers
  - SSH Keys
  - Secrets
  - Security Groups
  - Snapshot Schedules
  - Snapshots
  - Tasks
  - User Actions
  - User Role Assignments
  - Volumes
security:
- APIKey: []
